<xs:element name="Contact">
<xs:annotation>
<xs:appinfo />
<xs:documentation />
</xs:annotation>
<xs:complexType mixed="false">
<xs:complexContent mixed="false">
<xs:extension base="X3DNBodyCollisionSpaceNode">
<xs:sequence>
<xs:sequence minOccurs="0">
<xs:element ref="RigidBody">
<xs:annotation>
<xs:documentation>body1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RigidBody" minOccurs="0">
<xs:annotation>
<xs:documentation>body2</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<!-- TODO: content model indeterminism problem -->
<!--
<xs:sequence>
<xs:element ref="RigidBody">
<xs:annotation>
<xs:documentation>body1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RigidBody" minOccurs="0">
<xs:annotation>
<xs:documentation>body2</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0">
<xs:sequence>
<xs:element ref="CollidableOffset">
<xs:annotation>
<xs:documentation>geometry1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CollidableShape" minOccurs="0">
<xs:annotation>
<xs:documentation>geometry2</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:sequence minOccurs="0">
<xs:element ref="CollidableShape">
<xs:annotation>
<xs:documentation>geometry1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CollidableOffset" minOccurs="0">
<xs:annotation>
<xs:documentation>geometry2</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
<xs:sequence minOccurs="0" maxOccurs="4">
<xs:element ref="ProtoInstance"/>
</xs:sequence>
</xs:sequence>
<xs:sequence>
<xs:element ref="CollidableOffset">
<xs:annotation>
<xs:documentation>geometry1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CollidableShape" minOccurs="0">
<xs:annotation>
<xs:documentation>geometry2</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence minOccurs="0">
<xs:element ref="RigidBody">
<xs:annotation>
<xs:documentation>body1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RigidBody" minOccurs="0">
<xs:annotation>
<xs:documentation>body2</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:sequence minOccurs="0" maxOccurs="4">
<xs:element ref="ProtoInstance"/>
</xs:sequence>
</xs:sequence>
<xs:sequence>
<xs:element ref="CollidableOffset">
<xs:annotation>
<xs:documentation>geometry1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence minOccurs="0">
<xs:element ref="RigidBody">
<xs:annotation>
<xs:documentation>body1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RigidBody" minOccurs="0">
<xs:annotation>
<xs:documentation>body2</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:element ref="CollidableShape" minOccurs="0">
<xs:annotation>
<xs:documentation>geometry2</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence minOccurs="0" maxOccurs="4">
<xs:element ref="ProtoInstance"/>
</xs:sequence>
</xs:sequence>
<xs:sequence>
<xs:element ref="CollidableShape">
<xs:annotation>
<xs:documentation>geometry1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CollidableOffset" minOccurs="0">
<xs:annotation>
<xs:documentation>geometry2</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence minOccurs="0">
<xs:element ref="RigidBody">
<xs:annotation>
<xs:documentation>body1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RigidBody" minOccurs="0">
<xs:annotation>
<xs:documentation>body2</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:sequence minOccurs="0" maxOccurs="4">
<xs:element ref="ProtoInstance"/>
</xs:sequence>
</xs:sequence>
<xs:sequence>
<xs:element ref="CollidableShape">
<xs:annotation>
<xs:documentation>geometry2</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence minOccurs="0">
<xs:element ref="RigidBody">
<xs:annotation>
<xs:documentation>body1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RigidBody" minOccurs="0">
<xs:annotation>
<xs:documentation>body2</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:element ref="CollidableOffset" minOccurs="0">
<xs:annotation>
<xs:documentation>geometry1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence minOccurs="0" maxOccurs="4">
<xs:element ref="ProtoInstance"/>
</xs:sequence>
</xs:sequence>
-->
<xs:choice minOccurs="0">
<xs:sequence>
<xs:annotation>
<xs:documentation>geometry1</xs:documentation>
</xs:annotation>
<xs:element ref="CollidableOffset" />
<xs:choice minOccurs="0">
<xs:annotation>
<xs:documentation>geometry2</xs:documentation>
</xs:annotation>
<xs:element ref="CollidableOffset" />
<xs:element ref="CollidableShape" />
<xs:element ref="ProtoInstance" />
</xs:choice>
</xs:sequence>
<xs:sequence>
<xs:annotation>
<xs:documentation>geometry1</xs:documentation>
</xs:annotation>
<xs:element ref="CollidableShape" />
<xs:choice minOccurs="0">
<xs:annotation>
<xs:documentation>geometry2</xs:documentation>
</xs:annotation>
<xs:element ref="CollidableOffset" />
<xs:element ref="CollidableShape" />
<xs:element ref="ProtoInstance" />
</xs:choice>
</xs:sequence>
<xs:sequence>
<xs:annotation>
<xs:documentation>geometry1</xs:documentation>
</xs:annotation>
<xs:element ref="ProtoInstance" />
<xs:choice minOccurs="0">
<xs:annotation>
<xs:documentation>geometry2</xs:documentation>
</xs:annotation>
<xs:element ref="CollidableOffset" />
<xs:element ref="CollidableShape" />
<xs:element ref="ProtoInstance" />
</xs:choice>
</xs:sequence>
</xs:choice>
</xs:sequence>
<xs:attribute name="appliedParameters" type="MFString" default="BOUNCE" />
<xs:attribute name="bounce" type="SFFloat" default="0" />
<xs:attribute name="contactNormal" type="SFVec3f" default="0 1 0" />
<xs:attribute name="depth" type="SFFloat" default="0" />
<xs:attribute name="frictionCoefficients" type="SFVec2f" default="0 0" />
<xs:attribute name="frictionDirection" type="SFVec3f" default="0 1 0" />
<xs:attribute name="minBounceSpeed" type="SFFloat" default="0" />
<xs:attribute name="position" type="SFVec3f" default="0 0 0" />
<xs:attribute name="slipCoefficients" type="SFVec2f" default="0 0" />
<xs:attribute name="softnessConstantForceMix" type="SFFloat" default="0.0001" />
<xs:attribute name="softnessErrorCorrection" type="SFFloat" default="0.8" />
<xs:attribute name="surfaceSpeed" type="SFVec2f" default="0 0" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
|