aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Documentation/PhysXAPI/files/structPxMaterialFlag.html
blob: 3698129e5e9ca129d8806c22da83f440a9ef924d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<html>
	<head>
		<title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMaterialFlag Struct 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> &nbsp; 
				<a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; 
				<a class="qindex" href="annotated.html">Compound List</a> &nbsp; 
				<a class="qindex" href="functions.html">Compound Members</a> &nbsp;  
			</center>
			<hr class="second">
		</div>
<!-- Generated by Doxygen 1.5.8 -->
<div class="contents">
<h1>PxMaterialFlag Struct Reference<br>
<small>
[<a class="el" href="group__physics.html">Physics</a>]</small>
</h1><!-- doxytag: class="PxMaterialFlag" -->Flags which control the behavior of a material.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="PxMaterial_8h-source.html">PxMaterial.h</a>&gt;</code>
<p>

<p>
<a href="structPxMaterialFlag-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 Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxMaterialFlag.html#0cbfebf648d620e4619a5a81b49cc298">Enum</a> { <br>
&nbsp;&nbsp;<a class="el" href="structPxMaterialFlag.html#0cbfebf648d620e4619a5a81b49cc298e7ac972a545dcab3eea1c3cc4e7f385a">eDISABLE_FRICTION</a> =  1 &lt;&lt; 0, 
<br>
&nbsp;&nbsp;<a class="el" href="structPxMaterialFlag.html#0cbfebf648d620e4619a5a81b49cc2985226d9bd4d9fca36ed7f116e95ea987c">eDISABLE_STRONG_FRICTION</a> =  1 &lt;&lt; 1
<br>
 }</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Flags which control the behavior of a material. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxMaterial.html" title="Material class to represent a set of surface properties.">PxMaterial</a> </dd></dl>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="0cbfebf648d620e4619a5a81b49cc298"></a><!-- doxytag: member="PxMaterialFlag::Enum" ref="0cbfebf648d620e4619a5a81b49cc298" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="structPxMaterialFlag.html#0cbfebf648d620e4619a5a81b49cc298">PxMaterialFlag::Enum</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="0cbfebf648d620e4619a5a81b49cc298e7ac972a545dcab3eea1c3cc4e7f385a"></a><!-- doxytag: member="eDISABLE_FRICTION" ref="0cbfebf648d620e4619a5a81b49cc298e7ac972a545dcab3eea1c3cc4e7f385a" args="" -->eDISABLE_FRICTION</em>&nbsp;</td><td>
If this flag is set, friction computations are always skipped between shapes with this material and any other shape. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="0cbfebf648d620e4619a5a81b49cc2985226d9bd4d9fca36ed7f116e95ea987c"></a><!-- doxytag: member="eDISABLE_STRONG_FRICTION" ref="0cbfebf648d620e4619a5a81b49cc2985226d9bd4d9fca36ed7f116e95ea987c" args="" -->eDISABLE_STRONG_FRICTION</em>&nbsp;</td><td>
The difference between "normal" and "strong" friction is that the strong friction feature remembers the "friction error" between simulation steps. The friction is a force trying to hold objects in place (or slow them down) and this is handled in the solver. But since the solver is only an approximation, the result of the friction calculation can include a small "error" - e.g. a box resting on a slope should not move at all if the static friction is in action, but could slowly glide down the slope because of a small friction error in each simulation step. The strong friction counter-acts this by remembering the small error and taking it to account during the next simulation step.<p>
However, in some cases the strong friction could cause problems, and this is why it is possible to disable the strong friction feature by setting this flag. One example is raycast vehicles, that are sliding fast across the surface, but still need a precise steering behavior. It may be a good idea to reenable the strong friction when objects are coming to a rest, to prevent them from slowly creeping down inclines.<p>
Note: This flag only has an effect if the <a class="el" href="structPxMaterialFlag.html#0cbfebf648d620e4619a5a81b49cc298e7ac972a545dcab3eea1c3cc4e7f385a">PxMaterialFlag::eDISABLE_FRICTION</a> bit is 0. </td></tr>
</table>
</dl>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="PxMaterial_8h-source.html">PxMaterial.h</a></ul>
</div>

<hr style="width: 100%; height: 2px;"><br>
Copyright &copy; 2008-2018 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>