Models::ParticleSystemNode Class Reference
#include <particlesystemnode.h>

Detailed Description
A model node which holds particle system information and applies a shared dynamiceMeshes for its set of ParticleSystemNodeInstances.(C) 2008 Radon Labs GmbH
Public Member Functions | |
| ParticleSystemNode () | |
| constructor | |
| virtual | ~ParticleSystemNode () |
| destructor | |
| virtual void | LoadResources () |
| called when resources should be loaded | |
| virtual void | UnloadResources () |
| called when resources should be unloaded | |
|
Ptr < ParticleSystem::DynamicMesh > | GetParticleMesh () const |
| get the particle mesh | |
| void | SetInvisible (bool value) |
| set if invisible or not | |
| void | SetEmissionDuration (float time) |
| set the end time | |
| float | GetEmissionDuration () const |
| get the emission duration | |
| void | SetLoop (bool b) |
| set if loop emitter or not | |
| bool | GetLoop () const |
| is loop emitter ? | |
| void | SetActivityDistance (float activityDistance) |
| set the activity distance | |
| float | GetActivityDistance () const |
| get the activity distance | |
| void | SetStartRotationMin (float rotMin) |
| set the maximum start rotation angle | |
| void | SetStartRotationMax (float rotMax) |
| set the maximum start rotation angle | |
| void | SetGravity (float gravity) |
| set gravity | |
| float | GetGravity () const |
| get gravity | |
| void | SetParticleStretch (float particleStretch) |
| set amount of stretching | |
| void | SetParticleVelocityRandomize (float velRandom) |
| set velocity randomize value | |
| void | SetParticleRotationRandomize (float rotRandom) |
| set rotation randomize value | |
| void | SetParticleSizeRandomize (float sizeRandom) |
| set size randomize value | |
| void | SetRandomRotDir (bool isRandom) |
| randomize rotation direction on/off | |
| void | SetTileTexture (int tileTexture) |
| set texture tiling parts | |
| void | SetStretchToStart (bool isStretchToStart) |
| set if texture should be stretched to the emission start point | |
| void | SetPrecalcTime (float preClacTime) |
| set precalc time | |
| void | SetRenderOldestFirst (bool isOldestFirst) |
| set wether to render oldest or youngest particles first | |
| void | SetStretchDetail (int stretchDetail) |
| set the stretch detail | |
| void | SetViewAngleFade (bool viewAngelFade) |
| set wether to render oldest or youngest particles first | |
| bool | GetRenderOldestFirst () const |
| get wether to render oldest or youngest particles first | |
| void | SetStartDelay (float startDelay) |
| set start delay | |
| void | SetCurve (ParticleSystem::ParticleEmitter::CurveType curveType, const ParticleSystem::EnvelopeCurve &curve) |
| set one of the envelope curves (not the color) | |
|
const ParticleSystem::EnvelopeCurve & | GetCurve (ParticleSystem::ParticleEmitter::CurveType curveType) const |
| get one of the envelope curves | |
| void | SetRGBCurve (const ParticleSystem::Vector3EnvelopeCurve &curve) |
| set the particle rgb curv | |
|
const ParticleSystem::Vector3EnvelopeCurve & | GetRGBCurve () const |
| get the particle rgb curve | |
| void | SetBillboardOrientation (bool b) |
| sets orientation to billboard | |
| bool | GetBillboardOrientation () |
| gets billboard flag | |
|
virtual Resources::Resource::State | GetResourceState () const |
| get overall state of contained resources (Initial, Loaded, Pending, Failed, Cancelled) | |
| virtual void | ApplySharedState () |
| apply state shared by all my ModelNodeInstances | |
|
const Ptr < Resources::ManagedMesh > & | GetManagedMesh () const |
| get managed mesh | |
|
const Ptr < CoreGraphics::ShaderInstance > & | GetShaderInstance () const |
| get pointer to contained shader instance | |
| void | SetPosition (const Math::point &p) |
| set position | |
| const Math::point & | GetPosition () const |
| get position | |
| void | SetRotate (const Math::quaternion &r) |
| set rotate quaternion | |
| const Math::quaternion & | GetRotate () const |
| get rotate quaternion | |
| void | SetScale (const Math::vector &s) |
| set scale | |
| const Math::vector & | GetScale () const |
| get scale | |
| void | SetRotatePivot (const Math::point &p) |
| set rotate pivot | |
| const Math::point & | GetRotatePivot () const |
| get rotate pivot | |
| void | SetScalePivot (const Math::point &p) |
| set scale pivot | |
| const Math::point & | GetScalePivot () const |
| get scale pivot | |
|
const Util::Atom < Util::String > & | GetName () const |
| get model node name | |
| ModelNodeType::Code | GetType () const |
| get the ModelNodeType | |
| bool | HasParent () const |
| return true if node has a parent | |
| const Ptr< ModelNode > & | GetParent () const |
| get parent node | |
|
const Util::Array < Ptr< ModelNode > > & | GetChildren () const |
| get child nodes | |
| bool | IsAttachedToModel () const |
| return true if currently attached to a Model | |
| const Ptr< Model > & | GetModel () const |
| get model this node is attached to | |
| const Math::bbox & | GetBoundingBox () const |
| get bounding box of model node | |
|
const Attr::AttributeContainer & | GetAttrs () const |
| read access to model node attributes | |
| bool | HasAttr (const Attr::AttrId &attrId) const |
| check if model node attribute exists | |
| void | SetAttr (const Attr::Attribute &attr) |
| set generic model node attribute | |
| const Attr::Attribute & | GetAttr (const Attr::AttrId &attrId) const |
| get generic model node attribute | |
| void | SetBool (const Attr::BoolAttrId &attrId, bool val) |
| set bool value | |
| bool | GetBool (const Attr::BoolAttrId &attrId) const |
| get bool value | |
| void | SetFloat (const Attr::FloatAttrId &attrId, float val) |
| set float value | |
| float | GetFloat (const Attr::FloatAttrId &attrId) const |
| get float value | |
| void | SetInt (const Attr::IntAttrId &attrId, int val) |
| set int value | |
| int | GetInt (const Attr::IntAttrId &attrId) const |
| get int value | |
| void | SetString (const Attr::StringAttrId &attrId, const Util::String &val) |
| set string value | |
| const Util::String & | GetString (const Attr::StringAttrId &attrId) const |
| get string value | |
| void | SetFloat4 (const Attr::Float4AttrId &attrId, const Math::float4 &val) |
| set float4 value | |
| Math::float4 | GetFloat4 (const Attr::Float4AttrId &attrId) const |
| get float4 value | |
| void | SetMatrix44 (const Attr::Matrix44AttrId &attrId, const Math::matrix44 &val) |
| set matrix44 value | |
| const Math::matrix44 & | GetMatrix44 (const Attr::Matrix44AttrId &attrId) const |
| get matrix44 value | |
| void | SetGuid (const Attr::GuidAttrId &attrId, const Util::Guid &guid) |
| set guid value | |
| const Util::Guid & | GetGuid (const Attr::GuidAttrId &attrId) const |
| get guid value | |
| void | SetBlob (const Attr::BlobAttrId &attrId, const Util::Blob &blob) |
| set blob value | |
| const Util::Blob & | GetBlob (const Attr::BlobAttrId &attrId) const |
| get blob value | |
| void | SetName (const Util::Atom< Util::String > &n) |
| set model node name | |
| void | SetType (ModelNodeType::Code t) |
| set ModelNodeType | |
| void | SetParent (const Ptr< ModelNode > &p) |
| set parent node | |
| void | AddChild (const Ptr< ModelNode > &c) |
| add a child node | |
| void | AddVisibleNodeInstance (IndexT frameIndex, const Ptr< ModelNodeInstance > &nodeInst) |
| called by model node instance on NotifyVisible() | |
| int | GetRefCount () const |
| get the current refcount | |
| void | AddRef () |
| increment refcount by one | |
| void | Release () |
| decrement refcount and destroy object if refcount is zero | |
| bool | IsInstanceOf (const Rtti &rtti) const |
| return true if this object is instance of given class | |
| bool | IsInstanceOf (const Util::String &className) const |
| return true if this object is instance of given class by string | |
| bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
| return true if this object is instance of given class by fourcc | |
| bool | IsA (const Rtti &rtti) const |
| return true if this object is instance of given class, or a derived class | |
| bool | IsA (const Util::String &rttiName) const |
| return true if this object is instance of given class, or a derived class, by string | |
| bool | IsA (const Util::FourCC &rttiFourCC) const |
| return true if this object is instance of given class, or a derived class, by fourcc | |
| const Util::String & | GetClassName () const |
| get the class name | |
| Util::FourCC | GetClassFourCC () const |
| get the class FourCC code | |
Static Public Member Functions | |
| static void | DumpRefCountingLeaks () |
| dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!) | |
Protected Member Functions | |
| virtual Ptr < ModelNodeInstance > | CreateNodeInstance () const |
| gets the particle system mesh; | |
| void | SetupManagedTextureVariable (const Attr::AttrId &resAttrId, const Ptr< CoreGraphics::ShaderVariable > &var) |
| setup a new managed texture variable | |
| void | UpdateManagedTextureVariables () |
| update managed texture variables | |
| virtual void | LoadFromAttrs (const Attr::AttributeContainer &attrs) |
| called to initialize from attributes | |
| virtual void | SaveToAttrs (Attr::AttributeContainer &attrs) |
| called to save state back to attributes | |
| void | SetBoundingBox (const Math::bbox &b) |
| set bounding box | |
| virtual void | OnAttachToModel (const Ptr< Model > &model) |
| called when attached to model node | |
| virtual void | OnRemoveFromModel () |
| called when removed from model node | |
|
const Util::Array < Ptr < ModelNodeInstance > > & | GetVisibleModelNodeInstances (ModelNodeType::Code t) const |
| get visible model node instances | |
Protected Attributes | |
| float | sampledCurves [ParticleSystem::ParticleEmitter::ParticleTimeDetail][ParticleSystem::ParticleEmitter::CurveTypeCount] |
| a mesh for storing and rendering dynamic data. In this case particle data. | |
Member Function Documentation
| Ptr< ModelNodeInstance > Models::ParticleSystemNode::CreateNodeInstance | ( | ) | const [protected, virtual] |
| void Models::StateNode::SetupManagedTextureVariable | ( | const Attr::AttrId & | resAttrId, | |
| const Ptr< CoreGraphics::ShaderVariable > & | var | |||
| ) | [protected, inherited] |
setup a new managed texture variable
Create a new managed texture resource and bind it to the provided shader variable.
| void Models::StateNode::UpdateManagedTextureVariables | ( | ) | [protected, inherited] |
update managed texture variables
This method transfers texture from our managed texture objects into their associated shader variable. This is necessary since the actual texture of a managed texture may change from frame to frame because of resource management.
| int Core::RefCounted::GetRefCount | ( | ) | const [inline, inherited] |
get the current refcount
Return the current refcount of the object.
| void Core::RefCounted::AddRef | ( | ) | [inline, inherited] |
increment refcount by one
Increment the refcount of the object.
| void Core::RefCounted::Release | ( | ) | [inline, inherited] |
decrement refcount and destroy object if refcount is zero
Decrement the refcount and destroy object if refcount is zero.
| const Util::String & Core::RefCounted::GetClassName | ( | ) | const [inline, inherited] |
get the class name
Get the class name of the object.
| Util::FourCC Core::RefCounted::GetClassFourCC | ( | ) | const [inline, inherited] |
get the class FourCC code
Get the class FourCC of the object.
| void Core::RefCounted::DumpRefCountingLeaks | ( | ) | [static, inherited] |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)
This method should be called as the very last before an application exits.