#include <Cloth.h>
Public Member Functions | |
virtual void | clearInertia ()=0 |
Set inertia derived from setTranslation() and setRotation() to zero (once). | |
virtual void | clearInterpolation ()=0 |
virtual void | clearMotionConstraints ()=0 |
Removes all motion constraints. | |
virtual void | clearParticleAccelerations ()=0 |
virtual void | clearSeparationConstraints ()=0 |
virtual Cloth * | clone (Factory &factory) const =0 |
Creates a duplicate of this Cloth instance. | |
virtual void | enableContinuousCollision (bool)=0 |
Set if we use ccd or not (disabled by default). | |
virtual uint32_t | getAccelerationFilterWidth () const =0 |
virtual physx::PxVec3 | getAngularDrag () const =0 |
virtual physx::PxVec3 | getAngularInertia () const =0 |
Returns value set with setAngularInertia(). | |
virtual const physx::PxVec3 & | getBoundingBoxCenter () const =0 |
Returns current particle position bounds center in local space. | |
virtual const physx::PxVec3 & | getBoundingBoxScale () const =0 |
Returns current particle position bounds size in local space. | |
virtual physx::PxVec3 | getCentrifugalInertia () const =0 |
Returns value set with setCentrifugalInertia(). | |
virtual float | getCollisionMassScale () const =0 |
virtual MappedRange< const physx::PxVec4 > | getCurrentParticles () const =0 |
Returns the simulation particles of the current frame, read only. | |
virtual MappedRange < physx::PxVec4 > | getCurrentParticles ()=0 |
Returns the simulation particles of the current frame. | |
virtual physx::PxVec3 | getDamping () const =0 |
Returns value set with setDamping(). | |
virtual float | getDragCoefficient () const =0 |
Returns value set with setDragCoefficient(). | |
virtual Fabric & | getFabric () const =0 |
Returns the fabric used to create this Cloth. | |
virtual Factory & | getFactory () const =0 |
Returns the Factory used to create this Cloth. | |
virtual float | getFluidDensity () const =0 |
Returns value set with setFluidDensity(). | |
virtual float | getFriction () const =0 |
Returns value set with setFriction(). | |
virtual GpuParticles | getGpuParticles ()=0 |
Returns platform dependent pointers to the current GPU particle memory. | |
virtual physx::PxVec3 | getGravity () const =0 |
Returns gravity set with setGravity(). | |
virtual float | getLiftCoefficient () const =0 |
Returns value set with setLiftCoefficient(). | |
virtual physx::PxVec3 | getLinearDrag () const =0 |
virtual physx::PxVec3 | getLinearInertia () const =0 |
Returns value set with getLinearInertia(). | |
virtual float | getMotionConstraintBias () const =0 |
virtual Range< physx::PxVec4 > | getMotionConstraints ()=0 |
Returns reference to motion constraints (position, radius) The entire range must be written after calling this function. | |
virtual float | getMotionConstraintScale () const =0 |
virtual float | getMotionConstraintStiffness () const =0 |
virtual uint32_t | getNumCapsules () const =0 |
Returns the number of capsules (which is half the number of capsule indices). | |
virtual uint32_t | getNumConvexes () const =0 |
Returns the number of convexMasks currently set. | |
virtual uint32_t | getNumMotionConstraints () const =0 |
virtual uint32_t | getNumParticleAccelerations () const =0 |
virtual uint32_t | getNumParticles () const =0 |
Returns the number of particles simulated by this fabric. | |
virtual uint32_t | getNumPlanes () const =0 |
Returns the number of planes currently set. | |
virtual uint32_t | getNumRestPositions () const =0 |
virtual uint32_t | getNumSelfCollisionIndices () const =0 |
Returns the number of self collision indices set. | |
virtual uint32_t | getNumSeparationConstraints () const =0 |
virtual uint32_t | getNumSpheres () const =0 |
Returns the number of spheres currently set. | |
virtual uint32_t | getNumTriangles () const =0 |
Returns the number of triangles currently set. | |
virtual uint32_t | getNumVirtualParticles () const =0 |
virtual uint32_t | getNumVirtualParticleWeights () const =0 |
virtual Range< physx::PxVec4 > | getParticleAccelerations ()=0 |
virtual float | getPreviousIterationDt () const =0 |
Returns the delta time used for previous iteration. | |
virtual MappedRange< const physx::PxVec4 > | getPreviousParticles () const =0 |
Returns the simulation particles of the previous frame. | |
virtual MappedRange < physx::PxVec4 > | getPreviousParticles ()=0 |
Returns the simulation particles of the previous frame. | |
virtual const physx::PxQuat & | getRotation () const =0 |
Returns the current rotation value that was set using setRotation(). | |
virtual float | getSelfCollisionDistance () const =0 |
Returns value set with setSelfCollisionDistance(). | |
virtual float | getSelfCollisionStiffness () const =0 |
Returns value set with setSelfCollisionStiffness(). | |
virtual Range< physx::PxVec4 > | getSeparationConstraints ()=0 |
virtual uint32_t | getSleepAfterCount () const =0 |
virtual uint32_t | getSleepPassCount () const =0 |
virtual uint32_t | getSleepTestInterval () const =0 |
virtual float | getSleepThreshold () const =0 |
virtual float | getSolverFrequency () const =0 |
Returns gravity set with getSolverFrequency().*/. | |
virtual float | getStiffnessFrequency () const =0 |
virtual float | getTetherConstraintScale () const =0 |
Returns value set with setTetherConstraintScale(). | |
virtual float | getTetherConstraintStiffness () const =0 |
Returns value set with setTetherConstraintStiffness(). | |
virtual const physx::PxVec3 & | getTranslation () const =0 |
Returns the current translation value that was set using setTranslation(). | |
virtual void * | getUserData () const =0 |
virtual physx::PxVec3 | getWindVelocity () const =0 |
Returns value set with setWindVelocity(). | |
virtual bool | isAsleep () const =0 |
virtual bool | isContinuousCollisionEnabled () const =0 |
Returns true if we use ccd. | |
virtual void | lockParticles () const =0 |
Used internally to synchronize CPU and GPU particle memory. | |
virtual void | putToSleep ()=0 |
virtual void | setAcceleationFilterWidth (uint32_t)=0 |
virtual void | setAngularDrag (const physx::PxVec3 &)=0 |
virtual void | setAngularInertia (const physx::PxVec3 &)=0 |
Similar to setLinearInertia(), but for angular inertia. | |
virtual void | setCapsules (Range< const uint32_t > capsules, uint32_t first, uint32_t last)=0 |
Set indices for capsule collision detection. | |
virtual void | setCentrifugalInertia (const physx::PxVec3 &)=0 |
Similar to setLinearInertia(), but for centrifugal inertia. | |
virtual void | setCollisionMassScale (float)=0 |
virtual void | setConvexes (Range< const uint32_t > convexMasks, uint32_t first, uint32_t last)=0 |
Enable planes for collision. | |
virtual void | setDamping (const physx::PxVec3 &)=0 |
Sets damping of local particle velocity (1/stiffnessFrequency). | |
virtual void | setDragCoefficient (float)=0 |
/brief Sets the air drag coefficient. | |
virtual void | setFluidDensity (float)=0 |
/brief Sets the fluid density used for air drag/lift calculations. | |
virtual void | setFriction (float)=0 |
Set the cloth collision shape friction coefficient. | |
virtual void | setGravity (const physx::PxVec3 &)=0 |
Sets gravity in global coordinates. | |
virtual void | setLiftCoefficient (float)=0 |
/brief Sets the air lift coefficient. | |
virtual void | setLinearDrag (const physx::PxVec3 &)=0 |
virtual void | setLinearInertia (const physx::PxVec3 &)=0 |
Set the portion of local frame linear acceleration applied to particles. | |
virtual void | setMotionConstraintScaleBias (float scale, float bias)=0 |
virtual void | setMotionConstraintStiffness (float stiffness)=0 |
virtual void | setPhaseConfig (Range< const PhaseConfig > configs)=0 |
virtual void | setPlanes (Range< const physx::PxVec4 > planes, uint32_t first, uint32_t last)=0 |
Sets plane values to be used with convex collision detection. | |
virtual void | setRestPositions (Range< const physx::PxVec4 >)=0 |
virtual void | setRotation (const physx::PxQuat &rot)=0 |
Set the rotation of the local space simulation after next call to simulate(). | |
virtual void | setSelfCollisionDistance (float distance)=0 |
/brief Set the distance particles need to be separated from each other withing the cloth. | |
virtual void | setSelfCollisionIndices (Range< const uint32_t >)=0 |
Set self collision indices. | |
virtual void | setSelfCollisionStiffness (float stiffness)=0 |
/brief Set the constraint stiffness for the self collision constraints. | |
virtual void | setSleepAfterCount (uint32_t)=0 |
virtual void | setSleepTestInterval (uint32_t)=0 |
virtual void | setSleepThreshold (float)=0 |
virtual void | setSolverFrequency (float)=0 |
Set target solver iterations per second. | |
virtual void | setSpheres (Range< const physx::PxVec4 > spheres, uint32_t first, uint32_t last)=0 |
Set spheres for collision detection. | |
virtual void | setStiffnessFrequency (float)=0 |
virtual void | setTetherConstraintScale (float scale)=0 |
Set Tether constraint scale. | |
virtual void | setTetherConstraintStiffness (float stiffness)=0 |
Set Tether constraint stiffness. | |
virtual void | setTranslation (const physx::PxVec3 &trans)=0 |
Set the translation of the local space simulation after next call to simulate(). | |
virtual void | setTriangles (Range< const physx::PxVec3 > triangles, Range< const physx::PxVec3 >, uint32_t first)=0 |
virtual void | setTriangles (Range< const physx::PxVec3 > triangles, uint32_t first, uint32_t last)=0 |
Set triangles for collision. | |
virtual void | setUserData (void *)=0 |
Set user data. | |
virtual void | setVirtualParticles (Range< const uint32_t[4]> indices, Range< const physx::PxVec3 > weights)=0 |
virtual void | setWindVelocity (physx::PxVec3)=0 |
/brief Set wind in global coordinates. | |
virtual void | teleport (const physx::PxVec3 &delta)=0 |
Adjust the position of the cloth without affecting the dynamics (to call after a world origin shift, for example). | |
virtual void | unlockParticles () const =0 |
Used internally to synchronize CPU and GPU particle memory. | |
virtual void | wakeUp ()=0 |
virtual | ~Cloth () |
Protected Member Functions | |
Cloth (const Cloth &) | |
Cloth () | |
Cloth & | operator= (const Cloth &) |
nv::cloth::Cloth::Cloth | ( | ) | [inline, protected] |
nv::cloth::Cloth::Cloth | ( | const Cloth & | ) | [protected] |
virtual nv::cloth::Cloth::~Cloth | ( | ) | [inline, virtual] |
virtual void nv::cloth::Cloth::clearInertia | ( | ) | [pure virtual] |
Set inertia derived from setTranslation() and setRotation() to zero (once).
virtual void nv::cloth::Cloth::clearInterpolation | ( | ) | [pure virtual] |
virtual void nv::cloth::Cloth::clearMotionConstraints | ( | ) | [pure virtual] |
Removes all motion constraints.
virtual void nv::cloth::Cloth::clearParticleAccelerations | ( | ) | [pure virtual] |
virtual void nv::cloth::Cloth::clearSeparationConstraints | ( | ) | [pure virtual] |
virtual void nv::cloth::Cloth::enableContinuousCollision | ( | bool | ) | [pure virtual] |
Set if we use ccd or not (disabled by default).
virtual uint32_t nv::cloth::Cloth::getAccelerationFilterWidth | ( | ) | const [pure virtual] |
virtual physx::PxVec3 nv::cloth::Cloth::getAngularDrag | ( | ) | const [pure virtual] |
virtual physx::PxVec3 nv::cloth::Cloth::getAngularInertia | ( | ) | const [pure virtual] |
Returns value set with setAngularInertia().
virtual const physx::PxVec3& nv::cloth::Cloth::getBoundingBoxCenter | ( | ) | const [pure virtual] |
Returns current particle position bounds center in local space.
virtual const physx::PxVec3& nv::cloth::Cloth::getBoundingBoxScale | ( | ) | const [pure virtual] |
Returns current particle position bounds size in local space.
virtual physx::PxVec3 nv::cloth::Cloth::getCentrifugalInertia | ( | ) | const [pure virtual] |
Returns value set with setCentrifugalInertia().
virtual float nv::cloth::Cloth::getCollisionMassScale | ( | ) | const [pure virtual] |
virtual MappedRange<const physx::PxVec4> nv::cloth::Cloth::getCurrentParticles | ( | ) | const [pure virtual] |
Returns the simulation particles of the current frame, read only.
Similar to the non-const version of this function. This version is preferred as it doesn't wake up the cloth to account for the possibility that particles were changed.
virtual MappedRange<physx::PxVec4> nv::cloth::Cloth::getCurrentParticles | ( | ) | [pure virtual] |
Returns the simulation particles of the current frame.
Each PxVec4 element contains the particle position in the XYZ components and the inverse mass in the W component. The returned memory may be overwritten (to change attachment point locations for animation for example). Setting the inverse mass to 0 locks the particle in place.
virtual physx::PxVec3 nv::cloth::Cloth::getDamping | ( | ) | const [pure virtual] |
Returns value set with setDamping().
virtual float nv::cloth::Cloth::getDragCoefficient | ( | ) | const [pure virtual] |
Returns value set with setDragCoefficient().
virtual Fabric& nv::cloth::Cloth::getFabric | ( | ) | const [pure virtual] |
Returns the fabric used to create this Cloth.
virtual Factory& nv::cloth::Cloth::getFactory | ( | ) | const [pure virtual] |
virtual float nv::cloth::Cloth::getFluidDensity | ( | ) | const [pure virtual] |
Returns value set with setFluidDensity().
virtual float nv::cloth::Cloth::getFriction | ( | ) | const [pure virtual] |
Returns value set with setFriction().
virtual GpuParticles nv::cloth::Cloth::getGpuParticles | ( | ) | [pure virtual] |
Returns platform dependent pointers to the current GPU particle memory.
virtual physx::PxVec3 nv::cloth::Cloth::getGravity | ( | ) | const [pure virtual] |
Returns gravity set with setGravity().
virtual float nv::cloth::Cloth::getLiftCoefficient | ( | ) | const [pure virtual] |
Returns value set with setLiftCoefficient().
virtual physx::PxVec3 nv::cloth::Cloth::getLinearDrag | ( | ) | const [pure virtual] |
virtual physx::PxVec3 nv::cloth::Cloth::getLinearInertia | ( | ) | const [pure virtual] |
Returns value set with getLinearInertia().
virtual float nv::cloth::Cloth::getMotionConstraintBias | ( | ) | const [pure virtual] |
virtual Range<physx::PxVec4> nv::cloth::Cloth::getMotionConstraints | ( | ) | [pure virtual] |
Returns reference to motion constraints (position, radius) The entire range must be written after calling this function.
virtual float nv::cloth::Cloth::getMotionConstraintScale | ( | ) | const [pure virtual] |
virtual float nv::cloth::Cloth::getMotionConstraintStiffness | ( | ) | const [pure virtual] |
virtual uint32_t nv::cloth::Cloth::getNumCapsules | ( | ) | const [pure virtual] |
Returns the number of capsules (which is half the number of capsule indices).
virtual uint32_t nv::cloth::Cloth::getNumConvexes | ( | ) | const [pure virtual] |
Returns the number of convexMasks currently set.
virtual uint32_t nv::cloth::Cloth::getNumMotionConstraints | ( | ) | const [pure virtual] |
virtual uint32_t nv::cloth::Cloth::getNumParticleAccelerations | ( | ) | const [pure virtual] |
virtual uint32_t nv::cloth::Cloth::getNumParticles | ( | ) | const [pure virtual] |
Returns the number of particles simulated by this fabric.
virtual uint32_t nv::cloth::Cloth::getNumPlanes | ( | ) | const [pure virtual] |
Returns the number of planes currently set.
virtual uint32_t nv::cloth::Cloth::getNumRestPositions | ( | ) | const [pure virtual] |
virtual uint32_t nv::cloth::Cloth::getNumSelfCollisionIndices | ( | ) | const [pure virtual] |
Returns the number of self collision indices set.
virtual uint32_t nv::cloth::Cloth::getNumSeparationConstraints | ( | ) | const [pure virtual] |
virtual uint32_t nv::cloth::Cloth::getNumSpheres | ( | ) | const [pure virtual] |
Returns the number of spheres currently set.
virtual uint32_t nv::cloth::Cloth::getNumTriangles | ( | ) | const [pure virtual] |
Returns the number of triangles currently set.
virtual uint32_t nv::cloth::Cloth::getNumVirtualParticles | ( | ) | const [pure virtual] |
virtual uint32_t nv::cloth::Cloth::getNumVirtualParticleWeights | ( | ) | const [pure virtual] |
virtual Range<physx::PxVec4> nv::cloth::Cloth::getParticleAccelerations | ( | ) | [pure virtual] |
virtual float nv::cloth::Cloth::getPreviousIterationDt | ( | ) | const [pure virtual] |
Returns the delta time used for previous iteration.
virtual MappedRange<const physx::PxVec4> nv::cloth::Cloth::getPreviousParticles | ( | ) | const [pure virtual] |
Returns the simulation particles of the previous frame.
Similar to getCurrentParticles() const.
virtual MappedRange<physx::PxVec4> nv::cloth::Cloth::getPreviousParticles | ( | ) | [pure virtual] |
Returns the simulation particles of the previous frame.
Similar to getCurrentParticles().
virtual const physx::PxQuat& nv::cloth::Cloth::getRotation | ( | ) | const [pure virtual] |
Returns the current rotation value that was set using setRotation().
virtual float nv::cloth::Cloth::getSelfCollisionDistance | ( | ) | const [pure virtual] |
Returns value set with setSelfCollisionDistance().
virtual float nv::cloth::Cloth::getSelfCollisionStiffness | ( | ) | const [pure virtual] |
Returns value set with setSelfCollisionStiffness().
virtual Range<physx::PxVec4> nv::cloth::Cloth::getSeparationConstraints | ( | ) | [pure virtual] |
virtual uint32_t nv::cloth::Cloth::getSleepAfterCount | ( | ) | const [pure virtual] |
virtual uint32_t nv::cloth::Cloth::getSleepPassCount | ( | ) | const [pure virtual] |
virtual uint32_t nv::cloth::Cloth::getSleepTestInterval | ( | ) | const [pure virtual] |
virtual float nv::cloth::Cloth::getSleepThreshold | ( | ) | const [pure virtual] |
virtual float nv::cloth::Cloth::getSolverFrequency | ( | ) | const [pure virtual] |
Returns gravity set with getSolverFrequency().*/.
virtual float nv::cloth::Cloth::getStiffnessFrequency | ( | ) | const [pure virtual] |
virtual float nv::cloth::Cloth::getTetherConstraintScale | ( | ) | const [pure virtual] |
Returns value set with setTetherConstraintScale().
virtual float nv::cloth::Cloth::getTetherConstraintStiffness | ( | ) | const [pure virtual] |
Returns value set with setTetherConstraintStiffness().
virtual const physx::PxVec3& nv::cloth::Cloth::getTranslation | ( | ) | const [pure virtual] |
Returns the current translation value that was set using setTranslation().
virtual void* nv::cloth::Cloth::getUserData | ( | ) | const [pure virtual] |
virtual physx::PxVec3 nv::cloth::Cloth::getWindVelocity | ( | ) | const [pure virtual] |
Returns value set with setWindVelocity().
virtual bool nv::cloth::Cloth::isAsleep | ( | ) | const [pure virtual] |
virtual bool nv::cloth::Cloth::isContinuousCollisionEnabled | ( | ) | const [pure virtual] |
Returns true if we use ccd.
virtual void nv::cloth::Cloth::lockParticles | ( | ) | const [pure virtual] |
Used internally to synchronize CPU and GPU particle memory.
virtual void nv::cloth::Cloth::putToSleep | ( | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setAcceleationFilterWidth | ( | uint32_t | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setAngularDrag | ( | const physx::PxVec3 & | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setAngularInertia | ( | const physx::PxVec3 & | ) | [pure virtual] |
Similar to setLinearInertia(), but for angular inertia.
virtual void nv::cloth::Cloth::setCapsules | ( | Range< const uint32_t > | capsules, | |
uint32_t | first, | |||
uint32_t | last | |||
) | [pure virtual] |
Set indices for capsule collision detection.
The indices define the spheres that form the end points between the capsule. Every two elements in capsules define one capsule. The values currently in range[first, last[ will be replaced with the content of capsules. Note that first and last are indices to whole capsules consisting of 2 indices each. So if you want to update the first two capsules (without changing the total number of capsules) you would use the following code:
uint32_t capsules[4] = { 0,1, 1,2 }; //Define indices for 2 capsules //updates the indices of the first 2 capsules in cloth cloth->setCapsules(Range<const uint32_t>(capsules, capsules + 4), 0, 2);
virtual void nv::cloth::Cloth::setCentrifugalInertia | ( | const physx::PxVec3 & | ) | [pure virtual] |
Similar to setLinearInertia(), but for centrifugal inertia.
virtual void nv::cloth::Cloth::setCollisionMassScale | ( | float | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setConvexes | ( | Range< const uint32_t > | convexMasks, | |
uint32_t | first, | |||
uint32_t | last | |||
) | [pure virtual] |
Enable planes for collision.
convexMasks must contain masks of the form (1<<planeIndex1)|(1<<planeIndex2)|...|(1<<planeIndexN). All planes masked in a single element of convexMasks form a single convex polyhedron. The values currently in range [first, last[ will be replaced with the content of convexMasks.
virtual void nv::cloth::Cloth::setDamping | ( | const physx::PxVec3 & | ) | [pure virtual] |
Sets damping of local particle velocity (1/stiffnessFrequency).
0 (default): velocity is unaffected, 1: velocity is zeroed
virtual void nv::cloth::Cloth::setDragCoefficient | ( | float | ) | [pure virtual] |
/brief Sets the air drag coefficient.
virtual void nv::cloth::Cloth::setFluidDensity | ( | float | ) | [pure virtual] |
/brief Sets the fluid density used for air drag/lift calculations.
virtual void nv::cloth::Cloth::setFriction | ( | float | ) | [pure virtual] |
Set the cloth collision shape friction coefficient.
virtual void nv::cloth::Cloth::setGravity | ( | const physx::PxVec3 & | ) | [pure virtual] |
Sets gravity in global coordinates.
virtual void nv::cloth::Cloth::setLiftCoefficient | ( | float | ) | [pure virtual] |
/brief Sets the air lift coefficient.
virtual void nv::cloth::Cloth::setLinearDrag | ( | const physx::PxVec3 & | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setLinearInertia | ( | const physx::PxVec3 & | ) | [pure virtual] |
Set the portion of local frame linear acceleration applied to particles.
0: particles are unaffected, 1 (default): physically correct.
virtual void nv::cloth::Cloth::setMotionConstraintScaleBias | ( | float | scale, | |
float | bias | |||
) | [pure virtual] |
virtual void nv::cloth::Cloth::setMotionConstraintStiffness | ( | float | stiffness | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setPhaseConfig | ( | Range< const PhaseConfig > | configs | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setPlanes | ( | Range< const physx::PxVec4 > | planes, | |
uint32_t | first, | |||
uint32_t | last | |||
) | [pure virtual] |
Sets plane values to be used with convex collision detection.
The planes are specified in the form ax + by + cz + d = 0, where elements in planes contain PxVec4(x,y,z,d). [x,y,z] is required to be normalized. The values currently in range [first, last[ will be replaced with the content of planes. Use setConvexes to enable planes for collision detection.
virtual void nv::cloth::Cloth::setRestPositions | ( | Range< const physx::PxVec4 > | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setRotation | ( | const physx::PxQuat & | rot | ) | [pure virtual] |
Set the rotation of the local space simulation after next call to simulate().
Similar to Cloth::setTranslation(). The applied force is proportional to the value set with Cloth::setAngularInertia() and Cloth::setCentrifugalInertia().
virtual void nv::cloth::Cloth::setSelfCollisionDistance | ( | float | distance | ) | [pure virtual] |
/brief Set the distance particles need to be separated from each other withing the cloth.
virtual void nv::cloth::Cloth::setSelfCollisionIndices | ( | Range< const uint32_t > | ) | [pure virtual] |
Set self collision indices.
Each index in the range indicates that the particle at that index should be used for self collision. If set to an empty range (default) all particles will be used.
virtual void nv::cloth::Cloth::setSelfCollisionStiffness | ( | float | stiffness | ) | [pure virtual] |
/brief Set the constraint stiffness for the self collision constraints.
virtual void nv::cloth::Cloth::setSleepAfterCount | ( | uint32_t | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setSleepTestInterval | ( | uint32_t | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setSleepThreshold | ( | float | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setSolverFrequency | ( | float | ) | [pure virtual] |
Set target solver iterations per second.
At least 1 iteration per frame will be solved regardless of the value set.
virtual void nv::cloth::Cloth::setSpheres | ( | Range< const physx::PxVec4 > | spheres, | |
uint32_t | first, | |||
uint32_t | last | |||
) | [pure virtual] |
Set spheres for collision detection.
Elements of spheres contain PxVec4(x,y,z,r) where [x,y,z] is the center and r the radius of the sphere. The values currently in range[first, last[ will be replaced with the content of spheres.
cloth->setSpheres(Range<const PxVec4>(), 0, cloth->getNumSpheres()); //Removes all spheres
virtual void nv::cloth::Cloth::setStiffnessFrequency | ( | float | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setTetherConstraintScale | ( | float | scale | ) | [pure virtual] |
virtual void nv::cloth::Cloth::setTetherConstraintStiffness | ( | float | stiffness | ) | [pure virtual] |
Set Tether constraint stiffness.
1.0 is the default. <1.0 makes the constraints behave springy.
virtual void nv::cloth::Cloth::setTranslation | ( | const physx::PxVec3 & | trans | ) | [pure virtual] |
Set the translation of the local space simulation after next call to simulate().
This applies a force to make the cloth behave as if it was moved through space. This does not move the particles as they are in local space. Use the graphics transformation matrices to render the cloth in the proper location. The applied force is proportional to the value set with Cloth::setLinearInertia().
virtual void nv::cloth::Cloth::setTriangles | ( | Range< const physx::PxVec3 > | triangles, | |
Range< const physx::PxVec3 > | , | |||
uint32_t | first | |||
) | [pure virtual] |
virtual void nv::cloth::Cloth::setTriangles | ( | Range< const physx::PxVec3 > | triangles, | |
uint32_t | first, | |||
uint32_t | last | |||
) | [pure virtual] |
Set triangles for collision.
Each triangle in the list is defined by of 3 vertices. The values currently in range [first, last[ will be replaced with the content of triangles.
virtual void nv::cloth::Cloth::setUserData | ( | void * | ) | [pure virtual] |
Set user data.
Not used internally.
virtual void nv::cloth::Cloth::setVirtualParticles | ( | Range< const uint32_t[4]> | indices, | |
Range< const physx::PxVec3 > | weights | |||
) | [pure virtual] |
virtual void nv::cloth::Cloth::setWindVelocity | ( | physx::PxVec3 | ) | [pure virtual] |
/brief Set wind in global coordinates.
Acts on the fabric's triangles.
virtual void nv::cloth::Cloth::teleport | ( | const physx::PxVec3 & | delta | ) | [pure virtual] |
Adjust the position of the cloth without affecting the dynamics (to call after a world origin shift, for example).
virtual void nv::cloth::Cloth::unlockParticles | ( | ) | const [pure virtual] |
Used internally to synchronize CPU and GPU particle memory.
virtual void nv::cloth::Cloth::wakeUp | ( | ) | [pure virtual] |