<xs:element name="ParticleSystem">
<xs:annotation>
<xs:appinfo>
<xs:attribute name="isActive" type="SFBool" fixed="outputOnlyField"/>
<xs:element name="colorRamp" type="SFNode" fixed="initializeOnlyField" default="X3DColorNode"/>
<xs:element name="geometry" type="SFNode" fixed="inputOutputField" default="X3DGeometryNode">
<!-- annotates SFNode geometry from Shape node -->
<xs:annotation>
<xs:appinfo>
<xs:attribute name="componentName" type="xs:NMTOKEN" fixed="ParticleSystems"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="3"/>Support for SFNode geometry field (inherited from X3DShapeNode) required at level 3.</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="emitter" type="SFNode" fixed="initializeOnlyField" default="X3DParticleEmitterNode"/>
<xs:element name="physics" type="MFNode" fixed="initializeOnlyField" default="X3DParticlePhysicsModelNode"/>
<xs:element name="texCoordRamp" type="SFNode" fixed="initializeOnlyField" default="TextureCoordinate"/>
<xs:attribute name="componentName" type="xs:NMTOKEN" fixed="ParticleSystems"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="2"/>
</xs:appinfo>
<xs:documentation source="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/particle_systems.html#ParticleSystem"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="X3DShapeNode">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>SFNode</xs:documentation>
</xs:annotation>
<xs:element ref="Color">
<xs:annotation>
<xs:documentation>colorRamp</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ColorRGBA">
<xs:annotation>
<xs:documentation>colorRamp</xs:documentation>
</xs:annotation>
</xs:element>
<!-- unable to include colorRamp ProtoInstance without creating an ambiguous content model -->
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>SFNode</xs:documentation>
</xs:annotation>
<xs:element ref="ConeEmitter">
<xs:annotation>
<xs:documentation>emitter</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ExplosionEmitter">
<xs:annotation>
<xs:documentation>emitter</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PointEmitter">
<xs:annotation>
<xs:documentation>emitter</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PolylineEmitter">
<xs:annotation>
<xs:documentation>emitter</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SurfaceEmitter">
<xs:annotation>
<xs:documentation>emitter</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="VolumeEmitter">
<xs:annotation>
<xs:documentation>emitter</xs:documentation>
</xs:annotation>
</xs:element>
<!-- unable to include emitter ProtoInstance without creating an ambiguous content model -->
</xs:choice>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="BoundedPhysicsModel">
<xs:annotation>
<xs:documentation>physics</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ForcePhysicsModel">
<xs:annotation>
<xs:documentation>physics</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="WindPhysicsModel">
<xs:annotation>
<xs:documentation>physics</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProtoInstance">
<xs:annotation>
<xs:documentation>physics</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:element ref="TextureCoordinate" minOccurs="0">
<xs:annotation>
<xs:documentation>texCoordRamp</xs:documentation>
</xs:annotation>
</xs:element>
<!-- unable to include texCoordRamp ProtoInstance without creating an ambiguous content model -->
</xs:sequence>
<xs:attribute name="createParticles" type="SFBool" default="true"/>
<xs:attribute name="enabled" type="SFBool" default="true"/>
<xs:attribute name="lifetimeVariation" default="0.25">
<xs:simpleType>
<xs:restriction base="SFFloat">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="maxParticles" default="200">
<xs:simpleType>
<xs:restriction base="SFInt32">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="particleLifetime" default="5">
<xs:simpleType>
<xs:restriction base="SFFloat">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="particleSize" type="SFVec2f" default="0.02 0.02">
<xs:annotation>
<xs:appinfo>
<xs:minInclusive value="0"/>
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="colorKey" type="MFFloat">
<xs:annotation>
<xs:appinfo>
<xs:minInclusive value="0"/>
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="geometryType" type="particleSystemGeometryTypeValues" default="QUAD">
<xs:annotation>
<xs:appinfo>
<xs:attribute name="componentName" type="xs:NMTOKEN" fixed="ParticleSystems"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="3"/>geometryType "SPRITE" supported at level 2, and geometryType "GEOMETRY" supported at level 3.</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="texCoordKey" type="MFFloat">
<xs:annotation>
<xs:appinfo>
<xs:minInclusive value="0"/>
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="containerField" type="xs:NMTOKEN" default="children"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element> |