diff options
Diffstat (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/classPxCloth.html')
| -rw-r--r-- | PhysX_3.4/Documentation/PhysXAPI/files/classPxCloth.html | 3387 |
1 files changed, 3387 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/classPxCloth.html b/PhysX_3.4/Documentation/PhysXAPI/files/classPxCloth.html new file mode 100644 index 00000000..09ad7564 --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/classPxCloth.html @@ -0,0 +1,3387 @@ +<html> + <head> + <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCloth Class Reference</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <LINK HREF="NVIDIA.css" REL="stylesheet" TYPE="text/css"> + </head> + + <body bgcolor="#FFFFFF"> + <div id="header"> + <hr class="first"> + <img alt="" src="images/PhysXlogo.png" align="middle"> <br> + <center> + <a class="qindex" href="main.html">Main Page</a> + <a class="qindex" href="hierarchy.html">Class Hierarchy</a> + <a class="qindex" href="annotated.html">Compound List</a> + <a class="qindex" href="functions.html">Compound Members</a> + </center> + <hr class="second"> + </div> +<!-- Generated by Doxygen 1.5.8 --> +<div class="contents"> +<h1>PxCloth Class Reference<br> +<small> +[<a class="el" href="group__cloth.html">Cloth</a>]</small> +</h1><!-- doxytag: class="PxCloth" --><!-- doxytag: inherits="PxActor" -->Set of connected particles tailored towards simulating character cloth. +<a href="#_details">More...</a> +<p> +<code>#include <<a class="el" href="PxCloth_8h-source.html">PxCloth.h</a>></code> +<p> +<div class="dynheader"> +Inheritance diagram for PxCloth:</div> +<div class="dynsection"> +<p><center><img src="classPxCloth__inherit__graph.png" border="0" usemap="#PxCloth__inherit__map" alt="Inheritance graph"></center> +<map name="PxCloth__inherit__map"> +<area shape="rect" href="classPxActor.html" title="PxActor is the base class for the main simulation objects in the physics SDK." alt="PxActor" coords="8,85,61,106"><area shape="rect" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection." alt="PxBase" coords="7,16,63,37"></map> +<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> +<div class="dynheader"> +Collaboration diagram for PxCloth:</div> +<div class="dynsection"> +<p><center><img src="classPxCloth__coll__graph.png" border="0" usemap="#PxCloth__coll__map" alt="Collaboration graph"></center> +<map name="PxCloth__coll__map"> +<area shape="rect" href="classPxActor.html" title="PxActor is the base class for the main simulation objects in the physics SDK." alt="PxActor" coords="99,178,152,200"><area shape="rect" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection." alt="PxBase" coords="97,106,153,128"><area shape="rect" href="classPxFlags.html" title="PxFlags\< PxBaseFlag::Enum, PxU16 \>" alt="PxFlags\< PxBaseFlag::Enum, PxU16 \>" coords="7,16,244,37"></map> +<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> + +<p> +<a href="classPxCloth-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#8c77284f1e296248cd061a7960831780">release</a> ()=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Deletes the cloth. Do not keep a reference to the deleted instance. <a href="#8c77284f1e296248cd061a7960831780"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxClothFabric.html">PxClothFabric</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#86d652836f7ea8fff1ee8d28daf38769">getFabric</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a pointer to the corresponding cloth fabric. <a href="#86d652836f7ea8fff1ee8d28daf38769"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxBounds3.html">PxBounds3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#86e89adaa6e6c0f7b5da218a45f4c5dc">getWorldBounds</a> (float inflation=1.01f) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns world space bounding box. <a href="#86e89adaa6e6c0f7b5da218a45f4c5dc"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#aa63b426bf2bc574ea6bbce52bda1074">getNbParticles</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of particles. <a href="#aa63b426bf2bc574ea6bbce52bda1074"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxClothParticleData * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#0c83dba214052e54d00da85a5971cd36">lockParticleData</a> (<a class="el" href="classPxFlags.html">PxDataAccessFlags</a> flags)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquires access to the cloth particle data. <a href="#0c83dba214052e54d00da85a5971cd36"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxClothParticleData * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#41a91aca5941424cd64e09591d390480">lockParticleData</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquires read access to the cloth particle data. <a href="#41a91aca5941424cd64e09591d390480"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#45c9ddfe6fdadcb99dc26c41eea2afb9">setParticles</a> (const <a class="el" href="structPxClothParticle.html">PxClothParticle</a> *currentParticles, const <a class="el" href="structPxClothParticle.html">PxClothParticle</a> *previousParticles)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Updates cloth particle location or inverse weight for current and previous particle state. <a href="#45c9ddfe6fdadcb99dc26c41eea2afb9"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#3d3ee58e3b3960efb9d1e22422806c9d">setClothFlag</a> (<a class="el" href="structPxClothFlag.html#e53797ea68710df0ee906aea21693fe2">PxClothFlag::Enum</a> flag, bool value)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets cloth flags (e.g. use GPU for simulation, enable CCD, collide against scene). <a href="#3d3ee58e3b3960efb9d1e22422806c9d"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#6bc462eec7ba57909611c047a40003b6">setClothFlags</a> (<a class="el" href="classPxFlags.html">PxClothFlags</a> inFlags)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set all cloth flags. <a href="#6bc462eec7ba57909611c047a40003b6"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxFlags.html">PxClothFlags</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#d443004ddc575a974312ce9ad8104878">getClothFlags</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns cloth flags. <a href="#d443004ddc575a974312ce9ad8104878"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#4b1985f12f2808ca0fcdabb5759a9303">getConcreteTypeName</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns string name of dynamic type. <a href="#4b1985f12f2808ca0fcdabb5759a9303"></a><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Integration</div></td></tr> +<tr><td colspan="2"><div class="groupText">Functions related to particle integration. <br><br></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#ba7f7ca016a260f8bed962764814ade3">setTargetPose</a> (const <a class="el" href="classPxTransform.html">PxTransform</a> &pose)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets pose that the cloth should move to by the end of the next simulate() call. <a href="#ba7f7ca016a260f8bed962764814ade3"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#e5b64a8e0ff184cf5ef76a5c6dd52ede">setGlobalPose</a> (const <a class="el" href="classPxTransform.html">PxTransform</a> &pose)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets current pose of the cloth without affecting inertia. <a href="#e5b64a8e0ff184cf5ef76a5c6dd52ede"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxTransform.html">PxTransform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#4f8b8c4e5689dc512d3c980cd6bb56d0">getGlobalPose</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns global pose. <a href="#4f8b8c4e5689dc512d3c980cd6bb56d0"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#f5d725608c3f0cd3a7c3b67743e14aac">setSolverFrequency</a> (PxReal frequency)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the solver frequency parameter. <a href="#f5d725608c3f0cd3a7c3b67743e14aac"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#88872e66443f69945805fabb16b8cfac">getSolverFrequency</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns solver frequency. <a href="#88872e66443f69945805fabb16b8cfac"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#d6b9eb84e82b48262c5921d245f0836b">getPreviousTimeStep</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns previous time step size. <a href="#d6b9eb84e82b48262c5921d245f0836b"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#3a353d83924d66f611186e0d8a046c63">setStiffnessFrequency</a> (PxReal frequency)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the stiffness frequency parameter. <a href="#3a353d83924d66f611186e0d8a046c63"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#75cf540fbe32712420282f51dc281067">getStiffnessFrequency</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns stiffness frequency. <a href="#75cf540fbe32712420282f51dc281067"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#a7ea423a0eca321e2b6aebd436792832">setLinearInertiaScale</a> (<a class="el" href="classPxVec3.html">PxVec3</a> scale)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the acceleration scale factor to adjust inertia effect from global pose changes. <a href="#a7ea423a0eca321e2b6aebd436792832"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#af17257c98712e8d0d77b9843e883b5f">getLinearInertiaScale</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns linear acceleration scale parameter. <a href="#af17257c98712e8d0d77b9843e883b5f"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#5deea84f3f38b4b98f358e56acff221e">setAngularInertiaScale</a> (<a class="el" href="classPxVec3.html">PxVec3</a> scale)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the acceleration scale factor to adjust inertia effect from global pose changes. <a href="#5deea84f3f38b4b98f358e56acff221e"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#0cf0f1e63aac53b775a7ce07063898b7">getAngularInertiaScale</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns angular acceleration scale parameter. <a href="#0cf0f1e63aac53b775a7ce07063898b7"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#4c765fceb26e3c72c0b1c526ea5773f6">setCentrifugalInertiaScale</a> (<a class="el" href="classPxVec3.html">PxVec3</a> scale)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the acceleration scale factor to adjust inertia effect from global pose changes. <a href="#4c765fceb26e3c72c0b1c526ea5773f6"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#4eecbfbe49c626c9f8f7bca7bffe1fd4">getCentrifugalInertiaScale</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns centrifugal acceleration scale parameter. <a href="#4eecbfbe49c626c9f8f7bca7bffe1fd4"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#ae66828d50e4ee25ed06a5abdf87bb5c">setInertiaScale</a> (PxReal scale)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Same as <code>setLinearInertiaScale(PxVec3(scale)); setAngularInertiaScale(PxVec3(scale)); getCentrifugalInertiaScale(PxVec3(scale)); </code>. <a href="#ae66828d50e4ee25ed06a5abdf87bb5c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#6d636bc91871e6cde3535c72bfbc2f53">setDampingCoefficient</a> (<a class="el" href="classPxVec3.html">PxVec3</a> dampingCoefficient)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the damping coefficient. <a href="#6d636bc91871e6cde3535c72bfbc2f53"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#4521c5954e4861c4adad736fea4614a8">getDampingCoefficient</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the damping coefficient. <a href="#4521c5954e4861c4adad736fea4614a8"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#04fcc059b87d0011a1fc01979ea47bd2">setLinearDragCoefficient</a> (<a class="el" href="classPxVec3.html">PxVec3</a> dragCoefficient)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the linear drag coefficient. <a href="#04fcc059b87d0011a1fc01979ea47bd2"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#c2fc39bb319dc31ac26238c5c1650b42">getLinearDragCoefficient</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the linear drag coefficient. <a href="#c2fc39bb319dc31ac26238c5c1650b42"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#39a4c1f5258832f51940aaf9a44aa10f">setAngularDragCoefficient</a> (<a class="el" href="classPxVec3.html">PxVec3</a> dragCoefficient)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the angular drag coefficient. <a href="#39a4c1f5258832f51940aaf9a44aa10f"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#ae233347835d6e759975be9d0ec9136a">getAngularDragCoefficient</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the angular drag coefficient. <a href="#ae233347835d6e759975be9d0ec9136a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#e985ceb77e39016e6945b1bfbf51cd36">setDragCoefficient</a> (PxReal scale)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Same as <code>setLinearDragCoefficient(PxVec3(coefficient)); setAngularDragCoefficient(PxVec3(coefficient));</code>. <a href="#e985ceb77e39016e6945b1bfbf51cd36"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#e13130b689712c14e2c98f4d98d5fd1a">setExternalAcceleration</a> (<a class="el" href="classPxVec3.html">PxVec3</a> acceleration)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets external particle accelerations. <a href="#e13130b689712c14e2c98f4d98d5fd1a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#acb78011d32b247defaafd0c0f4549d8">getExternalAcceleration</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns external acceleration. <a href="#acb78011d32b247defaafd0c0f4549d8"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#4f41c83d95eef0f7ed3894920cb7556d">setParticleAccelerations</a> (const <a class="el" href="classPxVec4.html">PxVec4</a> *particleAccelerations)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Updates particle accelerations, w component is ignored. <a href="#4f41c83d95eef0f7ed3894920cb7556d"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#4462120f9e721e95129b39ea716c7586">getParticleAccelerations</a> (<a class="el" href="classPxVec4.html">PxVec4</a> *particleAccelerationsBuffer) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Copies particle accelerations to the user provided buffer. <a href="#4462120f9e721e95129b39ea716c7586"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#4c312b78671bf914dc6690b05c5b819d">getNbParticleAccelerations</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of particle accelerations. <a href="#4c312b78671bf914dc6690b05c5b819d"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#be1d2b13183f5287f20a7be842d9e287">getWindVelocity</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the velocity of the wind affecting the fabric's triangles. <a href="#be1d2b13183f5287f20a7be842d9e287"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#88764e4c775cf251cd8011d9b1a6fd8e">setWindVelocity</a> (<a class="el" href="classPxVec3.html">PxVec3</a>)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the velocity of the wind affecting the fabric's triangles. <a href="#88764e4c775cf251cd8011d9b1a6fd8e"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#3d7b5bb8e0c170df3791a213b33d04bf">getWindDrag</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the coefficient of the air drag on the fabric's triangles. <a href="#3d7b5bb8e0c170df3791a213b33d04bf"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#41d1bc3cbe1f01737a49bd4d489afb54">setWindDrag</a> (PxReal)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the coefficient of the air drag on the fabric's triangles. <a href="#41d1bc3cbe1f01737a49bd4d489afb54"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#f5f4903c1d69d12d554a95fd20e42bcf">getWindLift</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the coefficient of the air lift on the fabric's triangles. <a href="#f5f4903c1d69d12d554a95fd20e42bcf"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#2c43cb034276d6be1ac72b3219ebd21c">setWindLift</a> (PxReal)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the coefficient of the air lift on the fabric's triangles. <a href="#2c43cb034276d6be1ac72b3219ebd21c"></a><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Constraints</div></td></tr> +<tr><td colspan="2"><div class="groupText">Functions related to particle and distance constaints. <br><br></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#0ccf1ef6c461898826b66f285e8c9f6a">setMotionConstraints</a> (const <a class="el" href="structPxClothParticleMotionConstraint.html">PxClothParticleMotionConstraint</a> *motionConstraints)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Updates motion constraints (position and radius of the constraint sphere). <a href="#0ccf1ef6c461898826b66f285e8c9f6a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#72f30c6f81d783b734b468c86ba08cb6">getMotionConstraints</a> (<a class="el" href="structPxClothParticleMotionConstraint.html">PxClothParticleMotionConstraint</a> *motionConstraintsBuffer) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Copies motion constraints to the user provided buffer. <a href="#72f30c6f81d783b734b468c86ba08cb6"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#9e6eba9bbb683e678cc4d606450d3a94">getNbMotionConstraints</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of motion constraints. <a href="#9e6eba9bbb683e678cc4d606450d3a94"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#161c0d634e0650187b0f737873bcca17">setMotionConstraintConfig</a> (const <a class="el" href="structPxClothMotionConstraintConfig.html">PxClothMotionConstraintConfig</a> &config)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Specifies motion constraint scale, bias, and stiffness. <a href="#161c0d634e0650187b0f737873bcca17"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br class="typebreak"> +<a class="el" href="structPxClothMotionConstraintConfig.html">PxClothMotionConstraintConfig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#b715b515670e90a2fedc1edeb40d670f">getMotionConstraintConfig</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reads back scale and bias factor for motion constraints. <a href="#b715b515670e90a2fedc1edeb40d670f"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#8cdc9a3c9faebf80d20e6e821c83834b">setSeparationConstraints</a> (const <a class="el" href="structPxClothParticleSeparationConstraint.html">PxClothParticleSeparationConstraint</a> *separationConstraints)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Updates separation constraints (position and radius of the constraint sphere). <a href="#8cdc9a3c9faebf80d20e6e821c83834b"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#0ca219e86a0a99a8ad6198208cef26b7">getSeparationConstraints</a> (<a class="el" href="structPxClothParticleSeparationConstraint.html">PxClothParticleSeparationConstraint</a> *separationConstraintsBuffer) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Copies separation constraints to the user provided buffer. <a href="#0ca219e86a0a99a8ad6198208cef26b7"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#8a6a6293bd22a97e2e25887c7f5beabf">getNbSeparationConstraints</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of separation constraints. <a href="#8a6a6293bd22a97e2e25887c7f5beabf"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#30e1623ae04aa27c0bef16e5b3593f95">clearInterpolation</a> ()=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign current to previous positions for collision shapes, motion constraints, and separation constraints. <a href="#30e1623ae04aa27c0bef16e5b3593f95"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#287124c7b4d26640849b8dd3489fff0d">setStretchConfig</a> (<a class="el" href="structPxClothFabricPhaseType.html#9f876cdc99a8e874ef799592a5f5562e">PxClothFabricPhaseType::Enum</a> type, const <a class="el" href="structPxClothStretchConfig.html">PxClothStretchConfig</a> &config)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the solver parameters for the vertical solver phases. <a href="#287124c7b4d26640849b8dd3489fff0d"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structPxClothStretchConfig.html">PxClothStretchConfig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#5bae6a80e0afb0b141214199db389911">getStretchConfig</a> (<a class="el" href="structPxClothFabricPhaseType.html#9f876cdc99a8e874ef799592a5f5562e">PxClothFabricPhaseType::Enum</a> type) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the solver parameters for one of the phase types. <a href="#5bae6a80e0afb0b141214199db389911"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#b6f7f3f91fe4f2ed5e2620605c4723ff">setTetherConfig</a> (const <a class="el" href="structPxClothTetherConfig.html">PxClothTetherConfig</a> &config)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the stiffness parameters for the tether constraints. <a href="#b6f7f3f91fe4f2ed5e2620605c4723ff"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structPxClothTetherConfig.html">PxClothTetherConfig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#52957da35698b2488b4d67a4be285c55">getTetherConfig</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the stiffness parameters for the tether constraints. <a href="#52957da35698b2488b4d67a4be285c55"></a><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Collision</div></td></tr> +<tr><td colspan="2"><div class="groupText">Functions related to particle collision. <br><br></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#504bcabb3f49787b4c9ec492b2d39b80">addCollisionSphere</a> (const <a class="el" href="structPxClothCollisionSphere.html">PxClothCollisionSphere</a> &sphere)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a new collision sphere. <a href="#504bcabb3f49787b4c9ec492b2d39b80"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#989eedbe5212ae796f683ec6f97451c2">removeCollisionSphere</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> index)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes collision sphere. <a href="#989eedbe5212ae796f683ec6f97451c2"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#d4bde7978010861d13207ba2dcd36b7a">setCollisionSpheres</a> (const <a class="el" href="structPxClothCollisionSphere.html">PxClothCollisionSphere</a> *spheresBuffer, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> count)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Updates location and radii of collision spheres. <a href="#d4bde7978010861d13207ba2dcd36b7a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#72d7b3ed07fd4e1615708e3fc75c69d9">getNbCollisionSpheres</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of collision spheres. <a href="#72d7b3ed07fd4e1615708e3fc75c69d9"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#b9d5d09787dffe1b5d12255a54b304f3">addCollisionCapsule</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> first, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> second)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a new collision capsule. <a href="#b9d5d09787dffe1b5d12255a54b304f3"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#7a000eb4b8fa5ea3257c3832ad4010f3">removeCollisionCapsule</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> index)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a collision capsule. <a href="#7a000eb4b8fa5ea3257c3832ad4010f3"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#daea99e9df2d5628d7435e8a919306f1">getNbCollisionCapsules</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of collision capsules. <a href="#daea99e9df2d5628d7435e8a919306f1"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#90f105fb7c6665829eb087c1ee9a13ee">addCollisionPlane</a> (const <a class="el" href="structPxClothCollisionPlane.html">PxClothCollisionPlane</a> &plane)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a collision plane. <a href="#90f105fb7c6665829eb087c1ee9a13ee"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#9168dae650c9c972b4a9dbbbdb79bb4f">removeCollisionPlane</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> index)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a collision plane. <a href="#9168dae650c9c972b4a9dbbbdb79bb4f"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#c9fb679ec22ccad7ba5ea9b2397873d6">setCollisionPlanes</a> (const <a class="el" href="structPxClothCollisionPlane.html">PxClothCollisionPlane</a> *planesBuffer, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> count)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Updates positions of collision planes. <a href="#c9fb679ec22ccad7ba5ea9b2397873d6"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#b56d769be770219f891c37ad2ddfc4ab">getNbCollisionPlanes</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of collision planes. <a href="#b56d769be770219f891c37ad2ddfc4ab"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#1eeb3bd703b779acd3d7a10f90d64720">addCollisionConvex</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> mask)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a new collision convex. <a href="#1eeb3bd703b779acd3d7a10f90d64720"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#6301240887a3ee461448957810acaa78">removeCollisionConvex</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> index)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a collision convex. <a href="#6301240887a3ee461448957810acaa78"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#718741d139b994d7c4f2f842e5d9e9e3">getNbCollisionConvexes</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of collision convexes. <a href="#718741d139b994d7c4f2f842e5d9e9e3"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#4d271e56eef66f18bb6b3eeff65326f4">addCollisionTriangle</a> (const <a class="el" href="structPxClothCollisionTriangle.html">PxClothCollisionTriangle</a> &triangle)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a new collision triangle. <a href="#4d271e56eef66f18bb6b3eeff65326f4"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#2c5b2019415eea578c80ee6678d830c7">removeCollisionTriangle</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> index)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a collision triangle. <a href="#2c5b2019415eea578c80ee6678d830c7"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#62d56093aa47f45a263c62721bd12530">setCollisionTriangles</a> (const <a class="el" href="structPxClothCollisionTriangle.html">PxClothCollisionTriangle</a> *trianglesBuffer, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> count)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Updates positions of collision triangles. <a href="#62d56093aa47f45a263c62721bd12530"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#a03a6096427b18376cefd44f7acbb733">getNbCollisionTriangles</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of collision triangles. <a href="#a03a6096427b18376cefd44f7acbb733"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#90fc917b9769a1f9f55ec4be4fd10291">getCollisionData</a> (<a class="el" href="structPxClothCollisionSphere.html">PxClothCollisionSphere</a> *spheresBuffer, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *capsulesBuffer, <a class="el" href="structPxClothCollisionPlane.html">PxClothCollisionPlane</a> *planesBuffer, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *convexesBuffer, <a class="el" href="structPxClothCollisionTriangle.html">PxClothCollisionTriangle</a> *trianglesBuffer) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the collision shapes. <a href="#90fc917b9769a1f9f55ec4be4fd10291"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#16ef3c8f9e199f38f84ca0b1529209e5">setVirtualParticles</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> numVirtualParticles, const <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *indices, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> numWeights, const <a class="el" href="classPxVec3.html">PxVec3</a> *weights)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Assigns virtual particles. <a href="#16ef3c8f9e199f38f84ca0b1529209e5"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#684e0000032ad3db928adec6bc93c738">getNbVirtualParticles</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of virtual particles. <a href="#684e0000032ad3db928adec6bc93c738"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#809f2a3c0093778728ffec589daac1b2">getVirtualParticles</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *indicesBuffer) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Copies index array of virtual particles to the user provided buffer. <a href="#809f2a3c0093778728ffec589daac1b2"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#69fdeedc7a12ac0136c6ac15ff01085d">getNbVirtualParticleWeights</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of the virtual particle weights. <a href="#69fdeedc7a12ac0136c6ac15ff01085d"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#f07fe823f8c077967af39557b9acd140">getVirtualParticleWeights</a> (<a class="el" href="classPxVec3.html">PxVec3</a> *weightsBuffer) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Copies weight table of virtual particles to the user provided buffer. <a href="#f07fe823f8c077967af39557b9acd140"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#11c07c5b385688e921d950f50ccf8e24">setFrictionCoefficient</a> (PxReal frictionCoefficient)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the collision friction coefficient. <a href="#11c07c5b385688e921d950f50ccf8e24"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#6e46a78d946c97990f6b430f4d955b65">getFrictionCoefficient</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the friction coefficient. <a href="#6e46a78d946c97990f6b430f4d955b65"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#64d468f1f5bab0e2cfabcb02b9fe9f0b">setCollisionMassScale</a> (PxReal scalingCoefficient)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the collision mass scaling coefficient. <a href="#64d468f1f5bab0e2cfabcb02b9fe9f0b"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#7bc5a686a7102e2e05959a9706453d1c">getCollisionMassScale</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the mass-scaling coefficient. <a href="#7bc5a686a7102e2e05959a9706453d1c"></a><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Self-Collision</div></td></tr> +<tr><td colspan="2"><div class="groupText">Functions related to particle against particle collision. <br><br></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#8a9395c7ef65990a78a8654eedd70eef">setSelfCollisionDistance</a> (PxReal distance)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the self collision distance. <a href="#8a9395c7ef65990a78a8654eedd70eef"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#514d63d5ad2fcd5e0bb147c439da20bc">getSelfCollisionDistance</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the self-collision distance. <a href="#514d63d5ad2fcd5e0bb147c439da20bc"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#444689a873e29404153b54e06c7f21f6">setSelfCollisionStiffness</a> (PxReal stiffness)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the self collision stiffness. <a href="#444689a873e29404153b54e06c7f21f6"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#a3532b8262295f8adf15a8cda9c83f25">getSelfCollisionStiffness</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the self-collision stiffness. <a href="#a3532b8262295f8adf15a8cda9c83f25"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#3d1655d3a49678ac120e60e5f5d0cb74">setSelfCollisionIndices</a> (const <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *indices, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> nbIndices)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets a subset of cloth particles which participate in self-collision. <a href="#3d1655d3a49678ac120e60e5f5d0cb74"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#3bd8a84d4136d97444b663a5d62a673e">getSelfCollisionIndices</a> (<a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *indices) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Copies array of particles participating in self-collision to the user provided buffer. <a href="#3bd8a84d4136d97444b663a5d62a673e"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#6f80ea84bc64334bf4fdc3865ca75ecf">getNbSelfCollisionIndices</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of particles participating in self-collision. <a href="#6f80ea84bc64334bf4fdc3865ca75ecf"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#0184c7d7f20110fdee01b1c485bb7a63">setRestPositions</a> (const <a class="el" href="classPxVec4.html">PxVec4</a> *restPositions)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the cloth particles rest positions. <a href="#0184c7d7f20110fdee01b1c485bb7a63"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#d221503283a0557ab60202ff9856677b">getRestPositions</a> (<a class="el" href="classPxVec4.html">PxVec4</a> *restPositions) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Copies array of rest positions to the user provided buffer. <a href="#d221503283a0557ab60202ff9856677b"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#d62daebe7db829daa40712dd694d3856">getNbRestPositions</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of rest positions. <a href="#d62daebe7db829daa40712dd694d3856"></a><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Inter-Collision</div></td></tr> +<tr><td colspan="2"><div class="groupText">Functions related to collision between cloth instances. <br><br></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#b25c6eba3fdd622cf24bb768b9c9010a">setSimulationFilterData</a> (const <a class="el" href="structPxFilterData.html">PxFilterData</a> &data)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the user definable collision filter data. <a href="#b25c6eba3fdd622cf24bb768b9c9010a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structPxFilterData.html">PxFilterData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#b2c8c03af0b084ea266e3396620c051d">getSimulationFilterData</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the object's collision filter data. <a href="#b2c8c03af0b084ea266e3396620c051d"></a><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Scene-Collision</div></td></tr> +<tr><td colspan="2"><div class="groupText">Functions related to collision against scene objects. <br><br></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#04c2915cae434276ab7b60dcffa6f096">setContactOffset</a> (PxReal offset)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the width by which the cloth bounding box is increased to find nearby scene collision shapes. <a href="#04c2915cae434276ab7b60dcffa6f096"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#c1a3210b12403cd8717dfc2198ee9b50">getContactOffset</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns cloth contact offset. <a href="#c1a3210b12403cd8717dfc2198ee9b50"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#b613c92ba9a4d334536c9d97d87a13df">setRestOffset</a> (PxReal offset)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the minimum distance between colliding cloth particles and scene shapes. <a href="#b613c92ba9a4d334536c9d97d87a13df"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#101c0a3e1fd4bfa4c61a285128d18f26">getRestOffset</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns cloth rest offset. <a href="#101c0a3e1fd4bfa4c61a285128d18f26"></a><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Sleeping</div></td></tr> +<tr><td colspan="2"><div class="groupText">Functions related to sleeping. <br><br></div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#f333884779888e3cbb11033877fe0638">setSleepLinearVelocity</a> (PxReal threshold)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the velocity threshold for putting cloth in sleep state. <a href="#f333884779888e3cbb11033877fe0638"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#d421d5f30c8df5c22d605ab99fbf31d1">getSleepLinearVelocity</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the velocity threshold for putting cloth in sleep state. <a href="#d421d5f30c8df5c22d605ab99fbf31d1"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#cfd45f2a5c3c1dde4bc84e8a6acab096">setWakeCounter</a> (PxReal wakeCounterValue)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the wake counter for the cloth. <a href="#cfd45f2a5c3c1dde4bc84e8a6acab096"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#29eaa86742537a7643a4a13637bccb7c">getWakeCounter</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the wake counter of the cloth. <a href="#29eaa86742537a7643a4a13637bccb7c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#b5092893f40cf8d9399b467f59f893de">wakeUp</a> ()=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Forces cloth to wake up from sleep state. <a href="#b5092893f40cf8d9399b467f59f893de"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#f6f826b1ea5bcde8aadcbdc0775b1ce1">putToSleep</a> ()=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Forces cloth to be put in sleep state. <a href="#f6f826b1ea5bcde8aadcbdc0775b1ce1"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#d809a352134b033f57e8433968a335db">isSleeping</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if cloth is in sleep state. <a href="#d809a352134b033f57e8433968a335db"></a><br></td></tr> +<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_INLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#d7f51836089966060cb8e2a980deac85">PxCloth</a> (<a class="el" href="group__common.html#gc1fb4b256a5d900d394e89db170a2b79">PxType</a> concreteType, <a class="el" href="classPxFlags.html">PxBaseFlags</a> baseFlags)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_INLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#332011c95a1230cd9dd0555927bd4e81">PxCloth</a> (<a class="el" href="classPxFlags.html">PxBaseFlags</a> baseFlags)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#0d8ca63c2b2ff4316f6cd078e26ef47a">~PxCloth</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxCloth.html#0f88ba159c4c72515ab36340d2c2dcbf">isKindOf</a> (const char *name) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns whether a given type name matches with the type of this instance. <a href="#0f88ba159c4c72515ab36340d2c2dcbf"></a><br></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Set of connected particles tailored towards simulating character cloth. +<p> +A cloth object consists of the following components: <ul> +<li>A set of particles that sample the cloth. The sampling does not need to be regular. Particles are simulated in local space, which allows tuning the effect of changes to the global pose on the particles. </li> +<li>Distance, bending, shearing, and tether constraints between particles. These are stored in a <a class="el" href="classPxClothFabric.html" title="A cloth fabric is a structure that contains all the internal solver constraints of...">PxClothFabric</a> instance which can be shared across cloth instances. </li> +<li>Spheres, capsules, convexes, and triangle collision shapes. These shapes are all treated separately to the main PhysX rigid body scene. </li> +<li>Virtual particles can be used to improve collision at a finer scale than the cloth sampling. </li> +<li>Motion and separation constraints are used to limit the particle movement within or outside of a sphere.</li> +</ul> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxPhysics.html#73f5ca62e703a94f378e851b6b84f63c" title="Creates a cloth.">PxPhysics.createCloth</a> </dd></dl> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="d7f51836089966060cb8e2a980deac85"></a><!-- doxytag: member="PxCloth::PxCloth" ref="d7f51836089966060cb8e2a980deac85" args="(PxType concreteType, PxBaseFlags baseFlags)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_INLINE PxCloth::PxCloth </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__common.html#gc1fb4b256a5d900d394e89db170a2b79">PxType</a> </td> + <td class="paramname"> <em>concreteType</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classPxFlags.html">PxBaseFlags</a> </td> + <td class="paramname"> <em>baseFlags</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [inline, protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="332011c95a1230cd9dd0555927bd4e81"></a><!-- doxytag: member="PxCloth::PxCloth" ref="332011c95a1230cd9dd0555927bd4e81" args="(PxBaseFlags baseFlags)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_INLINE PxCloth::PxCloth </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxFlags.html">PxBaseFlags</a> </td> + <td class="paramname"> <em>baseFlags</em> </td> + <td> ) </td> + <td><code> [inline, protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="0d8ca63c2b2ff4316f6cd078e26ef47a"></a><!-- doxytag: member="PxCloth::~PxCloth" ref="0d8ca63c2b2ff4316f6cd078e26ef47a" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxCloth::~PxCloth </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [inline, protected, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="b9d5d09787dffe1b5d12255a54b304f3"></a><!-- doxytag: member="PxCloth::addCollisionCapsule" ref="b9d5d09787dffe1b5d12255a54b304f3" args="(PxU32 first, PxU32 second)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::addCollisionCapsule </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>first</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>second</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Adds a new collision capsule. +<p> +A collision capsule is defined as the bounding volume of two spheres. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>first</em> </td><td>Index of first sphere. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>second</em> </td><td>Index of second sphere. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>A maximum of 32 capsules are supported. <p> +Spheres referenced by a capsule need to be defined before simulating the scene, see addCollisionSphere/setCollisionSpheres. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="1eeb3bd703b779acd3d7a10f90d64720"></a><!-- doxytag: member="PxCloth::addCollisionConvex" ref="1eeb3bd703b779acd3d7a10f90d64720" args="(PxU32 mask)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::addCollisionConvex </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>mask</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Adds a new collision convex. +<p> +A collision convex is defined as the intersection of planes. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>mask</em> </td><td>The bitmask of the planes that make up the convex. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>Planes referenced by a collision convex need to be defined before simulating the scene, see addCollisionPlane/setCollisionPlanes. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="90f105fb7c6665829eb087c1ee9a13ee"></a><!-- doxytag: member="PxCloth::addCollisionPlane" ref="90f105fb7c6665829eb087c1ee9a13ee" args="(const PxClothCollisionPlane &plane)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::addCollisionPlane </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxClothCollisionPlane.html">PxClothCollisionPlane</a> & </td> + <td class="paramname"> <em>plane</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Adds a collision plane. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>plane</em> </td><td>New collision plane. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>Planes are not used for collision until they are added to a convex object, see <a class="el" href="classPxCloth.html#1eeb3bd703b779acd3d7a10f90d64720" title="Adds a new collision convex.">addCollisionConvex()</a>. <p> +A maximum of 32 planes are supported. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="504bcabb3f49787b4c9ec492b2d39b80"></a><!-- doxytag: member="PxCloth::addCollisionSphere" ref="504bcabb3f49787b4c9ec492b2d39b80" args="(const PxClothCollisionSphere &sphere)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::addCollisionSphere </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxClothCollisionSphere.html">PxClothCollisionSphere</a> & </td> + <td class="paramname"> <em>sphere</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Adds a new collision sphere. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>sphere</em> </td><td>New collision sphere. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>A maximum of 32 spheres are supported. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="4d271e56eef66f18bb6b3eeff65326f4"></a><!-- doxytag: member="PxCloth::addCollisionTriangle" ref="4d271e56eef66f18bb6b3eeff65326f4" args="(const PxClothCollisionTriangle &triangle)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::addCollisionTriangle </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxClothCollisionTriangle.html">PxClothCollisionTriangle</a> & </td> + <td class="paramname"> <em>triangle</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Adds a new collision triangle. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>triangle</em> </td><td>New collision triangle. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>GPU cloth is limited to 500 triangles per instance. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="30e1623ae04aa27c0bef16e5b3593f95"></a><!-- doxytag: member="PxCloth::clearInterpolation" ref="30e1623ae04aa27c0bef16e5b3593f95" args="()=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::clearInterpolation </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Assign current to previous positions for collision shapes, motion constraints, and separation constraints. +<p> +This allows to prevent false interpolation after leaping to an animation frame, for example. After calling <a class="el" href="classPxCloth.html#30e1623ae04aa27c0bef16e5b3593f95" title="Assign current to previous positions for collision shapes, motion constraints, and...">clearInterpolation()</a>, the current positions will be used without interpolation. New positions can be set afterwards to interpolate to by the end of the next frame. +</div> +</div><p> +<a class="anchor" name="ae233347835d6e759975be9d0ec9136a"></a><!-- doxytag: member="PxCloth::getAngularDragCoefficient" ref="ae233347835d6e759975be9d0ec9136a" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxVec3.html">PxVec3</a> PxCloth::getAngularDragCoefficient </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the angular drag coefficient. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Angular drag coefficient. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="0cf0f1e63aac53b775a7ce07063898b7"></a><!-- doxytag: member="PxCloth::getAngularInertiaScale" ref="0cf0f1e63aac53b775a7ce07063898b7" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxVec3.html">PxVec3</a> PxCloth::getAngularInertiaScale </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns angular acceleration scale parameter. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Angular acceleration scale parameter. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="4eecbfbe49c626c9f8f7bca7bffe1fd4"></a><!-- doxytag: member="PxCloth::getCentrifugalInertiaScale" ref="4eecbfbe49c626c9f8f7bca7bffe1fd4" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxVec3.html">PxVec3</a> PxCloth::getCentrifugalInertiaScale </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns centrifugal acceleration scale parameter. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Centrifugal acceleration scale parameter. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="d443004ddc575a974312ce9ad8104878"></a><!-- doxytag: member="PxCloth::getClothFlags" ref="d443004ddc575a974312ce9ad8104878" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxFlags.html">PxClothFlags</a> PxCloth::getClothFlags </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns cloth flags. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Cloth flags. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="90fc917b9769a1f9f55ec4be4fd10291"></a><!-- doxytag: member="PxCloth::getCollisionData" ref="90fc917b9769a1f9f55ec4be4fd10291" args="(PxClothCollisionSphere *spheresBuffer, PxU32 *capsulesBuffer, PxClothCollisionPlane *planesBuffer, PxU32 *convexesBuffer, PxClothCollisionTriangle *trianglesBuffer) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::getCollisionData </td> + <td>(</td> + <td class="paramtype"><a class="el" href="structPxClothCollisionSphere.html">PxClothCollisionSphere</a> * </td> + <td class="paramname"> <em>spheresBuffer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>capsulesBuffer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structPxClothCollisionPlane.html">PxClothCollisionPlane</a> * </td> + <td class="paramname"> <em>planesBuffer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>convexesBuffer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structPxClothCollisionTriangle.html">PxClothCollisionTriangle</a> * </td> + <td class="paramname"> <em>trianglesBuffer</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieves the collision shapes. +<p> +Returns collision spheres, capsules, convexes, and triangles that were added through the addCollision*() methods and modified through the setCollision*() methods. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>spheresBuffer</em> </td><td>Spheres destination buffer, must be NULL or the same length as <a class="el" href="classPxCloth.html#72d7b3ed07fd4e1615708e3fc75c69d9" title="Returns the number of collision spheres.">getNbCollisionSpheres()</a>. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>capsulesBuffer</em> </td><td>Capsules destination buffer, must be NULL or the same length as 2*getNbCollisionCapsules(). </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>planesBuffer</em> </td><td>Planes destination buffer, must be NULL or the same length as <a class="el" href="classPxCloth.html#b56d769be770219f891c37ad2ddfc4ab" title="Returns the number of collision planes.">getNbCollisionPlanes()</a>. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>convexesBuffer</em> </td><td>Convexes destination buffer, must be NULL or the same length as <a class="el" href="classPxCloth.html#718741d139b994d7c4f2f842e5d9e9e3" title="Returns the number of collision convexes.">getNbCollisionConvexes()</a>. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>trianglesBuffer</em> </td><td>Triangles destination buffer, must be NULL or the same length as <a class="el" href="classPxCloth.html#a03a6096427b18376cefd44f7acbb733" title="Returns the number of collision triangles.">getNbCollisionTriangles()</a>. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>Returns the positions at the end of the next simulate() call as specified by the setCollision*() methods. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="7bc5a686a7102e2e05959a9706453d1c"></a><!-- doxytag: member="PxCloth::getCollisionMassScale" ref="7bc5a686a7102e2e05959a9706453d1c" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getCollisionMassScale </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the mass-scaling coefficient. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Mass-scaling coefficient. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="4b1985f12f2808ca0fcdabb5759a9303"></a><!-- doxytag: member="PxCloth::getConcreteTypeName" ref="4b1985f12f2808ca0fcdabb5759a9303" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual const char* PxCloth::getConcreteTypeName </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns string name of dynamic type. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Class name of most derived type of this object. </dd></dl> + +<p>Implements <a class="el" href="classPxBase.html#67fe206d8897ddce896c371ac8d789a9">PxBase</a>.</p> + +</div> +</div><p> +<a class="anchor" name="c1a3210b12403cd8717dfc2198ee9b50"></a><!-- doxytag: member="PxCloth::getContactOffset" ref="c1a3210b12403cd8717dfc2198ee9b50" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getContactOffset </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns cloth contact offset. +<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#04c2915cae434276ab7b60dcffa6f096" title="Sets the width by which the cloth bounding box is increased to find nearby scene...">setContactOffset</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="4521c5954e4861c4adad736fea4614a8"></a><!-- doxytag: member="PxCloth::getDampingCoefficient" ref="4521c5954e4861c4adad736fea4614a8" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxVec3.html">PxVec3</a> PxCloth::getDampingCoefficient </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the damping coefficient. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Damping coefficient. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="acb78011d32b247defaafd0c0f4549d8"></a><!-- doxytag: member="PxCloth::getExternalAcceleration" ref="acb78011d32b247defaafd0c0f4549d8" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxVec3.html">PxVec3</a> PxCloth::getExternalAcceleration </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns external acceleration. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>External acceleration in global coordinates. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="86d652836f7ea8fff1ee8d28daf38769"></a><!-- doxytag: member="PxCloth::getFabric" ref="86d652836f7ea8fff1ee8d28daf38769" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxClothFabric.html">PxClothFabric</a>* PxCloth::getFabric </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns a pointer to the corresponding cloth fabric. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>The associated cloth fabric. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="6e46a78d946c97990f6b430f4d955b65"></a><!-- doxytag: member="PxCloth::getFrictionCoefficient" ref="6e46a78d946c97990f6b430f4d955b65" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getFrictionCoefficient </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the friction coefficient. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Friction coefficient. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="4f8b8c4e5689dc512d3c980cd6bb56d0"></a><!-- doxytag: member="PxCloth::getGlobalPose" ref="4f8b8c4e5689dc512d3c980cd6bb56d0" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxTransform.html">PxTransform</a> PxCloth::getGlobalPose </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns global pose. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Global pose as specified by the last <a class="el" href="classPxCloth.html#e5b64a8e0ff184cf5ef76a5c6dd52ede" title="Sets current pose of the cloth without affecting inertia.">setGlobalPose()</a> or <a class="el" href="classPxCloth.html#ba7f7ca016a260f8bed962764814ade3" title="Sets pose that the cloth should move to by the end of the next simulate() call.">setTargetPose()</a> call. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="c2fc39bb319dc31ac26238c5c1650b42"></a><!-- doxytag: member="PxCloth::getLinearDragCoefficient" ref="c2fc39bb319dc31ac26238c5c1650b42" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxVec3.html">PxVec3</a> PxCloth::getLinearDragCoefficient </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the linear drag coefficient. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Linear drag coefficient. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="af17257c98712e8d0d77b9843e883b5f"></a><!-- doxytag: member="PxCloth::getLinearInertiaScale" ref="af17257c98712e8d0d77b9843e883b5f" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxVec3.html">PxVec3</a> PxCloth::getLinearInertiaScale </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns linear acceleration scale parameter. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Linear acceleration scale parameter. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="b715b515670e90a2fedc1edeb40d670f"></a><!-- doxytag: member="PxCloth::getMotionConstraintConfig" ref="b715b515670e90a2fedc1edeb40d670f" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="structPxClothMotionConstraintConfig.html">PxClothMotionConstraintConfig</a> PxCloth::getMotionConstraintConfig </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Reads back scale and bias factor for motion constraints. +<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#161c0d634e0650187b0f737873bcca17" title="Specifies motion constraint scale, bias, and stiffness.">setMotionConstraintConfig()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="72f30c6f81d783b734b468c86ba08cb6"></a><!-- doxytag: member="PxCloth::getMotionConstraints" ref="72f30c6f81d783b734b468c86ba08cb6" args="(PxClothParticleMotionConstraint *motionConstraintsBuffer) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual bool PxCloth::getMotionConstraints </td> + <td>(</td> + <td class="paramtype"><a class="el" href="structPxClothParticleMotionConstraint.html">PxClothParticleMotionConstraint</a> * </td> + <td class="paramname"> <em>motionConstraintsBuffer</em> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Copies motion constraints to the user provided buffer. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>motionConstraintsBuffer</em> </td><td>Destination buffer, must be at least <a class="el" href="classPxCloth.html#9e6eba9bbb683e678cc4d606450d3a94" title="Returns the number of motion constraints.">getNbMotionConstraints()</a>. </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the copy was successful. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="daea99e9df2d5628d7435e8a919306f1"></a><!-- doxytag: member="PxCloth::getNbCollisionCapsules" ref="daea99e9df2d5628d7435e8a919306f1" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbCollisionCapsules </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of collision capsules. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of collision capsules. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="718741d139b994d7c4f2f842e5d9e9e3"></a><!-- doxytag: member="PxCloth::getNbCollisionConvexes" ref="718741d139b994d7c4f2f842e5d9e9e3" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbCollisionConvexes </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of collision convexes. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of collision convexes. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="b56d769be770219f891c37ad2ddfc4ab"></a><!-- doxytag: member="PxCloth::getNbCollisionPlanes" ref="b56d769be770219f891c37ad2ddfc4ab" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbCollisionPlanes </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of collision planes. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of collision planes. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="72d7b3ed07fd4e1615708e3fc75c69d9"></a><!-- doxytag: member="PxCloth::getNbCollisionSpheres" ref="72d7b3ed07fd4e1615708e3fc75c69d9" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbCollisionSpheres </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of collision spheres. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of collision spheres. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="a03a6096427b18376cefd44f7acbb733"></a><!-- doxytag: member="PxCloth::getNbCollisionTriangles" ref="a03a6096427b18376cefd44f7acbb733" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbCollisionTriangles </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of collision triangles. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of collision triangles. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="9e6eba9bbb683e678cc4d606450d3a94"></a><!-- doxytag: member="PxCloth::getNbMotionConstraints" ref="9e6eba9bbb683e678cc4d606450d3a94" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbMotionConstraints </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of motion constraints. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of motion constraints (same as <a class="el" href="classPxCloth.html#aa63b426bf2bc574ea6bbce52bda1074" title="Returns the number of particles.">getNbParticles()</a> if enabled, 0 otherwise). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="4c312b78671bf914dc6690b05c5b819d"></a><!-- doxytag: member="PxCloth::getNbParticleAccelerations" ref="4c312b78671bf914dc6690b05c5b819d" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbParticleAccelerations </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of particle accelerations. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of particle accelerations (same as <a class="el" href="classPxCloth.html#aa63b426bf2bc574ea6bbce52bda1074" title="Returns the number of particles.">getNbParticles()</a> if enabled, 0 otherwise). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="aa63b426bf2bc574ea6bbce52bda1074"></a><!-- doxytag: member="PxCloth::getNbParticles" ref="aa63b426bf2bc574ea6bbce52bda1074" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbParticles </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of particles. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of particles. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="d62daebe7db829daa40712dd694d3856"></a><!-- doxytag: member="PxCloth::getNbRestPositions" ref="d62daebe7db829daa40712dd694d3856" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbRestPositions </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of rest positions. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of rest positions (same as <a class="el" href="classPxCloth.html#aa63b426bf2bc574ea6bbce52bda1074" title="Returns the number of particles.">getNbParticles()</a> if enabled, 0 otherwise). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="6f80ea84bc64334bf4fdc3865ca75ecf"></a><!-- doxytag: member="PxCloth::getNbSelfCollisionIndices" ref="6f80ea84bc64334bf4fdc3865ca75ecf" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbSelfCollisionIndices </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of particles participating in self-collision. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Size of particle subset participating in self-collision, or 0 if all particles are used. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="8a6a6293bd22a97e2e25887c7f5beabf"></a><!-- doxytag: member="PxCloth::getNbSeparationConstraints" ref="8a6a6293bd22a97e2e25887c7f5beabf" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbSeparationConstraints </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of separation constraints. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of separation constraints (same as <a class="el" href="classPxCloth.html#aa63b426bf2bc574ea6bbce52bda1074" title="Returns the number of particles.">getNbParticles()</a> if enabled, 0 otherwise). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="684e0000032ad3db928adec6bc93c738"></a><!-- doxytag: member="PxCloth::getNbVirtualParticles" ref="684e0000032ad3db928adec6bc93c738" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbVirtualParticles </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of virtual particles. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of virtual particles. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="69fdeedc7a12ac0136c6ac15ff01085d"></a><!-- doxytag: member="PxCloth::getNbVirtualParticleWeights" ref="69fdeedc7a12ac0136c6ac15ff01085d" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxCloth::getNbVirtualParticleWeights </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of the virtual particle weights. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of virtual particle weights. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="4462120f9e721e95129b39ea716c7586"></a><!-- doxytag: member="PxCloth::getParticleAccelerations" ref="4462120f9e721e95129b39ea716c7586" args="(PxVec4 *particleAccelerationsBuffer) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual bool PxCloth::getParticleAccelerations </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxVec4.html">PxVec4</a> * </td> + <td class="paramname"> <em>particleAccelerationsBuffer</em> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Copies particle accelerations to the user provided buffer. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>particleAccelerationsBuffer</em> </td><td>Destination buffer, must be at least <a class="el" href="classPxCloth.html#4c312b78671bf914dc6690b05c5b819d" title="Returns the number of particle accelerations.">getNbParticleAccelerations()</a>. </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the copy was successful. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="d6b9eb84e82b48262c5921d245f0836b"></a><!-- doxytag: member="PxCloth::getPreviousTimeStep" ref="d6b9eb84e82b48262c5921d245f0836b" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getPreviousTimeStep </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns previous time step size. +<p> +Time between sampling of previous and current particle positions for computing particle velocity. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Previous time step size. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="101c0a3e1fd4bfa4c61a285128d18f26"></a><!-- doxytag: member="PxCloth::getRestOffset" ref="101c0a3e1fd4bfa4c61a285128d18f26" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getRestOffset </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns cloth rest offset. +<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#b613c92ba9a4d334536c9d97d87a13df" title="Sets the minimum distance between colliding cloth particles and scene shapes.">setRestOffset</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="d221503283a0557ab60202ff9856677b"></a><!-- doxytag: member="PxCloth::getRestPositions" ref="d221503283a0557ab60202ff9856677b" args="(PxVec4 *restPositions) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual bool PxCloth::getRestPositions </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxVec4.html">PxVec4</a> * </td> + <td class="paramname"> <em>restPositions</em> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Copies array of rest positions to the user provided buffer. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>restPositions</em> </td><td>Destination buffer, must be at least <a class="el" href="classPxCloth.html#aa63b426bf2bc574ea6bbce52bda1074" title="Returns the number of particles.">getNbParticles()</a> in length. </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the copy was successful. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="514d63d5ad2fcd5e0bb147c439da20bc"></a><!-- doxytag: member="PxCloth::getSelfCollisionDistance" ref="514d63d5ad2fcd5e0bb147c439da20bc" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getSelfCollisionDistance </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the self-collision distance. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Self-collision distance. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="3bd8a84d4136d97444b663a5d62a673e"></a><!-- doxytag: member="PxCloth::getSelfCollisionIndices" ref="3bd8a84d4136d97444b663a5d62a673e" args="(PxU32 *indices) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual bool PxCloth::getSelfCollisionIndices </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>indices</em> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Copies array of particles participating in self-collision to the user provided buffer. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>indices</em> </td><td>Destination buffer, must be at least <a class="el" href="classPxCloth.html#6f80ea84bc64334bf4fdc3865ca75ecf" title="Returns the number of particles participating in self-collision.">getNbSelfCollisionIndices()</a> in length. </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the copy was successful. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="a3532b8262295f8adf15a8cda9c83f25"></a><!-- doxytag: member="PxCloth::getSelfCollisionStiffness" ref="a3532b8262295f8adf15a8cda9c83f25" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getSelfCollisionStiffness </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the self-collision stiffness. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Self-collision stiffness. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="0ca219e86a0a99a8ad6198208cef26b7"></a><!-- doxytag: member="PxCloth::getSeparationConstraints" ref="0ca219e86a0a99a8ad6198208cef26b7" args="(PxClothParticleSeparationConstraint *separationConstraintsBuffer) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual bool PxCloth::getSeparationConstraints </td> + <td>(</td> + <td class="paramtype"><a class="el" href="structPxClothParticleSeparationConstraint.html">PxClothParticleSeparationConstraint</a> * </td> + <td class="paramname"> <em>separationConstraintsBuffer</em> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Copies separation constraints to the user provided buffer. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>separationConstraintsBuffer</em> </td><td>Destination buffer, must be at least <a class="el" href="classPxCloth.html#8a6a6293bd22a97e2e25887c7f5beabf" title="Returns the number of separation constraints.">getNbSeparationConstraints()</a>. </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the copy was successful. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="b2c8c03af0b084ea266e3396620c051d"></a><!-- doxytag: member="PxCloth::getSimulationFilterData" ref="b2c8c03af0b084ea266e3396620c051d" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="structPxFilterData.html">PxFilterData</a> PxCloth::getSimulationFilterData </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieves the object's collision filter data. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Associated filter data </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#b25c6eba3fdd622cf24bb768b9c9010a" title="Sets the user definable collision filter data.">setSimulationFilterData()</a> <a class="el" href="structPxFilterData.html" title="PxFilterData is user-definable data which gets passed into the collision filtering...">PxFilterData</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="d421d5f30c8df5c22d605ab99fbf31d1"></a><!-- doxytag: member="PxCloth::getSleepLinearVelocity" ref="d421d5f30c8df5c22d605ab99fbf31d1" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getSleepLinearVelocity </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the velocity threshold for putting cloth in sleep state. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Velocity threshold for putting cloth in sleep state. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="88872e66443f69945805fabb16b8cfac"></a><!-- doxytag: member="PxCloth::getSolverFrequency" ref="88872e66443f69945805fabb16b8cfac" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getSolverFrequency </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns solver frequency. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Solver frequency. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="75cf540fbe32712420282f51dc281067"></a><!-- doxytag: member="PxCloth::getStiffnessFrequency" ref="75cf540fbe32712420282f51dc281067" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getStiffnessFrequency </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns stiffness frequency. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Stiffness frequency. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#3a353d83924d66f611186e0d8a046c63" title="Sets the stiffness frequency parameter.">setStiffnessFrequency()</a> for details. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="5bae6a80e0afb0b141214199db389911"></a><!-- doxytag: member="PxCloth::getStretchConfig" ref="5bae6a80e0afb0b141214199db389911" args="(PxClothFabricPhaseType::Enum type) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="structPxClothStretchConfig.html">PxClothStretchConfig</a> PxCloth::getStretchConfig </td> + <td>(</td> + <td class="paramtype"><a class="el" href="structPxClothFabricPhaseType.html#9f876cdc99a8e874ef799592a5f5562e">PxClothFabricPhaseType::Enum</a> </td> + <td class="paramname"> <em>type</em> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the solver parameters for one of the phase types. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>type</em> </td><td>Type of phases to return the config for. </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Vertical solver parameters. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="52957da35698b2488b4d67a4be285c55"></a><!-- doxytag: member="PxCloth::getTetherConfig" ref="52957da35698b2488b4d67a4be285c55" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="structPxClothTetherConfig.html">PxClothTetherConfig</a> PxCloth::getTetherConfig </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the stiffness parameters for the tether constraints. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Tether solver parameters. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="809f2a3c0093778728ffec589daac1b2"></a><!-- doxytag: member="PxCloth::getVirtualParticles" ref="809f2a3c0093778728ffec589daac1b2" args="(PxU32 *indicesBuffer) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::getVirtualParticles </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>indicesBuffer</em> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Copies index array of virtual particles to the user provided buffer. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>indicesBuffer</em> </td><td>Destination buffer, must be at least 4*getNbVirtualParticles(). </td></tr> + </table> +</dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#16ef3c8f9e199f38f84ca0b1529209e5" title="Assigns virtual particles.">setVirtualParticles()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="f07fe823f8c077967af39557b9acd140"></a><!-- doxytag: member="PxCloth::getVirtualParticleWeights" ref="f07fe823f8c077967af39557b9acd140" args="(PxVec3 *weightsBuffer) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::getVirtualParticleWeights </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxVec3.html">PxVec3</a> * </td> + <td class="paramname"> <em>weightsBuffer</em> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Copies weight table of virtual particles to the user provided buffer. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>weightsBuffer</em> </td><td>Destination buffer, must be at least <a class="el" href="classPxCloth.html#69fdeedc7a12ac0136c6ac15ff01085d" title="Returns the number of the virtual particle weights.">getNbVirtualParticleWeights()</a>. </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="29eaa86742537a7643a4a13637bccb7c"></a><!-- doxytag: member="PxCloth::getWakeCounter" ref="29eaa86742537a7643a4a13637bccb7c" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getWakeCounter </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the wake counter of the cloth. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>The wake counter of the cloth. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#d809a352134b033f57e8433968a335db" title="Returns true if cloth is in sleep state.">isSleeping()</a> <a class="el" href="classPxCloth.html#cfd45f2a5c3c1dde4bc84e8a6acab096" title="Sets the wake counter for the cloth.">setWakeCounter()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="3d7b5bb8e0c170df3791a213b33d04bf"></a><!-- doxytag: member="PxCloth::getWindDrag" ref="3d7b5bb8e0c170df3791a213b33d04bf" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getWindDrag </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the coefficient of the air drag on the fabric's triangles. +<p> + +</div> +</div><p> +<a class="anchor" name="f5f4903c1d69d12d554a95fd20e42bcf"></a><!-- doxytag: member="PxCloth::getWindLift" ref="f5f4903c1d69d12d554a95fd20e42bcf" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxReal PxCloth::getWindLift </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the coefficient of the air lift on the fabric's triangles. +<p> + +</div> +</div><p> +<a class="anchor" name="be1d2b13183f5287f20a7be842d9e287"></a><!-- doxytag: member="PxCloth::getWindVelocity" ref="be1d2b13183f5287f20a7be842d9e287" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxVec3.html">PxVec3</a> PxCloth::getWindVelocity </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the velocity of the wind affecting the fabric's triangles. +<p> + +</div> +</div><p> +<a class="anchor" name="86e89adaa6e6c0f7b5da218a45f4c5dc"></a><!-- doxytag: member="PxCloth::getWorldBounds" ref="86e89adaa6e6c0f7b5da218a45f4c5dc" args="(float inflation=1.01f) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxBounds3.html">PxBounds3</a> PxCloth::getWorldBounds </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"> <em>inflation</em> = <code>1.01f</code> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns world space bounding box. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>inflation</em> </td><td>Scale factor for computed world bounds. Box extents are multiplied by this value. </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Particle bounds in global coordinates. </dd></dl> + +<p>Implements <a class="el" href="classPxActor.html#cab89ce3ee6d27b580063d131a417721">PxActor</a>.</p> + +</div> +</div><p> +<a class="anchor" name="0f88ba159c4c72515ab36340d2c2dcbf"></a><!-- doxytag: member="PxCloth::isKindOf" ref="0f88ba159c4c72515ab36340d2c2dcbf" args="(const char *name) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual bool PxCloth::isKindOf </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>superClass</em> </td> + <td> ) </td> + <td> const<code> [inline, protected, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns whether a given type name matches with the type of this instance. +<p> + +<p>Reimplemented from <a class="el" href="classPxActor.html#fe6ddb3480f61350f60496c2e903c5c7">PxActor</a>.</p> + +<p>References <a class="el" href="PxActor_8h-source.html#l00376">PxActor::isKindOf()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="d809a352134b033f57e8433968a335db"></a><!-- doxytag: member="PxCloth::isSleeping" ref="d809a352134b033f57e8433968a335db" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual bool PxCloth::isSleeping </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns true if cloth is in sleep state. +<p> +<dl class="note" compact><dt><b>Note:</b></dt><dd>It is invalid to use this method if the cloth has not been added to a scene already. </dd></dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if cloth is in sleep state. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="41a91aca5941424cd64e09591d390480"></a><!-- doxytag: member="PxCloth::lockParticleData" ref="41a91aca5941424cd64e09591d390480" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxClothParticleData* PxCloth::lockParticleData </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Acquires read access to the cloth particle data. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>PxClothParticleData pointer which provides access to positions and weight. </dd></dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>This function is equivalent to lockParticleData(PxDataAccessFlag::eREADABLE). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="0c83dba214052e54d00da85a5971cd36"></a><!-- doxytag: member="PxCloth::lockParticleData" ref="0c83dba214052e54d00da85a5971cd36" args="(PxDataAccessFlags flags)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxClothParticleData* PxCloth::lockParticleData </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxFlags.html">PxDataAccessFlags</a> </td> + <td class="paramname"> <em>flags</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Acquires access to the cloth particle data. +<p> +This function returns a pointer to a PxClothParticleData instance providing access to the <a class="el" href="structPxClothParticle.html" title="Per particle data for cloth.">PxClothParticle</a> array of the current and previous iteration. The user is responsible for calling PxClothParticleData::unlock() after reading or updating the data. In case the lock has been requested using <a class="el" href="structPxDataAccessFlag.html#b6bd468adf2809435d24c9fe4882b6be93bbaa658d1b07527d2cb719e910e12a">PxDataAccessFlag::eWRITABLE</a>, the unlock() call copies the arrays pointed to by PxClothParticleData::particles/previousParticles back to the internal particle buffer. Updating the data when a read-only lock has been requested results in undefined behavior. Requesting multiple concurrent read-only locks is supported, but no other lock may be active when requesting a write lock.<p> +If <a class="el" href="structPxDataAccessFlag.html#b6bd468adf2809435d24c9fe4882b6beae2ed54d2a15462a9565fbe3554a9024">PxDataAccessFlag::eDEVICE</a> is set in flags then the returned pointers will be to CUDA device memory, this can be used for direct interop with graphics APIs. Note that these pointers should only be considered valid until PxClothParticleData::unlock() is called and should not be stored. <a class="el" href="structPxDataAccessFlag.html#b6bd468adf2809435d24c9fe4882b6beae2ed54d2a15462a9565fbe3554a9024">PxDataAccessFlag::eDEVICE</a> implies read and write access, and changing the particles/previousParticles members results in undefined behavior.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>Specifies if particle data is read or written. </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>PxClothParticleData pointer which provides access to positions and weight. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="f6f826b1ea5bcde8aadcbdc0775b1ce1"></a><!-- doxytag: member="PxCloth::putToSleep" ref="f6f826b1ea5bcde8aadcbdc0775b1ce1" args="()=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::putToSleep </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Forces cloth to be put in sleep state. +<p> +<dl class="note" compact><dt><b>Note:</b></dt><dd>It is invalid to use this method if the cloth has not been added to a scene already. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="8c77284f1e296248cd061a7960831780"></a><!-- doxytag: member="PxCloth::release" ref="8c77284f1e296248cd061a7960831780" args="()=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::release </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Deletes the cloth. Do not keep a reference to the deleted instance. +<p> + +<p>Implements <a class="el" href="classPxActor.html#589a4e70ef83b583ee6a4fc5c7767762">PxActor</a>.</p> + +</div> +</div><p> +<a class="anchor" name="7a000eb4b8fa5ea3257c3832ad4010f3"></a><!-- doxytag: member="PxCloth::removeCollisionCapsule" ref="7a000eb4b8fa5ea3257c3832ad4010f3" args="(PxU32 index)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::removeCollisionCapsule </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>index</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Removes a collision capsule. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>index</em> </td><td>Index of capsule to remove. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The indices of capsules added after <code>index</code> are decremented by 1. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="6301240887a3ee461448957810acaa78"></a><!-- doxytag: member="PxCloth::removeCollisionConvex" ref="6301240887a3ee461448957810acaa78" args="(PxU32 index)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::removeCollisionConvex </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>index</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Removes a collision convex. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>index</em> </td><td>Index of convex to remove. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The indices of convexes added after <code>index</code> are decremented by 1. <p> +Planes referenced by this convex will not be removed. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="9168dae650c9c972b4a9dbbbdb79bb4f"></a><!-- doxytag: member="PxCloth::removeCollisionPlane" ref="9168dae650c9c972b4a9dbbbdb79bb4f" args="(PxU32 index)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::removeCollisionPlane </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>index</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Removes a collision plane. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>index</em> </td><td>Index of plane to remove. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The indices of planes added after <code>index</code> are decremented by 1. <p> +Convexes that reference the plane will have the plane removed from their mask. If after removal a convex consists of zero planes, it will also be removed. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="989eedbe5212ae796f683ec6f97451c2"></a><!-- doxytag: member="PxCloth::removeCollisionSphere" ref="989eedbe5212ae796f683ec6f97451c2" args="(PxU32 index)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::removeCollisionSphere </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>index</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Removes collision sphere. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>index</em> </td><td>Index of sphere to remove. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The indices of spheres added after <code>index</code> are decremented by 1. <p> +Capsules made from the sphere to be removed are removed as well. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="2c5b2019415eea578c80ee6678d830c7"></a><!-- doxytag: member="PxCloth::removeCollisionTriangle" ref="2c5b2019415eea578c80ee6678d830c7" args="(PxU32 index)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::removeCollisionTriangle </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>index</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Removes a collision triangle. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>index</em> </td><td>Index of triangle to remove. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The indices of triangles added after <code>index</code> are decremented by 1. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="39a4c1f5258832f51940aaf9a44aa10f"></a><!-- doxytag: member="PxCloth::setAngularDragCoefficient" ref="39a4c1f5258832f51940aaf9a44aa10f" args="(PxVec3 dragCoefficient)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setAngularDragCoefficient </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxVec3.html">PxVec3</a> </td> + <td class="paramname"> <em>dragCoefficient</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the angular drag coefficient. +<p> +The angular drag coefficient is the portion of the pose rotation that is applied to each particle per stiffness period (see <a class="el" href="classPxCloth.html#3a353d83924d66f611186e0d8a046c63" title="Sets the stiffness frequency parameter.">PxCloth::setStiffnessFrequency</a>). <dl class="note" compact><dt><b>Note:</b></dt><dd>The scale is specified independently for each local rotation axis. </dd></dl> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>dragCoefficient</em> </td><td>New angular drag coefficient between 0.0f and 1.0 (default: 0.0). </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The drag coefficient shouldn't be set higher than the damping coefficient. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="5deea84f3f38b4b98f358e56acff221e"></a><!-- doxytag: member="PxCloth::setAngularInertiaScale" ref="5deea84f3f38b4b98f358e56acff221e" args="(PxVec3 scale)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setAngularInertiaScale </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxVec3.html">PxVec3</a> </td> + <td class="paramname"> <em>scale</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the acceleration scale factor to adjust inertia effect from global pose changes. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scale</em> </td><td>New scale factor between 0.0 (no inertia) and 1.0 (full inertia) (default: 1.0). </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The scale is specified independently for each local rotation axis. <p> +A value of 0.0 disables all inertia effects of rotations applied through setTargetPos(). </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#ba7f7ca016a260f8bed962764814ade3" title="Sets pose that the cloth should move to by the end of the next simulate() call.">setTargetPose()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="4c765fceb26e3c72c0b1c526ea5773f6"></a><!-- doxytag: member="PxCloth::setCentrifugalInertiaScale" ref="4c765fceb26e3c72c0b1c526ea5773f6" args="(PxVec3 scale)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setCentrifugalInertiaScale </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxVec3.html">PxVec3</a> </td> + <td class="paramname"> <em>scale</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the acceleration scale factor to adjust inertia effect from global pose changes. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scale</em> </td><td>New scale factor between 0.0 (no centrifugal force) and 1.0 (full centrifugal force) (default: 1.0). </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The scale is specified independently for each local rotation axis. <p> +A value of 0.0 disables all centrifugal forces of rotations applied through setTargetPos(). </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#ba7f7ca016a260f8bed962764814ade3" title="Sets pose that the cloth should move to by the end of the next simulate() call.">setTargetPose()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="3d3ee58e3b3960efb9d1e22422806c9d"></a><!-- doxytag: member="PxCloth::setClothFlag" ref="3d3ee58e3b3960efb9d1e22422806c9d" args="(PxClothFlag::Enum flag, bool value)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setClothFlag </td> + <td>(</td> + <td class="paramtype"><a class="el" href="structPxClothFlag.html#e53797ea68710df0ee906aea21693fe2">PxClothFlag::Enum</a> </td> + <td class="paramname"> <em>flag</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">bool </td> + <td class="paramname"> <em>value</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets cloth flags (e.g. use GPU for simulation, enable CCD, collide against scene). +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>flag</em> </td><td>Mask of which flags to set. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>value</em> </td><td>Value to set flags to. </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="6bc462eec7ba57909611c047a40003b6"></a><!-- doxytag: member="PxCloth::setClothFlags" ref="6bc462eec7ba57909611c047a40003b6" args="(PxClothFlags inFlags)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setClothFlags </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxFlags.html">PxClothFlags</a> </td> + <td class="paramname"> <em>inFlags</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Set all cloth flags. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>inFlags</em> </td><td>Bit mask of flag values </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="64d468f1f5bab0e2cfabcb02b9fe9f0b"></a><!-- doxytag: member="PxCloth::setCollisionMassScale" ref="64d468f1f5bab0e2cfabcb02b9fe9f0b" args="(PxReal scalingCoefficient)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setCollisionMassScale </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>scalingCoefficient</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the collision mass scaling coefficient. +<p> +During collision it is possible to artificially increase the mass of a colliding particle, this has an effect comparable to making constraints attached to the particle stiffer and can help reduce stretching and interpenetration around collision shapes. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scalingCoefficient</em> </td><td>Unitless multiplier that can take on values > 1 (default: 0.0). </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="c9fb679ec22ccad7ba5ea9b2397873d6"></a><!-- doxytag: member="PxCloth::setCollisionPlanes" ref="c9fb679ec22ccad7ba5ea9b2397873d6" args="(const PxClothCollisionPlane *planesBuffer, PxU32 count)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setCollisionPlanes </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxClothCollisionPlane.html">PxClothCollisionPlane</a> * </td> + <td class="paramname"> <em>planesBuffer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>count</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Updates positions of collision planes. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>planesBuffer</em> </td><td>New plane positions by the end of the next simulate() call. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>count</em> </td><td>New number of collision planes. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>You can also use this function to change the number of collision planes. <p> +A maximum of 32 planes are supported. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#30e1623ae04aa27c0bef16e5b3593f95" title="Assign current to previous positions for collision shapes, motion constraints, and...">clearInterpolation()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="d4bde7978010861d13207ba2dcd36b7a"></a><!-- doxytag: member="PxCloth::setCollisionSpheres" ref="d4bde7978010861d13207ba2dcd36b7a" args="(const PxClothCollisionSphere *spheresBuffer, PxU32 count)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setCollisionSpheres </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxClothCollisionSphere.html">PxClothCollisionSphere</a> * </td> + <td class="paramname"> <em>spheresBuffer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>count</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Updates location and radii of collision spheres. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>spheresBuffer</em> </td><td>New sphere positions and radii by the end of the next simulate() call. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>count</em> </td><td>New number of collision spheres. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>You can also use this function to change the number of collision spheres. <p> +A maximum of 32 spheres are supported. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#30e1623ae04aa27c0bef16e5b3593f95" title="Assign current to previous positions for collision shapes, motion constraints, and...">clearInterpolation()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="62d56093aa47f45a263c62721bd12530"></a><!-- doxytag: member="PxCloth::setCollisionTriangles" ref="62d56093aa47f45a263c62721bd12530" args="(const PxClothCollisionTriangle *trianglesBuffer, PxU32 count)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setCollisionTriangles </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxClothCollisionTriangle.html">PxClothCollisionTriangle</a> * </td> + <td class="paramname"> <em>trianglesBuffer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>count</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Updates positions of collision triangles. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>trianglesBuffer</em> </td><td>New triangle positions by the end of the next simulate() call. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>count</em> </td><td>New number of collision triangles. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>You can also use this function to change the number of collision triangles. <p> +GPU cloth is limited to 500 triangles per instance. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#30e1623ae04aa27c0bef16e5b3593f95" title="Assign current to previous positions for collision shapes, motion constraints, and...">clearInterpolation()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="04c2915cae434276ab7b60dcffa6f096"></a><!-- doxytag: member="PxCloth::setContactOffset" ref="04c2915cae434276ab7b60dcffa6f096" args="(PxReal offset)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setContactOffset </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>offset</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the width by which the cloth bounding box is increased to find nearby scene collision shapes. +<p> +The cloth particles collide against shapes in the scene that intersect the cloth bounding box enlarged by the contact offset (if the eSCENE_COLLISION flag is set). <b>Default:</b> 0.0f <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>offset</em> </td><td><b>Range:</b> [0, PX_MAX_F32) </td></tr> + </table> +</dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#c1a3210b12403cd8717dfc2198ee9b50" title="Returns cloth contact offset.">getContactOffset</a> <a class="el" href="classPxCloth.html#b613c92ba9a4d334536c9d97d87a13df" title="Sets the minimum distance between colliding cloth particles and scene shapes.">setRestOffset</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="6d636bc91871e6cde3535c72bfbc2f53"></a><!-- doxytag: member="PxCloth::setDampingCoefficient" ref="6d636bc91871e6cde3535c72bfbc2f53" args="(PxVec3 dampingCoefficient)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setDampingCoefficient </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxVec3.html">PxVec3</a> </td> + <td class="paramname"> <em>dampingCoefficient</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the damping coefficient. +<p> +The damping coefficient is the portion of local particle velocity that is canceled per stiffness period (see <a class="el" href="classPxCloth.html#3a353d83924d66f611186e0d8a046c63" title="Sets the stiffness frequency parameter.">PxCloth::setStiffnessFrequency</a>). <dl class="note" compact><dt><b>Note:</b></dt><dd>The scale is specified independently for each local space axis. </dd></dl> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>dampingCoefficient</em> </td><td>New damping coefficient between 0.0 and 1.0 (default: 0.0). </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="e985ceb77e39016e6945b1bfbf51cd36"></a><!-- doxytag: member="PxCloth::setDragCoefficient" ref="e985ceb77e39016e6945b1bfbf51cd36" args="(PxReal scale)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setDragCoefficient </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>scale</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Same as <code>setLinearDragCoefficient(PxVec3(coefficient)); setAngularDragCoefficient(PxVec3(coefficient));</code>. +<p> + +</div> +</div><p> +<a class="anchor" name="e13130b689712c14e2c98f4d98d5fd1a"></a><!-- doxytag: member="PxCloth::setExternalAcceleration" ref="e13130b689712c14e2c98f4d98d5fd1a" args="(PxVec3 acceleration)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setExternalAcceleration </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxVec3.html">PxVec3</a> </td> + <td class="paramname"> <em>acceleration</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets external particle accelerations. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>acceleration</em> </td><td>New acceleration in global coordinates (default: 0.0). </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>Use this to implement simple wind etc. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="11c07c5b385688e921d950f50ccf8e24"></a><!-- doxytag: member="PxCloth::setFrictionCoefficient" ref="11c07c5b385688e921d950f50ccf8e24" args="(PxReal frictionCoefficient)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setFrictionCoefficient </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>frictionCoefficient</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the collision friction coefficient. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>frictionCoefficient</em> </td><td>New friction coefficient between 0.0 and 1.0 (default: 0.0). </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>Currently only spheres and capsules impose friction on the colliding particles. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="e5b64a8e0ff184cf5ef76a5c6dd52ede"></a><!-- doxytag: member="PxCloth::setGlobalPose" ref="e5b64a8e0ff184cf5ef76a5c6dd52ede" args="(const PxTransform &pose)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setGlobalPose </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> & </td> + <td class="paramname"> <em>pose</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets current pose of the cloth without affecting inertia. +<p> +Use this to reset the pose (e.g. teleporting). <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>pose</em> </td><td>New global pose. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>No pose interpolation is performed. <p> +Inertia is not preserved. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#ba7f7ca016a260f8bed962764814ade3" title="Sets pose that the cloth should move to by the end of the next simulate() call.">setTargetPose()</a> for inertia preserving method. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="ae66828d50e4ee25ed06a5abdf87bb5c"></a><!-- doxytag: member="PxCloth::setInertiaScale" ref="ae66828d50e4ee25ed06a5abdf87bb5c" args="(PxReal scale)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setInertiaScale </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>scale</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Same as <code>setLinearInertiaScale(PxVec3(scale)); setAngularInertiaScale(PxVec3(scale)); getCentrifugalInertiaScale(PxVec3(scale)); </code>. +<p> + +</div> +</div><p> +<a class="anchor" name="04fcc059b87d0011a1fc01979ea47bd2"></a><!-- doxytag: member="PxCloth::setLinearDragCoefficient" ref="04fcc059b87d0011a1fc01979ea47bd2" args="(PxVec3 dragCoefficient)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setLinearDragCoefficient </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxVec3.html">PxVec3</a> </td> + <td class="paramname"> <em>dragCoefficient</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the linear drag coefficient. +<p> +The linear drag coefficient is the portion of the pose translation that is applied to each particle per stiffness period (see <a class="el" href="classPxCloth.html#3a353d83924d66f611186e0d8a046c63" title="Sets the stiffness frequency parameter.">PxCloth::setStiffnessFrequency</a>). <dl class="note" compact><dt><b>Note:</b></dt><dd>The scale is specified independently for each local space axis. </dd></dl> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>dragCoefficient</em> </td><td>New linear drag coefficient between 0.0f and 1.0 (default: 0.0). </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The drag coefficient shouldn't be set higher than the damping coefficient. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="a7ea423a0eca321e2b6aebd436792832"></a><!-- doxytag: member="PxCloth::setLinearInertiaScale" ref="a7ea423a0eca321e2b6aebd436792832" args="(PxVec3 scale)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setLinearInertiaScale </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxVec3.html">PxVec3</a> </td> + <td class="paramname"> <em>scale</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the acceleration scale factor to adjust inertia effect from global pose changes. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scale</em> </td><td>New scale factor between 0.0 (no inertia) and 1.0 (full inertia) (default: 1.0). </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The scale is specified independently for each local coordinate axis. <p> +A value of 0.0 disables all inertia effects of translations applied through setTargetPos(). </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#ba7f7ca016a260f8bed962764814ade3" title="Sets pose that the cloth should move to by the end of the next simulate() call.">setTargetPose()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="161c0d634e0650187b0f737873bcca17"></a><!-- doxytag: member="PxCloth::setMotionConstraintConfig" ref="161c0d634e0650187b0f737873bcca17" args="(const PxClothMotionConstraintConfig &config)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setMotionConstraintConfig </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxClothMotionConstraintConfig.html">PxClothMotionConstraintConfig</a> & </td> + <td class="paramname"> <em>config</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Specifies motion constraint scale, bias, and stiffness. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>config</em> </td><td>Motion constraints solver parameters. </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="0ccf1ef6c461898826b66f285e8c9f6a"></a><!-- doxytag: member="PxCloth::setMotionConstraints" ref="0ccf1ef6c461898826b66f285e8c9f6a" args="(const PxClothParticleMotionConstraint *motionConstraints)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setMotionConstraints </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxClothParticleMotionConstraint.html">PxClothParticleMotionConstraint</a> * </td> + <td class="paramname"> <em>motionConstraints</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Updates motion constraints (position and radius of the constraint sphere). +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>motionConstraints</em> </td><td>motion constraints at the end of the next simulate() call. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The <b>motionConstraints</b> must either be null to disable motion constraints, or be the same length as the number of particles, see <a class="el" href="classPxCloth.html#aa63b426bf2bc574ea6bbce52bda1074" title="Returns the number of particles.">getNbParticles()</a>. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#30e1623ae04aa27c0bef16e5b3593f95" title="Assign current to previous positions for collision shapes, motion constraints, and...">clearInterpolation()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="4f41c83d95eef0f7ed3894920cb7556d"></a><!-- doxytag: member="PxCloth::setParticleAccelerations" ref="4f41c83d95eef0f7ed3894920cb7556d" args="(const PxVec4 *particleAccelerations)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setParticleAccelerations </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxVec4.html">PxVec4</a> * </td> + <td class="paramname"> <em>particleAccelerations</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Updates particle accelerations, w component is ignored. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>particleAccelerations</em> </td><td>New particle accelerations. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The <b>particleAccelerations</b> must either be null to disable accelerations, or be the same length as the number of particles, see <a class="el" href="classPxCloth.html#aa63b426bf2bc574ea6bbce52bda1074" title="Returns the number of particles.">getNbParticles()</a>. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="45c9ddfe6fdadcb99dc26c41eea2afb9"></a><!-- doxytag: member="PxCloth::setParticles" ref="45c9ddfe6fdadcb99dc26c41eea2afb9" args="(const PxClothParticle *currentParticles, const PxClothParticle *previousParticles)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setParticles </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxClothParticle.html">PxClothParticle</a> * </td> + <td class="paramname"> <em>currentParticles</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="structPxClothParticle.html">PxClothParticle</a> * </td> + <td class="paramname"> <em>previousParticles</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Updates cloth particle location or inverse weight for current and previous particle state. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>currentParticles</em> </td><td>The particle data for the current particle state or NULL if the state should not be changed. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>previousParticles</em> </td><td>The particle data for the previous particle state or NULL if the state should not be changed. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The invWeight stored in <em>previousParticles</em> is the new particle inverse mass, or zero for a static particle. However, if invWeight stored in <em>currentParticles</em> is non-zero, it is still used once for the next particle integration and fabric solve. <p> +If <b>currentParticles</b> or <b>previousParticles</b> are non-NULL then they must be the length specified by <a class="el" href="classPxCloth.html#aa63b426bf2bc574ea6bbce52bda1074" title="Returns the number of particles.">getNbParticles()</a>. <p> +This can be used to teleport particles (use same positions for current and previous). </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="structPxClothParticle.html" title="Per particle data for cloth.">PxClothParticle</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="b613c92ba9a4d334536c9d97d87a13df"></a><!-- doxytag: member="PxCloth::setRestOffset" ref="b613c92ba9a4d334536c9d97d87a13df" args="(PxReal offset)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setRestOffset </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>offset</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the minimum distance between colliding cloth particles and scene shapes. +<p> +Cloth particles colliding against shapes in the scene get no closer to the shape's surface than specified by the rest offset (if the eSCENE_COLLISION flag is set). <b>Default:</b> 0.0f <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>offset</em> </td><td><b>Range:</b> [0, PX_MAX_F32) </td></tr> + </table> +</dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#101c0a3e1fd4bfa4c61a285128d18f26" title="Returns cloth rest offset.">getRestOffset</a> <a class="el" href="classPxCloth.html#04c2915cae434276ab7b60dcffa6f096" title="Sets the width by which the cloth bounding box is increased to find nearby scene...">setContactOffset</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="0184c7d7f20110fdee01b1c485bb7a63"></a><!-- doxytag: member="PxCloth::setRestPositions" ref="0184c7d7f20110fdee01b1c485bb7a63" args="(const PxVec4 *restPositions)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setRestPositions </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxVec4.html">PxVec4</a> * </td> + <td class="paramname"> <em>restPositions</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the cloth particles rest positions. +<p> +If non-null the cloth self-collision will consider the rest positions by discarding particle->particle collision where the distance between the associated rest particles is < the self collision distance. This allows self-collision distances that are larger than the minimum edge length in the mesh. Typically this function should be called with the same positions used to construct the cloth instance. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>restPositions</em> </td><td>Undeformed particle positions, the w component will be ignored </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd><b>restPositions</b> must either be null to disable rest position consideration, or be the same length as the number of particles, see <a class="el" href="classPxCloth.html#aa63b426bf2bc574ea6bbce52bda1074" title="Returns the number of particles.">getNbParticles()</a>. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="8a9395c7ef65990a78a8654eedd70eef"></a><!-- doxytag: member="PxCloth::setSelfCollisionDistance" ref="8a9395c7ef65990a78a8654eedd70eef" args="(PxReal distance)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setSelfCollisionDistance </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>distance</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the self collision distance. +<p> +A value larger than 0.0 enables particle versus particle collision. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>distance</em> </td><td>Minimum distance at which two particles repel each other (default: 0.0). </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="3d1655d3a49678ac120e60e5f5d0cb74"></a><!-- doxytag: member="PxCloth::setSelfCollisionIndices" ref="3d1655d3a49678ac120e60e5f5d0cb74" args="(const PxU32 *indices, PxU32 nbIndices)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setSelfCollisionIndices </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>indices</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>nbIndices</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets a subset of cloth particles which participate in self-collision. +<p> +If non-null the cloth self-collision will consider a subset of particles instead of all the particles. This can be used to improve self-collision performance or to increase the minimum distance between two self-colliding particles (and therefore the maximum sensible self-collision distance). <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>indices</em> </td><td>array of particle indices which participate in self-collision. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>nbIndices</em> </td><td>number of particle indices, or 0 to use all particles for self-collision. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>These indices will also be used if cloth inter-collision is enabled. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="444689a873e29404153b54e06c7f21f6"></a><!-- doxytag: member="PxCloth::setSelfCollisionStiffness" ref="444689a873e29404153b54e06c7f21f6" args="(PxReal stiffness)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setSelfCollisionStiffness </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>stiffness</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the self collision stiffness. +<p> +Self-collision stiffness controls how much two particles repel each other when they are closer than the self-collision distance. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>stiffness</em> </td><td>Fraction of distance residual to resolve per iteration (default: 1.0). </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="8cdc9a3c9faebf80d20e6e821c83834b"></a><!-- doxytag: member="PxCloth::setSeparationConstraints" ref="8cdc9a3c9faebf80d20e6e821c83834b" args="(const PxClothParticleSeparationConstraint *separationConstraints)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setSeparationConstraints </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxClothParticleSeparationConstraint.html">PxClothParticleSeparationConstraint</a> * </td> + <td class="paramname"> <em>separationConstraints</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Updates separation constraints (position and radius of the constraint sphere). +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>separationConstraints</em> </td><td>separation constraints at the end of the next simulate() call. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>The <b>separationConstraints</b> must either be null to disable separation constraints, or be the same length as the number of particles, see <a class="el" href="classPxCloth.html#aa63b426bf2bc574ea6bbce52bda1074" title="Returns the number of particles.">getNbParticles()</a>. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#30e1623ae04aa27c0bef16e5b3593f95" title="Assign current to previous positions for collision shapes, motion constraints, and...">clearInterpolation()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="b25c6eba3fdd622cf24bb768b9c9010a"></a><!-- doxytag: member="PxCloth::setSimulationFilterData" ref="b25c6eba3fdd622cf24bb768b9c9010a" args="(const PxFilterData &data)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setSimulationFilterData </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxFilterData.html">PxFilterData</a> & </td> + <td class="paramname"> <em>data</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the user definable collision filter data. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>The data that will be returned in the <a class="el" href="classPxScene.html" title="A scene is a collection of bodies, particle systems and constraints which can interact...">PxScene</a> filter shader callback. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>To disable collision on a cloth actor it is sufficient to set the filter data to some non-zero value (if using the SDK's default filter shader). </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__physics.html#g9db06e901a760fb02c06f27bf3e474b3" title="Filter shader to specify handling of collision pairs.">PxSimulationFilterShader</a> <a class="el" href="structPxFilterData.html" title="PxFilterData is user-definable data which gets passed into the collision filtering...">PxFilterData</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="f333884779888e3cbb11033877fe0638"></a><!-- doxytag: member="PxCloth::setSleepLinearVelocity" ref="f333884779888e3cbb11033877fe0638" args="(PxReal threshold)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setSleepLinearVelocity </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>threshold</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the velocity threshold for putting cloth in sleep state. +<p> +If none of the particles moves faster (in local space) than the threshold for a while, the cloth will be put in sleep state and simulation will be skipped. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>threshold</em> </td><td>Velocity threshold (default: 0.0f) </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="f5d725608c3f0cd3a7c3b67743e14aac"></a><!-- doxytag: member="PxCloth::setSolverFrequency" ref="f5d725608c3f0cd3a7c3b67743e14aac" args="(PxReal frequency)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setSolverFrequency </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>frequency</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the solver frequency parameter. +<p> +Solver frequency specifies how often the simulation step is computed per second. For example, a value of 60 represents one simulation step per frame in a 60fps scene. A value of 120 will represent two simulation steps per frame, etc. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>frequency</em> </td><td>Solver frequency per second (default: 60.0). </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="3a353d83924d66f611186e0d8a046c63"></a><!-- doxytag: member="PxCloth::setStiffnessFrequency" ref="3a353d83924d66f611186e0d8a046c63" args="(PxReal frequency)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setStiffnessFrequency </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>frequency</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the stiffness frequency parameter. +<p> +The stiffness frequency controls the power-law nonlinearity of all rate of change parameters (stretch stiffness, shear stiffness, bending stiffness, tether stiffness, self-collision stiffness, motion constraint stiffness, damp coefficient, linear and angular drag coefficients). Increasing the frequency avoids numerical cancellation for values near zero or one, but increases the non-linearity of the parameter. It is not recommended to change this parameter after cloth initialization. For example, the portion of edge overstretch removed per second is equal to the stretch stiffness raised to the power of the stiffness frequency. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>frequency</em> </td><td>Stiffness frequency per second (default: 10.0). </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="287124c7b4d26640849b8dd3489fff0d"></a><!-- doxytag: member="PxCloth::setStretchConfig" ref="287124c7b4d26640849b8dd3489fff0d" args="(PxClothFabricPhaseType::Enum type, const PxClothStretchConfig &config)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setStretchConfig </td> + <td>(</td> + <td class="paramtype"><a class="el" href="structPxClothFabricPhaseType.html#9f876cdc99a8e874ef799592a5f5562e">PxClothFabricPhaseType::Enum</a> </td> + <td class="paramname"> <em>type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="structPxClothStretchConfig.html">PxClothStretchConfig</a> & </td> + <td class="paramname"> <em>config</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the solver parameters for the vertical solver phases. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>config</em> </td><td>Stretch solver parameters. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>type</em> </td><td>Type of phases to set config for. </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="ba7f7ca016a260f8bed962764814ade3"></a><!-- doxytag: member="PxCloth::setTargetPose" ref="ba7f7ca016a260f8bed962764814ade3" args="(const PxTransform &pose)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setTargetPose </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> & </td> + <td class="paramname"> <em>pose</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets pose that the cloth should move to by the end of the next simulate() call. +<p> +This function will move the cloth in world space. The resulting simulation may reflect inertia effect as a result of pose acceleration. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>pose</em> </td><td>Target pose at the end of the next simulate() call. </td></tr> + </table> +</dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#e5b64a8e0ff184cf5ef76a5c6dd52ede" title="Sets current pose of the cloth without affecting inertia.">setGlobalPose()</a> to move <a class="el" href="group__cloth.html">Cloth</a> without inertia effect. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="b6f7f3f91fe4f2ed5e2620605c4723ff"></a><!-- doxytag: member="PxCloth::setTetherConfig" ref="b6f7f3f91fe4f2ed5e2620605c4723ff" args="(const PxClothTetherConfig &config)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setTetherConfig </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structPxClothTetherConfig.html">PxClothTetherConfig</a> & </td> + <td class="paramname"> <em>config</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the stiffness parameters for the tether constraints. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>config</em> </td><td>Tether constraints solver parameters. </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="16ef3c8f9e199f38f84ca0b1529209e5"></a><!-- doxytag: member="PxCloth::setVirtualParticles" ref="16ef3c8f9e199f38f84ca0b1529209e5" args="(PxU32 numVirtualParticles, const PxU32 *indices, PxU32 numWeights, const PxVec3 *weights)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setVirtualParticles </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>numVirtualParticles</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>indices</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>numWeights</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> * </td> + <td class="paramname"> <em>weights</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Assigns virtual particles. +<p> +Virtual particles provide more robust and accurate collision handling against collision spheres and capsules. More virtual particles will generally increase the accuracy of collision handling, and thus a sufficient number of virtual particles can mimic triangle-based collision handling.<br> + Virtual particles are specified as barycentric interpolation of real particles: The position of a virtual particle is w0 * P0 + w1 * P1 + w2 * P2, where P0, P1, P2 real particle positions. The barycentric weights w0, w1, w2 are stored in a separate table so they can be shared across multiple virtual particles. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>numVirtualParticles</em> </td><td>total number of virtual particles. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>indices</em> </td><td>Each virtual particle has four indices, the first three for real particle indices, and the last for the weight table index. Thus, the length of <b>indices</b> needs to be 4*numVirtualParticles. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>numWeights</em> </td><td>total number of unique weights triples. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>weights</em> </td><td>array for barycentric weights. </td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>Virtual particles only incur a runtime cost during the collision stage. Still, it is advisable to only use virtual particles for areas where high collision accuracy is desired. (e.g. sleeve around elbow). </dd></dl> + +</div> +</div><p> +<a class="anchor" name="cfd45f2a5c3c1dde4bc84e8a6acab096"></a><!-- doxytag: member="PxCloth::setWakeCounter" ref="cfd45f2a5c3c1dde4bc84e8a6acab096" args="(PxReal wakeCounterValue)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setWakeCounter </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> <em>wakeCounterValue</em> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the wake counter for the cloth. +<p> +The wake counter value determines how long all particles need to move less than the velocity threshold until the cloth is put to sleep (see <a class="el" href="classPxCloth.html#f333884779888e3cbb11033877fe0638" title="Sets the velocity threshold for putting cloth in sleep state.">setSleepLinearVelocity()</a>). <dl class="note" compact><dt><b>Note:</b></dt><dd>Passing in a positive value will wake the cloth up automatically. <b>Default:</b> 0.395 (which corresponds to 20 frames for a time step of 0.02) </dd></dl> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>wakeCounterValue</em> </td><td>Wake counter value. <b>Range:</b> [0, PX_MAX_F32) </td></tr> + </table> +</dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#d809a352134b033f57e8433968a335db" title="Returns true if cloth is in sleep state.">isSleeping()</a> <a class="el" href="classPxCloth.html#29eaa86742537a7643a4a13637bccb7c" title="Returns the wake counter of the cloth.">getWakeCounter()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="41d1bc3cbe1f01737a49bd4d489afb54"></a><!-- doxytag: member="PxCloth::setWindDrag" ref="41d1bc3cbe1f01737a49bd4d489afb54" args="(PxReal)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setWindDrag </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the coefficient of the air drag on the fabric's triangles. +<p> + +</div> +</div><p> +<a class="anchor" name="2c43cb034276d6be1ac72b3219ebd21c"></a><!-- doxytag: member="PxCloth::setWindLift" ref="2c43cb034276d6be1ac72b3219ebd21c" args="(PxReal)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setWindLift </td> + <td>(</td> + <td class="paramtype">PxReal </td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the coefficient of the air lift on the fabric's triangles. +<p> + +</div> +</div><p> +<a class="anchor" name="88764e4c775cf251cd8011d9b1a6fd8e"></a><!-- doxytag: member="PxCloth::setWindVelocity" ref="88764e4c775cf251cd8011d9b1a6fd8e" args="(PxVec3)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::setWindVelocity </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxVec3.html">PxVec3</a> </td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets the velocity of the wind affecting the fabric's triangles. +<p> + +</div> +</div><p> +<a class="anchor" name="b5092893f40cf8d9399b467f59f893de"></a><!-- doxytag: member="PxCloth::wakeUp" ref="b5092893f40cf8d9399b467f59f893de" args="()=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxCloth::wakeUp </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Forces cloth to wake up from sleep state. +<p> +<dl class="note" compact><dt><b>Note:</b></dt><dd>This will set the wake counter of the cloth to the value specified in <a class="el" href="classPxSceneDesc.html#79e2c9c06f711272a48d7f07451117b7" title="The wake counter reset value.">PxSceneDesc::wakeCounterResetValue</a>. <p> +It is invalid to use this method if the cloth has not been added to a scene already. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxCloth.html#d809a352134b033f57e8433968a335db" title="Returns true if cloth is in sleep state.">isSleeping()</a> <a class="el" href="classPxCloth.html#f6f826b1ea5bcde8aadcbdc0775b1ce1" title="Forces cloth to be put in sleep state.">putToSleep()</a> </dd></dl> + +</div> +</div><p> +<hr>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PxCloth_8h-source.html">PxCloth.h</a></ul> +</div> + +<hr style="width: 100%; height: 2px;"><br> +Copyright © 2008-2016 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a> +</body> +</html> |