Files
PhysX4.1/physx/documentation/PhysXAPI/files/classPxConstraintConnector.html
2025-11-28 23:13:44 +05:30

450 lines
24 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PxConstraintConnector Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="PhysXLogoBlack.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classPxConstraintConnector.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classPxConstraintConnector-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">PxConstraintConnector Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__physics.html">Physics</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>This class connects a custom constraint to the SDK.
<a href="classPxConstraintConnector.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="PxConstraintDesc_8h_source.html">PxConstraintDesc.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af04ac1b3cbd43565ac99957dd9cde100"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxConstraintConnector.html#af04ac1b3cbd43565ac99957dd9cde100">prepareData</a> ()=0</td></tr>
<tr class="separator:af04ac1b3cbd43565ac99957dd9cde100"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac70ca90dc4055c11c76b2faf15dbb205"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxConstraintConnector.html#ac70ca90dc4055c11c76b2faf15dbb205">updatePvdProperties</a> (physx::pvdsdk::PvdDataStream &amp;pvdConnection, const <a class="el" href="classPxConstraint.html">PxConstraint</a> *c, <a class="el" href="structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821e">PxPvdUpdateType::Enum</a> updateType) const =0</td></tr>
<tr class="separator:ac70ca90dc4055c11c76b2faf15dbb205"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c4abc11ca607b42c8f84956392c9cdd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxConstraintConnector.html#a9c4abc11ca607b42c8f84956392c9cdd">onConstraintRelease</a> ()=0</td></tr>
<tr class="separator:a9c4abc11ca607b42c8f84956392c9cdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93cb6a551c50f48d5ccec421a97cabcc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxConstraintConnector.html#a93cb6a551c50f48d5ccec421a97cabcc">onComShift</a> (<a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> actor)=0</td></tr>
<tr class="separator:a93cb6a551c50f48d5ccec421a97cabcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a668fc9420f8dee64887f9d7dad97ed5f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxConstraintConnector.html#a668fc9420f8dee64887f9d7dad97ed5f">onOriginShift</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;shift)=0</td></tr>
<tr class="separator:a668fc9420f8dee64887f9d7dad97ed5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1210c94b5fa0513b2cd99ceedccd23ee"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxConstraintConnector.html#a1210c94b5fa0513b2cd99ceedccd23ee">getExternalReference</a> (<a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> &amp;typeID)=0</td></tr>
<tr class="memdesc:a1210c94b5fa0513b2cd99ceedccd23ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetches external data for a constraint. <a href="#a1210c94b5fa0513b2cd99ceedccd23ee">More...</a><br /></td></tr>
<tr class="separator:a1210c94b5fa0513b2cd99ceedccd23ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae924cd9415c06057a3fcd7077028baad"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPxBase.html">PxBase</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxConstraintConnector.html#ae924cd9415c06057a3fcd7077028baad">getSerializable</a> ()=0</td></tr>
<tr class="memdesc:ae924cd9415c06057a3fcd7077028baad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtain a reference to a <a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection. ">PxBase</a> interface if the constraint has one. <a href="#ae924cd9415c06057a3fcd7077028baad">More...</a><br /></td></tr>
<tr class="separator:ae924cd9415c06057a3fcd7077028baad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff598a3ab349524666e2ed79c862f3a9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__physics.html#ga4d1a71cd5d63cff2bbd97d8bc8899708">PxConstraintSolverPrep</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxConstraintConnector.html#aff598a3ab349524666e2ed79c862f3a9">getPrep</a> () const =0</td></tr>
<tr class="memdesc:aff598a3ab349524666e2ed79c862f3a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtain the shader function pointer used to prep rows for this constraint. <a href="#aff598a3ab349524666e2ed79c862f3a9">More...</a><br /></td></tr>
<tr class="separator:aff598a3ab349524666e2ed79c862f3a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a93655be259791a2eaf2a7d857c598d"><td class="memItemLeft" align="right" valign="top">virtual const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxConstraintConnector.html#a7a93655be259791a2eaf2a7d857c598d">getConstantBlock</a> () const =0</td></tr>
<tr class="memdesc:a7a93655be259791a2eaf2a7d857c598d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtain the pointer to the constraint's constant data. <a href="#a7a93655be259791a2eaf2a7d857c598d">More...</a><br /></td></tr>
<tr class="separator:a7a93655be259791a2eaf2a7d857c598d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71f8ff017c14b26c81b06be700f015f1"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxConstraintConnector.html#a71f8ff017c14b26c81b06be700f015f1">~PxConstraintConnector</a> ()</td></tr>
<tr class="memdesc:a71f8ff017c14b26c81b06be700f015f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual destructor <a href="#a71f8ff017c14b26c81b06be700f015f1">More...</a><br /></td></tr>
<tr class="separator:a71f8ff017c14b26c81b06be700f015f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class connects a custom constraint to the SDK. </p>
<p>This class connects a custom constraint to the SDK, and functions are called by the SDK to query the custom implementation for specific information to pass on to the application or inform the constraint when the application makes calls into the SDK which will update the custom constraint's internal implementation </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a71f8ff017c14b26c81b06be700f015f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71f8ff017c14b26c81b06be700f015f1">&#9670;&nbsp;</a></span>~PxConstraintConnector()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual PxConstraintConnector::~PxConstraintConnector </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual destructor </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a7a93655be259791a2eaf2a7d857c598d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a93655be259791a2eaf2a7d857c598d">&#9670;&nbsp;</a></span>getConstantBlock()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const void* PxConstraintConnector::getConstantBlock </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Obtain the pointer to the constraint's constant data. </p>
</div>
</div>
<a id="a1210c94b5fa0513b2cd99ceedccd23ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1210c94b5fa0513b2cd99ceedccd23ee">&#9670;&nbsp;</a></span>getExternalReference()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void* PxConstraintConnector::getExternalReference </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> &amp;&#160;</td>
<td class="paramname"><em>typeID</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fetches external data for a constraint. </p>
<p>This function is used by the SDK to acquire a reference to the owner of a constraint and a unique owner type ID. This information will be passed on when a breakable constraint breaks or when <a class="el" href="classPxConstraint.html#ac35d572c4d343685c120f11c8884526e" title="Fetch external owner of the constraint. ">PxConstraint::getExternalReference()</a> is called.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">typeID</td><td>Unique type identifier of the external object. The value 0xffffffff is reserved and should not be used. Furthermore, if the PhysX extensions library is used, some other IDs are reserved already (see <a class="el" href="structPxConstraintExtIDs.html" title="Unique identifiers for extensions classes which implement a constraint based on PxConstraint. ">PxConstraintExtIDs</a>) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the external object which owns the constraint.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structPxConstraintInfo.html" title="Descriptor for a broken constraint. ">PxConstraintInfo</a> <a class="el" href="classPxSimulationEventCallback.html#a67c6553ee9090481ece8b041502eb948" title="This is called when a breakable constraint breaks. ">PxSimulationEventCallback.onConstraintBreak()</a> </dd></dl>
</div>
</div>
<a id="aff598a3ab349524666e2ed79c862f3a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff598a3ab349524666e2ed79c862f3a9">&#9670;&nbsp;</a></span>getPrep()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__physics.html#ga4d1a71cd5d63cff2bbd97d8bc8899708">PxConstraintSolverPrep</a> PxConstraintConnector::getPrep </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Obtain the shader function pointer used to prep rows for this constraint. </p>
</div>
</div>
<a id="ae924cd9415c06057a3fcd7077028baad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae924cd9415c06057a3fcd7077028baad">&#9670;&nbsp;</a></span>getSerializable()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classPxBase.html">PxBase</a>* PxConstraintConnector::getSerializable </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Obtain a reference to a <a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection. ">PxBase</a> interface if the constraint has one. </p>
<p>If the constraint does not implement the <a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection. ">PxBase</a> interface, it should return NULL. </p>
</div>
</div>
<a id="a93cb6a551c50f48d5ccec421a97cabcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93cb6a551c50f48d5ccec421a97cabcc">&#9670;&nbsp;</a></span>onComShift()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxConstraintConnector::onComShift </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a>&#160;</td>
<td class="paramname"><em>actor</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is called by the SDK when the CoM of one of the actors is moved. Since the API specifies constraint positions relative to actors, and the constraint shader functions are supplied with coordinates relative to bodies, some synchronization is usually required when the application moves an object's center of mass. </p>
</div>
</div>
<a id="a9c4abc11ca607b42c8f84956392c9cdd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c4abc11ca607b42c8f84956392c9cdd">&#9670;&nbsp;</a></span>onConstraintRelease()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxConstraintConnector::onConstraintRelease </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>When the SDK deletes a <a class="el" href="classPxConstraint.html" title="A plugin class for implementing constraints. ">PxConstraint</a> object this function is called by the SDK. In general custom constraints should not be deleted directly by applications: rather, the constraint should respond to a release() request by calling <a class="el" href="classPxConstraint.html#a8153c211d21fff49565e7e06e475d5cc" title="Releases a PxConstraint instance. ">PxConstraint::release()</a>, then wait for this call to release its own resources, so that even if the release() call occurs during a simulation step, the deletion of the constraint is buffered until that step completes.</p>
<p>This function is also called when a <a class="el" href="classPxConstraint.html" title="A plugin class for implementing constraints. ">PxConstraint</a> object is deleted on cleanup due to destruction of the <a class="el" href="classPxPhysics.html" title="Abstract singleton factory class used for instancing objects in the Physics SDK. ">PxPhysics</a> object. </p>
</div>
</div>
<a id="a668fc9420f8dee64887f9d7dad97ed5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a668fc9420f8dee64887f9d7dad97ed5f">&#9670;&nbsp;</a></span>onOriginShift()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxConstraintConnector::onOriginShift </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td>
<td class="paramname"><em>shift</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is called by the SDK when the scene origin gets shifted and allows to adjust custom data which contains world space transforms.</p>
<dl class="section note"><dt>Note</dt><dd>If the adjustments affect constraint shader data, it is necessary to call <a class="el" href="classPxConstraint.html#ac54f23bc7b3d52d3b5f265f6750e3199" title="Notify the scene that the constraint shader data has been updated by the application. ">PxConstraint::markDirty()</a> to make sure that the data gets synced at the beginning of the next simulation step.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Translation vector the origin is shifted by.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxScene.html#a3cb2b6b3b72cefb94fa9e64ca09660f6" title="Shift the scene origin by the specified vector. ">PxScene.shiftOrigin()</a> </dd></dl>
</div>
</div>
<a id="af04ac1b3cbd43565ac99957dd9cde100"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af04ac1b3cbd43565ac99957dd9cde100">&#9670;&nbsp;</a></span>prepareData()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void* PxConstraintConnector::prepareData </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>when the constraint is marked dirty, this function is called at the start of the simulation step for the SDK to copy the constraint data block. </p>
</div>
</div>
<a id="ac70ca90dc4055c11c76b2faf15dbb205"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac70ca90dc4055c11c76b2faf15dbb205">&#9670;&nbsp;</a></span>updatePvdProperties()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool PxConstraintConnector::updatePvdProperties </td>
<td>(</td>
<td class="paramtype">physx::pvdsdk::PvdDataStream &amp;&#160;</td>
<td class="paramname"><em>pvdConnection</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classPxConstraint.html">PxConstraint</a> *&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821e">PxPvdUpdateType::Enum</a>&#160;</td>
<td class="paramname"><em>updateType</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>this function is called by the SDK to update PVD's view of it </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="PxConstraintDesc_8h_source.html">PxConstraintDesc.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classPxConstraintConnector.html">PxConstraintConnector</a></li>
<li class="footer">Copyright &copy; 2008-2021 NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, CA 95051 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a></li>
</ul>
</div>
</body>
</html>