element ParticleSystem
diagram x3d-3.3_diagrams/x3d-3.3_p156.png
type extension of X3DShapeNode
properties
content complex
children IS MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString Appearance Box Cone Cylinder IndexedFaceSet IndexedLineSet IndexedTriangleFanSet IndexedTriangleSet IndexedTriangleStripSet LineSet PointSet Sphere TriangleFanSet TriangleSet TriangleStripSet ElevationGrid Polyline2D Polypoint2D Rectangle2D TriangleSet2D Extrusion Text Arc2D ArcClose2D Circle2D Disk2D QuadSet IndexedQuadSet GeoElevationGrid NurbsCurve NurbsPatchSurface NurbsSweptSurface NurbsSwungSurface NurbsTrimmedSurface ProtoInstance Color ColorRGBA ConeEmitter ExplosionEmitter PointEmitter PolylineEmitter SurfaceEmitter VolumeEmitter BoundedPhysicsModel ForcePhysicsModel WindPhysicsModel TextureCoordinate
used by
group ChildContentModelFull
attributes
Name  Type  Use  Default  Fixed  Annotation
DEF  xs:ID        
appinfo

DEF defines a unique ID name for each node, referenceable by other nodes.
USE  xs:IDREF        
appinfo

USE means reuse an already DEF-ed node ID, excluding all child nodes and all other attributes (except for containerField, which can have a different value).
class  xs:NMTOKENS        
appinfo

The class attribute is a space-separated list of classes, reserved for use by Cascading Style Sheets (CSS) and XML stylesheets.
bboxCenter  SFVec3f    0 0 0    
bboxSize  bboxSizeType    -1 -1 -1    
createParticles  SFBool    true    
enabled  SFBool    true    
lifetimeVariation  derived by: SFFloat    0.25    
maxParticles  derived by: SFInt32    200    
particleLifetime  derived by: SFFloat    5    
particleSize  SFVec2f    0.02 0.02    
appinfo
<xs:minInclusive value="0"/>
colorKey  MFFloat        
appinfo
<xs:minInclusive value="0"/>
geometryType  particleSystemGeometryTypeValues    QUAD    
appinfo
<xs:attribute name="componentName" type="componentNameChoices" fixed="ParticleSystems"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="3"/>
geometryType "SPRITE" supported at level 2, and geometryType "GEOMETRY" supported at level 3.
texCoordKey  MFFloat        
appinfo
<xs:minInclusive value="0"/>
containerField  xs:NMTOKEN    children    
annotation
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 X3DShapeNode -->
<xs:annotation>
<xs:appinfo>
<xs:attribute name="componentName" type="componentNameChoices" fixed="ParticleSystems"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="3"/>
Support for SFNode geometry field (inherited from X3DShapeNode) is 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="componentNameChoices" fixed="ParticleSystems"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="2"/>
source <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 X3DShapeNode -->
       
<xs:annotation>
         
<xs:appinfo>
           
<xs:attribute name="componentName" type="componentNameChoices" fixed="ParticleSystems"/>
           
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="3"/>
Support for SFNode geometry field (inherited from X3DShapeNode) is 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="componentNameChoices" fixed="ParticleSystems"/>
     
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="2"/>
   
</xs:appinfo>
   
<xs:documentation source="https://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:annotation>
             
<xs:documentation>MFNode</xs:documentation>
           
</xs:annotation>
           
<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="componentNameChoices" 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>

attribute ParticleSystem/@createParticles
type SFBool
properties
default true
source <xs:attribute name="createParticles" type="SFBool" default="true"/>

attribute ParticleSystem/@enabled
type SFBool
properties
default true
source <xs:attribute name="enabled" type="SFBool" default="true"/>

attribute ParticleSystem/@lifetimeVariation
type restriction of SFFloat
properties
default 0.25
facets
Kind Value Annotation
minInclusive 0
maxInclusive 1
source <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>

attribute ParticleSystem/@maxParticles
type restriction of SFInt32
properties
default 200
facets
Kind Value Annotation
minInclusive 0
source <xs:attribute name="maxParticles" default="200">
 
<xs:simpleType>
   
<xs:restriction base="SFInt32">
     
<xs:minInclusive value="0"/>
   
</xs:restriction>
 
</xs:simpleType>
</xs:attribute>

attribute ParticleSystem/@particleLifetime
type restriction of SFFloat
properties
default 5
facets
Kind Value Annotation
minInclusive 0
source <xs:attribute name="particleLifetime" default="5">
 
<xs:simpleType>
   
<xs:restriction base="SFFloat">
     
<xs:minInclusive value="0"/>
   
</xs:restriction>
 
</xs:simpleType>
</xs:attribute>

attribute ParticleSystem/@particleSize
type SFVec2f
properties
default 0.02 0.02
facets
Kind Value Annotation
whiteSpace collapse
pattern \s*(([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s+){1}([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*
annotation
appinfo
<xs:minInclusive value="0"/>
source <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>

attribute ParticleSystem/@colorKey
type MFFloat
facets
Kind Value Annotation
whiteSpace collapse
pattern \s*(([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*,?\s*)*
annotation
appinfo
<xs:minInclusive value="0"/>
source <xs:attribute name="colorKey" type="MFFloat">
 
<xs:annotation>
   
<xs:appinfo>
     
<xs:minInclusive value="0"/>
   
</xs:appinfo>
 
</xs:annotation>
</xs:attribute>

attribute ParticleSystem/@geometryType
type particleSystemGeometryTypeValues
properties
default QUAD
facets
Kind Value Annotation
enumeration LINE
appinfo
line is drawn along current velocity vector of particle
enumeration POINT
appinfo
point geometry is rendered at particle position
enumeration QUAD
appinfo
quad geometry is rendered at particle position facing direction traveled
enumeration SPRITE
appinfo
quad geometry is rendered at particle position facing screen
enumeration TRIANGLE
appinfo
pair of triangles creating quad geometry is rendered at particle position facing direction traveled
enumeration GEOMETRY
appinfo
geometry field is used for rendering each particle
annotation
appinfo
<xs:attribute name="componentName" type="componentNameChoices" fixed="ParticleSystems"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="3"/>
geometryType "SPRITE" supported at level 2, and geometryType "GEOMETRY" supported at level 3.
source <xs:attribute name="geometryType" type="particleSystemGeometryTypeValues" default="QUAD">
 
<xs:annotation>
   
<xs:appinfo>
     
<xs:attribute name="componentName" type="componentNameChoices" 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>

attribute ParticleSystem/@texCoordKey
type MFFloat
facets
Kind Value Annotation
whiteSpace collapse
pattern \s*(([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*,?\s*)*
annotation
appinfo
<xs:minInclusive value="0"/>
source <xs:attribute name="texCoordKey" type="MFFloat">
 
<xs:annotation>
   
<xs:appinfo>
     
<xs:minInclusive value="0"/>
   
</xs:appinfo>
 
</xs:annotation>
</xs:attribute>

attribute ParticleSystem/@containerField
type xs:NMTOKEN
properties
default children
source <xs:attribute name="containerField" type="xs:NMTOKEN" default="children"/>


XML Schema documentation generated by XMLSpy Schema Editor http://www.altova.com/xmlspy