<xs:element name="PrimitivePickSensor">
<xs:annotation>
<xs:appinfo>
<xs:attribute name="componentName" type="xs:NMTOKEN" fixed="Picking"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="2"/>If a non-uniform scale is applied to the pick sensor, correct results may require level 3 support.</xs:appinfo>
<xs:documentation source="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/picking.html#PrimitivePickSensor"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="X3DPickSensorNode">
<xs:sequence>
<!-- TODO determine whether strict ordering can be relaxed -->
<xs:choice minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>pickingGeometry</xs:documentation>
</xs:annotation>
<xs:element ref="Box"/>
<xs:element ref="Cone"/>
<xs:element ref="Cylinder"/>
<xs:element ref="Sphere"/>
<!-- if ProtoInstance is used as pickingGeometry, it can be picked up in next choice definitions -->
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>pickTarget</xs:documentation>
</xs:annotation>
<xs:group ref="PickSensorGroupingNodeContentModel"/>
<xs:element ref="Shape"/>
<xs:element ref="ProtoInstance">
<xs:annotation>
<xs:documentation>Appropriately typed substitution node</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="containerField" type="xs:NMTOKEN" default="children"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element> |