SoParticleAnimation Class |
Note: This API is now obsolete.
Particle system animation node.
Namespace: OIV.FXViz.Nodes
The SoParticleAnimation type exposes the following members.
Name | Description | |
---|---|---|
![]() | SoParticleAnimation | Constructor. |
Name | Description | |
---|---|---|
![]() | AffectsState | Overrides default method on SoNode. |
![]() | BeginShape(SoAction, SoShapeTriangleShapes) | Calls BeginShape(action, shapeType, (OIV.Inventor.Details.SoFaceDetail ^)nullptr). (Inherited from SoShape.) |
![]() | BeginShape(SoAction, SoShapeTriangleShapes, SoFaceDetail) | These methods can be used by subclasses to generate triangles more easily when those triangles are part of a larger structure, such as a triangle strip, triangle fan, or triangulated polygon, according to the TriangleShape enumerated type. |
![]() | Callback | Implements primitive generation for all shapes. |
![]() | CallShouldGLRender | Obsolete. Calls CallShouldGLRender(action, false). (Inherited from SoShape.) |
![]() | ComputeBBox(SoAction, SbBox3f, SbVec3f) | Compute axis aligned bounding box (AABB) for subclass using information in the given action (which may not necessarily be an SoGetBoundingBoxAction). |
![]() | ComputeBBox(SoAction, SbXfBox3d, SbVec3d) | Compute object oriented bounding box (OOB) for subclass using information in the given action (which may not necessarily be an SoGetBoundingBoxAction). |
![]() | Copy | Calls Copy(false). (Inherited from SoNode.) |
![]() | Copy(Boolean) | Creates and returns an exact copy of the node. |
![]() | CopyFieldValues(SoFieldContainer) | Calls CopyFieldValues(fc, false). (Inherited from SoFieldContainer.) |
![]() | CopyFieldValues(SoFieldContainer, Boolean) | Copies the contents of fc's fields into this object's fields. |
![]() | Dispose |
Releases all resources used by SoDisposable.
(Inherited from SoDisposable.) |
![]() | Distribute | (Inherited from SoNode.) |
![]() | DoAction | (Inherited from SoNode.) |
![]() | EnableNotify | Notification at this Field Container is enabled (if flag == true) or disabled (if flag == false). |
![]() | EndShape | end shape previously started with beginShape(). |
![]() | Equals | (Inherited from Object.) |
![]() | FieldsAreEqual | Returns true if this object's fields are exactly equal to fc's fields. |
![]() | Get | Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string. |
![]() | GetAllFields | Returns a list of fields, including the eventIn's and eventOut's. |
![]() | GetAlternateRep | This method is called by actions to allow the node to provide an "alternate representation" when appropriate (typically depending on the action type). |
![]() | GetBoundingBox | Implements bounding box method using virtual computeBBox() method. |
![]() | GetEventIn | Returns a the eventIn with the given name. |
![]() | GetEventOut | Returns the eventOut with the given name. |
![]() | GetField | Returns a the field of this object whose name is fieldName. |
![]() | GetFieldName | Returns the name of the given field in the fieldName argument. |
![]() | GetFields | Appends references to all of this object's fields to resultList, and returns the number of fields appended. |
![]() | GetHashCode |
Overrides GetHashCode().
(Inherited from SoNetBase.) |
![]() | GetMatrix | (Inherited from SoNode.) |
![]() | GetName | Returns the name of an instance. |
![]() | GetPrimitiveCount | Counts number of primitives produced by this shape. |
![]() | GetRenderUnitID | (Inherited from SoNode.) |
![]() | GetShapeType | Gets the current shape Full Scene Antialiasing type. |
![]() | GetStringName | (Inherited from SoBase.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | GLRender | Implements rendering by rendering each primitive generated by subclass. |
![]() | GLRenderBelowPath | (Inherited from SoNode.) |
![]() | GLRenderInPath | (Inherited from SoNode.) |
![]() | GLRenderOffPath | (Inherited from SoNode.) |
![]() | GrabEventsCleanup | (Inherited from SoNode.) |
![]() | GrabEventsSetup | (Inherited from SoNode.) |
![]() | HandleEvent | (Inherited from SoNode.) |
![]() | HandleInvisibleOrBBox | Obsolete. Calls HandleInvisibleOrBBox(action, false). (Inherited from SoShape.) |
![]() | HasDefaultValues | Returns true if all of the object's fields have their default values. |
![]() | IsBoundingBoxIgnoring | This method is used by getBoundingBox action traversal to know if the current node must be traversed or not, ie the bounding should be ignored. |
![]() | IsNotifyEnabled | Notification is the process of telling interested objects that this object has changed. |
![]() | IsOverride | Returns the state of the override flag. |
![]() | IsSynchronizable | Gets the ScaleViz synchronizable state of this object. |
![]() | Pick | (Inherited from SoNode.) |
![]() | RayPick | Implements picking along a ray by intersecting the ray with each primitive generated by subclass. |
![]() | Search | (Inherited from SoNode.) |
![]() | Set | Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. |
![]() | SetName | (Inherited from SoBase.) |
![]() | SetOverride | Turns the override flag on or off. |
![]() | SetShapeType | set the antialiasing type for this shape. |
![]() | SetSynchronizable | Sets this to be a ScaleViz synchronizable object. |
![]() | SetToDefaults | Sets all fields in this object to their default values. |
![]() | ShapeVertex | add a primitive vertex to the shape prevously started with beginShape(). |
![]() | ShouldGLRender | Obsolete. Calls ShouldGLRender(action, false). (Inherited from SoShape.) |
![]() | ShouldGLRenderCore(SoGLRenderAction) | Obsolete. Calls ShouldGLRenderCore(action, false, false). (Inherited from SoShape.) |
![]() | ShouldGLRenderCore(SoGLRenderAction, Boolean) | Obsolete. Calls ShouldGLRenderCore(action, isPointsOrLines, false). (Inherited from SoShape.) |
![]() | ToString |
Converts this SoBase structure to a human readable string.
(Inherited from SoBase.) |
![]() | Touch | Marks an instance as modified, simulating a change to it. |
![]() | Write | (Inherited from SoNode.) |
Name | Description | |
---|---|---|
![]() | boundingBoxIgnoring | Whether to ignore this node during bounding box traversal. |
![]() | dispersionAngles | Defines two angles (specified in radians) within which particles are randomly emitted. |
![]() | emitShapeType | Specifies a predefined shape from which particles are emitted. |
![]() | endColor | Final particle color. |
![]() | endColorVariation | Controls magnitude of random variation in the final particle color. |
![]() | endOpacity | Final particle opacity: 0 = fully transparent, 1 = opaque. |
![]() | endOpacityVariation | Controls magnitude of random variation in the final particle opacity. |
![]() | endSize | Final particle size in world coordinates. |
![]() | endSizeVariation | Controls magnitude of random variation in the final particle size. |
![]() | goalFramesPerSecond | Indicates the goal number of frames per second for refreshing the particles. |
![]() | initialColor | Initial particle color. |
![]() | initialColorVariation | Controls magnitude of random variation in the initial particle color. |
![]() | initialOpacity | Initial particle opacity: 0 is fully transparent, 1 is opaque. |
![]() | initialOpacityVariation | Controls magnitude of random variation in the initial particle opacity. |
![]() | initialSize | Initial particle size in world coordinates. |
![]() | initialSizeVariation | Controls magnitude of random variation in the initial particle size. |
![]() | IsDisposable | ISafeDisposable interface implementation.
(Inherited from SoDisposable.) |
![]() | lifeSpan | Particle life span in milliseconds. |
![]() | lifeSpanVariation | Controls magnitude of random variation in the particle life span. |
![]() | numParticles | Number of emitted particles. |
![]() | numParticlesVariation | Controls magnitude of random variation in the number of emitted particles. |
![]() | on | Activates/deactivates the particle system. |
![]() | particleFilename | Specifies the name of the file containing the texture to be applied to the particles. |
![]() | particleLife | Specifies if particles are emitted one time (SoParticleAnimation.ONE_EMISSION) or cyclically (SoParticleAnimation.CYCLIC_EMISSION). |
![]() | particleShape | Specifies the shape of the particles. |
![]() | particleTexture | Specifies an in-memory texture used for particles. |
![]() | shapeScale | Specifies a nonuniform scale factor applied to the predefined shape from which particles are emitted. |
![]() | speed | Specifies the particle speed in units per second. |
![]() | speedVariation | Controls magnitude of random variation in the particle speed. |
![]() | transparencyType | Transparency type used for drawing particles. |
![]() | trigger | Has two meanings depending on the value of particleLife: |
![]() | UserData |
Gets or sets the user data to be contained by the field container.
(Inherited from SoFieldContainer.) |
Base class for particle system animation. Particle system animation is used for generating real-time effects such as fire, chemical flame, explosions, fluid motion, smoke, snow, etc.
A particle system is a set of particles (numParticles) where each particle is defined by the following properties:
initial appearance (initialColor, initialOpacity, initialSize,...) which defines the appearance of the particle at its birth.
final appearance (endColor, endOpacity, endSize,...) which defines the appearance of the particle just before its death.
life span (lifeSpan)
speed (speed)
direction (dispersionAngles) of the particle during its life span.
All of these properties may fluctuate randomly for each particle within a specified range of values (initialColorVariation, initialOpacityVariation, endColorVariation, lifeSpanVariation...).
Each particle emitted from a predefined shape (emitShapeType) evolves from an initial appearance to a final appearance with a given speed and a life span in real time.
Billboard particles can be textured (particleFilename, particleTexture) to produce interesting realistic effects.
Like classical Open Inventor shapes, each particle is transformed by the current cumulative transformation and is drawn with the current lighting model and drawing style.
Classes derived from SoParticleAnimation have default field values pre-set for conveniently generating specific effects. For example, SoParticleSmoke has predefined field values for generating smoke effects.
Note: By default, particle animation uses transparency type ADD (see transparencyType). Against a white background, particles will not be visible because with this transparency type, colors are added until full saturation is reached. Since white is already fully saturated, no additional visual effect is seen. In this case, use BLEND transparency type instead and change the particle texture from the default (a circular gradient that is gray in the middle and black on the edges) to one that is gray in the middle and white on the edges. For additional realism, you can add transparency to the texture, with zero transparency in the middle increasing linearly to full transparency on the edges.
ParticleAnimation {
numParticles | 1000 | ||
numParticlesVariation | 0.5 | ||
initialColor | 1 1 1 | ||
initialColorVariation | 0 0 0 | ||
initialOpacity | 0.8 | ||
initialOpacityVariation | 0.1 | ||
initialSize | 0.7 | ||
initialSizeVariation | 0.0 | ||
endColor | 0 0 0 | ||
endColorVariation | 0 0 0 | ||
endOpacity | 0.8 | ||
endOpacityVariation | 0.1 | ||
endSize | 0.01 | ||
endSizeVariation | 0.0 | ||
lifeSpan | 4000 | ||
lifeSpanVariation | 0.5 | ||
particleShape | BILLBOARD_SHAPE | ||
emitShapeType | POINT | ||
shapeScale | 1 1 1 | ||
dispersionAngles | 0.01 0.01 | ||
particleLife | CYCLIC_EMISSION | ||
speed | 1 | ||
speedVariation | 0.1 | ||
particleFilename | "" | ||
particleTexture | 32 32 ....(white circle on a black background texture ) <TR><TD valign=_top> goalFramesPerSecond <TD valign=_top> 0 <TR><TD valign=_top> transparencyType <TD valign=_top> ADD <TR><TD valign=_top> on <TD valign=_top> true </TABLE>} |