Polyphase Game Engine
Loading...
Searching...
No Matches
Particle3D Class Reference

#include <Particle3d.h>

Inheritance diagram for Particle3D:
Primitive3D Node3D Node Object

Public Member Functions

 DECLARE_NODE (Particle3D, Primitive3D)
 
 Particle3D ()
 
virtual ~Particle3D ()
 
virtual const char * GetTypeName () const override
 
virtual void GatherProperties (std::vector< Property > &outProps) override
 
virtual void GatherProxyDraws (std::vector< DebugDraw > &inoutDraws) override
 
virtual void Create () override
 
virtual void Destroy () override
 
virtual void Start () override
 
ParticleCompResourceGetResource ()
 
virtual DrawData GetDrawData () override
 
virtual void Render () override
 
virtual void Tick (float deltaTime) override
 
virtual void EditorTick (float deltaTime) override
 
virtual VertexType GetVertexType () const override
 
void Simulate (float deltaTime)
 
void UpdateVertexBuffer ()
 
void Reset ()
 
void EnableEmission (bool enable)
 
bool IsEmissionEnabled () const
 
void EnableAutoEmit (bool enable)
 
bool IsAutoEmitEnabled () const
 
void EnableAutoDestroy (bool enable)
 
bool IsAutoDestroyEnabled () const
 
float GetElapsedTime () const
 
void SetParticleSystem (ParticleSystem *particleSystem)
 
ParticleSystemGetParticleSystem ()
 
void SetMaterialOverride (Material *material)
 
MaterialGetMaterial ()
 
MaterialGetMaterialOverride ()
 
void SetTimeMultiplier (float timeMultiplier)
 
float GetTimeMultiplier () const
 
void SetUseLocalSpace (bool useLocalSpace)
 
bool GetUseLocalSpace () const
 
void SetAlwaysSimulate (bool alwaysSimulate)
 
bool ShouldAlwaysSimulate () const
 
void EnableSimulation (bool simulate)
 
bool IsSimulationEnabled () const
 
uint32_t GetNumParticles ()
 
uint32_t GetNumVertices ()
 
std::vector< Particle > & GetParticles ()
 
const std::vector< VertexParticle > & GetVertices ()
 
void SetBaseVelocity (glm::vec3 velocity)
 
glm::vec3 GetBaseVelocity () const
 
void SetParticleVelocity (int32_t index, glm::vec3 velocity)
 
glm::vec3 GetParticleVelocity (int32_t index)
 
void SetParticlePosition (int32_t index, glm::vec3 position)
 
glm::vec3 GetParticlePosition (int32_t index)
 
void SetParticleSpeed (int32_t index, float speed)
 
void SetParticleOrientation (ParticleOrientation orientation)
 
ParticleOrientation GetParticleOrientation ()
 
ParticleSystemInstanceInstantiateParticleSystem ()
 
virtual Bounds GetLocalBounds () const override
 
- Public Member Functions inherited from Primitive3D
 DECLARE_OBJECT (Primitive3D, Node3D)
 
 Primitive3D ()
 
virtual ~Primitive3D ()
 
virtual bool IsPrimitive3D () const override
 
virtual void SetWorld (World *world, bool subRoot) override
 
virtual void UpdateTransform (bool updateChildren) override
 
virtual void SetTransform (const glm::mat4 &transform) override
 
void EnablePhysics (bool enable)
 
void EnableCollision (bool enable)
 
void EnableOverlaps (bool enable)
 
bool IsPhysicsEnabled () const
 
bool IsCollisionEnabled () const
 
bool AreOverlapsEnabled () const
 
float GetCullDistance () const
 
void SetCullDistance (float cullDistance)
 
float GetMass () const
 
float GetLinearDamping () const
 
float GetAngularDamping () const
 
float GetRestitution () const
 
float GetFriction () const
 
float GetRollingFriction ()
 
glm::vec3 GetLinearFactor () const
 
glm::vec3 GetAngularFactor () const
 
uint8_t GetCollisionGroup () const
 
uint8_t GetCollisionMask () const
 
void SetMass (float mass)
 
void SetLinearDamping (float linearDamping)
 
void SetAngularDamping (float angularDamping)
 
void SetRestitution (float restitution)
 
void SetFriction (float friction)
 
void SetRollingFriction (float rollingFriction)
 
void SetLinearFactor (glm::vec3 linearFactor)
 
void SetAngularFactor (glm::vec3 angularFactor)
 
void SetCollisionGroup (uint8_t group)
 
void SetCollisionMask (uint8_t mask)
 
glm::vec3 GetLinearVelocity () const
 
glm::vec3 GetAngularVelocity () const
 
void AddLinearVelocity (glm::vec3 deltaVelocity)
 
void AddAngularVelocity (glm::vec3 deltaVelocity)
 
void SetLinearVelocity (glm::vec3 linearVelocity)
 
void SetAngularVelocity (glm::vec3 angularVelocity)
 
void AddForce (glm::vec3 force)
 
void AddImpulse (glm::vec3 impulse)
 
void ClearForces ()
 
void FullSyncRigidBodyTransform ()
 
void SyncRigidBodyTransform ()
 
void SyncRigidBodyMass ()
 
void SyncCollisionFlags ()
 
void EnableCastShadows (bool enable)
 
bool ShouldCastShadows () const
 
void EnableReceiveShadows (bool enable)
 
bool ShouldReceiveShadows () const
 
void EnableReceiveSimpleShadows (bool enable)
 
bool ShouldReceiveSimpleShadows () const
 
uint8_t GetLightingChannels () const
 
void SetLightingChannels (uint8_t channels)
 
btRigidBody * GetRigidBody ()
 
btCollisionShape * GetCollisionShape ()
 
void SetCollisionShape (btCollisionShape *newShape)
 
bool SweepToWorldPosition (glm::vec3 position, SweepTestResult &outSweepResult, uint8_t mask=0, bool testOnly=false)
 
bool SweepTest (glm::vec3 position, SweepTestResult &outSweepResult, uint8_t mask=0)
 
Bounds GetBounds () const
 
glm::vec4 GetCollisionDebugColor ()
 
- Public Member Functions inherited from Node3D
 DECLARE_NODE (Node3D, Node)
 
 Node3D ()
 
virtual ~Node3D ()
 
virtual void GatherReplicatedData (std::vector< NetDatum > &outData)
 
virtual bool IsNode3D () const override
 
void AttachToBone (SkeletalMesh3D *parent, const char *boneName, bool keepWorldTransform=false, int32_t childIndex=-1)
 
void AttachToBone (SkeletalMesh3D *parent, int32_t boneIndex, bool keepWorldTransform=false, int32_t childIndex=-1)
 
void MarkTransformDirty ()
 
bool IsTransformDirty () const
 
virtual bool CheckNetRelevance (Node *playerNode) override
 
glm::vec3 GetPosition () const
 
glm::vec3 GetRotationEuler () const
 
glm::quat GetRotationQuat () const
 
glm::vec3 GetScale () const
 
glm::vec3 & GetPositionRef ()
 
glm::vec3 & GetRotationEulerRef ()
 
glm::quat & GetRotationQuatRef ()
 
glm::vec3 & GetScaleRef ()
 
const glm::mat4 & GetTransform ()
 
void SetPosition (glm::vec3 position)
 
void SetRotation (glm::vec3 rotation)
 
void SetRotation (glm::quat quat)
 
void SetScale (glm::vec3 scale)
 
glm::vec3 GetWorldPosition ()
 
glm::vec3 GetWorldRotationEuler ()
 
glm::quat GetWorldRotationQuat ()
 
glm::vec3 GetWorldScale ()
 
void SetWorldPosition (glm::vec3 position)
 
void SetWorldRotation (glm::vec3 rotation)
 
void SetWorldRotation (glm::quat rotation)
 
void SetWorldScale (glm::vec3 scale)
 
void AddRotation (glm::quat rotation)
 
void AddRotation (glm::vec3 rotation)
 
void AddWorldRotation (glm::quat rotation)
 
void AddWorldRotation (glm::vec3 rotation)
 
void RotateAround (glm::vec3 pivot, glm::vec3 axis, float degrees)
 
void LookAt (glm::vec3 target, glm::vec3 up)
 
glm::vec3 GetCachedEulerRotation () const
 
glm::vec3 GetForwardVector ()
 
glm::vec3 GetRightVector ()
 
glm::vec3 GetUpVector ()
 
glm::mat4 GetParentTransform ()
 
int32_t GetParentBoneIndex () const
 
bool GetInheritTransform () const
 
void SetInheritTransform (bool inheritTransform)
 
virtual void Attach (Node *parent, bool keepWorldTransform=false, int32_t index=-1) override
 
- Public Member Functions inherited from Node
 DECLARE_FACTORY_MANAGER (Node)
 
 DECLARE_FACTORY (Node, Node)
 
 DECLARE_OBJECT (Node, Object)
 
 DECLARE_SCRIPT_LINK_BASE (Node)
 
 Node ()
 
virtual ~Node ()
 
void DestroyDeferred ()
 
void Doom ()
 
virtual void SaveStream (Stream &stream, Platform platform)
 
virtual void LoadStream (Stream &stream, Platform platform, uint32_t version)
 
virtual void Copy (Node *srcNode, bool recurse)
 
virtual void Render (PipelineConfig pipelineConfig)
 
virtual void Awake ()
 
virtual void Stop ()
 
virtual void PrepareTick (std::vector< NodePtrWeak > &outTickNodes, bool game, bool recurse)
 
uint32_t GetLastTickedFrame () const
 
virtual void OnInstanced ()
 
virtual void GatherNetFuncs (std::vector< NetFunc > &outFuncs)
 
void GatherPropertyOverrides (std::vector< Property > &outOverrides)
 
void ApplyPropertyOverrides (const std::vector< Property > &overs)
 
virtual void BeginOverlap (Primitive3D *thisComp, Primitive3D *otherComp)
 
virtual void EndOverlap (Primitive3D *thisComp, Primitive3D *otherComp)
 
virtual void OnCollision (Primitive3D *thisComp, Primitive3D *otherComp, glm::vec3 impactPoint, glm::vec3 impactNormal, btPersistentManifold *manifold)
 
NodeId GetNodeId () const
 
uint64_t GetPersistentUuid () const
 
void SetPersistentUuid (uint64_t uuid)
 
void EnsurePersistentUuid ()
 
void EmitSignal (const std::string &name, const std::vector< Datum > &args)
 
void ConnectSignal (const std::string &name, Node *listener, SignalHandlerFP func)
 
void ConnectSignal (const std::string &name, Node *listener, const ScriptFunc &func)
 
void DisconnectSignal (const std::string &name, Node *listener)
 
void RenderShadow ()
 
void RenderSelected (bool renderChildren)
 
NodeCreateChild (TypeId nodeType)
 
NodeCreateChild (const char *typeName)
 
NodeCreateChildClone (Node *srcNode, bool recurse)
 
NodePtr Clone (bool recurse, bool instantiateLinkedScene=true, bool resolveNodePaths=false)
 
void DestroyAllChildren ()
 
NodeGetRoot ()
 
bool IsWorldRoot () const
 
NodeGetSubRoot ()
 
template<class NodeClass >
NodeClass * CreateChild ()
 
template<class NodeClass >
SharedPtr< NodeClass > CreateChildSp ()
 
template<class NodeClass >
NodeClass * CreateChild (const char *name)
 
template<class NodeClass >
SharedPtr< NodeClass > CreateChildSp (const char *name)
 
bool IsDestroyed () const
 
bool IsPendingDestroy () const
 
bool IsDoomed () const
 
bool HasStarted () const
 
bool HasAwoken () const
 
void EnableTick (bool enable)
 
bool IsTickEnabled () const
 
WorldGetWorld ()
 
void SetScene (Scene *scene)
 
SceneGetScene ()
 
uint8_t GetTargetScreen () const
 
void SetTargetScreen (uint8_t screen)
 
std::vector< NetDatum > & GetReplicatedData ()
 
void SetNetId (NetId id)
 
NetId GetNetId () const
 
NetHostId GetOwningHost () const
 
void SetOwningHost (NetHostId hostId, bool setAsPawn=false)
 
void SetReplicate (bool replicate)
 
bool IsReplicated () const
 
void SetReplicateTransform (bool repTransform)
 
bool IsTransformReplicated () const
 
void ForceReplication ()
 
void ClearForcedReplication ()
 
bool NeedsForcedReplication ()
 
bool IsAlwaysRelevant () const
 
void SetAlwaysRelevant (bool alwaysRelevant)
 
bool HasTag (const std::string &tag)
 
void AddTag (const std::string &tag)
 
void RemoveTag (const std::string &tag)
 
void SetName (const std::string &newName)
 
const std::string & GetName () const
 
virtual void SetActive (bool active)
 
bool IsActive (bool recurse=false) const
 
virtual void SetVisible (bool visible)
 
bool IsVisible (bool recurse=false) const
 
void SetTransient (bool transient)
 
virtual bool IsTransient () const
 
void SetPersistent (bool persistent)
 
bool IsPersistent () const
 
void SetDefault (bool isDefault)
 
bool IsDefault () const
 
void SetUserdataCreated (bool created)
 
bool IsUserdataCreated () const
 
virtual bool IsWidget () const
 
virtual bool IsLight3D () const
 
NodeGetParent ()
 
const NodeGetParent () const
 
const std::vector< NodePtr > & GetChildren () const
 
void Detach (bool keepWorldTransform=false)
 
void AddChild (Node *child, int32_t index=-1)
 
void RemoveChild (Node *child)
 
void RemoveChild (int32_t index)
 
template<typename T >
void AddChild (const SharedPtr< T > &child, int32_t index=-1)
 
template<typename T >
void RemoveChild (const SharedPtr< Node > &child)
 
int32_t FindChildIndex (const std::string &name) const
 
int32_t FindChildIndex (Node *child) const
 
NodeFindChild (const std::string &name, bool recurse) const
 
NodeFindChildWithTag (const std::string &name, bool recurse) const
 
NodeFindDescendant (const std::string &name)
 
NodeFindAncestor (const std::string &name)
 
bool HasAncestor (Node *node)
 
NodeGetChild (int32_t index) const
 
NodeGetChildByType (TypeId type) const
 
uint32_t GetNumChildren () const
 
int32_t FindParentNodeIndex () const
 
void SetHitCheckId (uint32_t id)
 
uint32_t GetHitCheckId () const
 
bool IsLateTickEnabled () const
 
void EnableLateTick (bool enable)
 
ScriptGetScript ()
 
void SetScriptFile (const std::string &fileName)
 
bool DoChildrenHaveUniqueNames () const
 
void BreakSceneLink ()
 
bool IsSceneLinked (bool ignoreInPie=true) const
 
bool IsSceneLinkedChild (bool ignoreInPie=true)
 
bool IsForeign () const
 
bool HasAuthority () const
 
bool IsOwned () const
 
bool IsLocallyControlled () const
 
Datum GetField (const std::string &key)
 
void SetField (const std::string &name, const Datum &value)
 
Datum GetField (int32_t key)
 
void SetField (int32_t key, const Datum &value)
 
Datum CallFunction (const std::string &name, const std::vector< Datum > &args={})
 
NetFuncFindNetFunc (const char *name)
 
NetFuncFindNetFunc (uint16_t index)
 
void InvokeNetFunc (const char *name)
 
void InvokeNetFunc (const char *name, Datum param0)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2, Datum param3)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2, Datum param3, Datum param4)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2, Datum param3, Datum param4, Datum param5)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2, Datum param3, Datum param4, Datum param5, Datum param6)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2, Datum param3, Datum param4, Datum param5, Datum param6, Datum param7)
 
void InvokeNetFunc (const char *name, const std::vector< Datum > &params)
 
const WeakPtr< Node > & GetSelfPtr () const
 
template<typename T >
T * FindChild (const std::string &name, bool recurse)
 
template<typename T >
void Traverse (T func, bool inverted=false)
 
template<typename T >
bool ForEach (T func, bool inverted=false)
 
- Public Member Functions inherited from Object
virtual ~Object ()=default
 
virtual const char * RuntimeName () const =0
 
virtual const char * RuntimeParentName () const =0
 
virtual RuntimeId InstanceRuntimeId () const =0
 
virtual ObjectQueryInterface (RuntimeId id) const
 
virtual bool Is (RuntimeId id) const
 
virtual bool Is (const char *name) const
 
virtual bool DrawCustomProperty (Property &prop)
 
template<typename T >
T * As () const
 
virtual bool Equals (const Object *rhs) const
 

Static Public Member Functions

static bool HandlePropChange (Datum *datum, uint32_t index, const void *newValue)
 
- Static Public Member Functions inherited from Primitive3D
static bool HandlePropChange (Datum *datum, uint32_t index, const void *newValue)
 
- Static Public Member Functions inherited from Node3D
static bool OnRep_RootPosition (Datum *datum, uint32_t index, const void *newValue)
 
static bool OnRep_RootRotation (Datum *datum, uint32_t index, const void *newValue)
 
static bool OnRep_RootScale (Datum *datum, uint32_t index, const void *newValue)
 
- Static Public Member Functions inherited from Node
static NodePtr Construct (const std::string &name)
 
static NodePtr Construct (TypeId typeId)
 
static void Destruct (Node *node)
 
static void ProcessPendingDestroys ()
 
static void RegisterNetFuncs (Node *node)
 
static void Deleter (Node *node)
 
template<class NodeClass >
static SharedPtr< NodeClass > Construct ()
 
- Static Public Member Functions inherited from Object
static const char * ClassRuntimeName ()
 

Protected Member Functions

void TickCommon (float deltaTime)
 
void KillExpiredParticles (float deltaTime)
 
void UpdateParticles (float deltaTime)
 
void SpawnNewParticles (float deltaTime)
 
- Protected Member Functions inherited from Primitive3D
bool IsRigidBodyInWorld () const
 
void EnableRigidBody (bool enable)
 
void DestroyComponentCollisionShape ()
 
- Protected Member Functions inherited from Node3D
virtual void SetParent (Node *parent) override
 
- Protected Member Functions inherited from Node
void TickCommon (float deltaTime)
 
void ValidateUniqueChildName (Node *newChild)
 
void SendNetFunc (NetFunc *func, uint32_t numParams, const Datum **params)
 

Protected Attributes

float mElapsedTime = 0.0f
 
bool mEmit = true
 
bool mAutoEmit = true
 
bool mAutoDestroy = false
 
std::vector< ParticlemParticles
 
std::vector< VertexParticlemVertices
 
float mEmissionCounter = 0.0f
 
uint32_t mLoop = 0
 
bool mHasSimulatedThisFrame = false
 
bool mHasUpdatedVerticesThisFrame = false
 
ParticleSystemRef mParticleSystem
 
MaterialRef mMaterialOverride
 
float mTimeMultiplier = 1.0f
 
bool mUseLocalSpace = false
 
bool mAlwaysSimulate = true
 
bool mEnableSimulation = true
 
ParticleOrientation mOrientation = ParticleOrientation::Billboard
 
glm::vec3 mBaseVelocity = {}
 
ParticleCompResource mResource
 
- Protected Attributes inherited from Primitive3D
btRigidBody * mRigidBody = nullptr
 
PolyphaseMotionState * mMotionState = nullptr
 
btCollisionShape * mCollisionShape = nullptr
 
float mCullDistance = 0.0f
 
float mMass = 1.0f
 
float mRestitution = 0.0f
 
float mFriction = 0.5f
 
uint8_t mCollisionGroup = ColGroup0
 
uint8_t mCollisionMask = ColGroupAll
 
uint8_t mLightingChannels = 0x01
 
bool mPhysicsEnabled = false
 
bool mCollisionEnabled = false
 
bool mOverlapsEnabled = false
 
bool mCastShadows = false
 
bool mReceiveShadows = true
 
bool mReceiveSimpleShadows = true
 
- Protected Attributes inherited from Node3D
glm::vec3 mPosition
 
glm::vec3 mRotationEuler
 
glm::vec3 mScale
 
glm::quat mRotationQuat
 
glm::mat4 mTransform
 
int32_t mParentBoneIndex
 
bool mInheritTransform = true
 
bool mTransformDirty
 
- Protected Attributes inherited from Node
std::string mName
 
WorldmWorld = nullptr
 
NodePtrWeak mParent
 
NodePtrWeak mSelf
 
std::vector< NodePtrmChildren
 
std::unordered_map< std::string, Node * > mChildNameMap
 
std::unordered_map< std::string, SignalmSignalMap
 
std::string mScriptFile
 
uint32_t mLastTickedFrame = 0
 
bool mActive = true
 
bool mVisible = true
 
bool mTransient = false
 
bool mPersistent = false
 
bool mDefault = false
 
bool mUserdataCreated = false
 
bool mHasStarted = false
 
bool mHasAwoken = false
 
bool mDestroyed = false
 
bool mTickEnabled = true
 
bool mLateTick = false
 
SceneRef mScene
 
uint8_t mTargetScreen = 0
 
std::vector< std::string > mTags
 
NodeId mNodeId = INVALID_NODE_ID
 
uint64_t mPersistentUuid = 0
 
std::vector< NetDatummReplicatedData
 
NetId mNetId = INVALID_NET_ID
 
NetHostId mOwningHost = INVALID_HOST_ID
 
bool mReplicate = false
 
bool mReplicateTransform = false
 
bool mForceReplicate = false
 
bool mAlwaysRelevant = true
 
ScriptmScript = nullptr
 

Additional Inherited Members

- Static Protected Member Functions inherited from Primitive3D
static btCollisionShape * GetEmptyCollisionShape ()
 
- Static Protected Member Functions inherited from Node
static bool HandlePropChange (Datum *datum, uint32_t index, const void *newValue)
 
static bool OnRep_OwningHost (Datum *datum, uint32_t index, const void *newValue)
 
- Static Protected Attributes inherited from Node
static std::unordered_map< TypeId, NetFuncMapsTypeNetFuncMap
 
static std::unordered_set< NodePtrWeaksPendingDestroySet
 
static NodeId sNextNodeId = NodeId(1)
 

Constructor & Destructor Documentation

◆ Particle3D()

Particle3D::Particle3D ( )

◆ ~Particle3D()

Particle3D::~Particle3D ( )
virtual

Member Function Documentation

◆ Create()

void Particle3D::Create ( )
overridevirtual

Reimplemented from Primitive3D.

◆ DECLARE_NODE()

Particle3D::DECLARE_NODE ( Particle3D  ,
Primitive3D   
)

◆ Destroy()

void Particle3D::Destroy ( )
overridevirtual

Reimplemented from Primitive3D.

◆ EditorTick()

void Particle3D::EditorTick ( float  deltaTime)
overridevirtual

Reimplemented from Node.

◆ EnableAutoDestroy()

void Particle3D::EnableAutoDestroy ( bool  enable)

◆ EnableAutoEmit()

void Particle3D::EnableAutoEmit ( bool  enable)

◆ EnableEmission()

void Particle3D::EnableEmission ( bool  enable)

◆ EnableSimulation()

void Particle3D::EnableSimulation ( bool  simulate)

◆ GatherProperties()

void Particle3D::GatherProperties ( std::vector< Property > &  outProps)
overridevirtual

Reimplemented from Primitive3D.

◆ GatherProxyDraws()

void Particle3D::GatherProxyDraws ( std::vector< DebugDraw > &  inoutDraws)
overridevirtual

Reimplemented from Primitive3D.

◆ GetBaseVelocity()

glm::vec3 Particle3D::GetBaseVelocity ( ) const

◆ GetDrawData()

DrawData Particle3D::GetDrawData ( )
overridevirtual

Reimplemented from Node.

◆ GetElapsedTime()

float Particle3D::GetElapsedTime ( ) const

◆ GetLocalBounds()

Bounds Particle3D::GetLocalBounds ( ) const
overridevirtual

Reimplemented from Primitive3D.

◆ GetMaterial()

Material * Particle3D::GetMaterial ( )

◆ GetMaterialOverride()

Material * Particle3D::GetMaterialOverride ( )

◆ GetNumParticles()

uint32_t Particle3D::GetNumParticles ( )

◆ GetNumVertices()

uint32_t Particle3D::GetNumVertices ( )

◆ GetParticleOrientation()

ParticleOrientation Particle3D::GetParticleOrientation ( )

◆ GetParticlePosition()

glm::vec3 Particle3D::GetParticlePosition ( int32_t  index)

◆ GetParticles()

std::vector< Particle > & Particle3D::GetParticles ( )

◆ GetParticleSystem()

ParticleSystem * Particle3D::GetParticleSystem ( )

◆ GetParticleVelocity()

glm::vec3 Particle3D::GetParticleVelocity ( int32_t  index)

◆ GetResource()

ParticleCompResource * Particle3D::GetResource ( )

◆ GetTimeMultiplier()

float Particle3D::GetTimeMultiplier ( ) const

◆ GetTypeName()

const char * Particle3D::GetTypeName ( ) const
overridevirtual

Reimplemented from Primitive3D.

◆ GetUseLocalSpace()

bool Particle3D::GetUseLocalSpace ( ) const

◆ GetVertexType()

VertexType Particle3D::GetVertexType ( ) const
overridevirtual

Reimplemented from Primitive3D.

◆ GetVertices()

const std::vector< VertexParticle > & Particle3D::GetVertices ( )

◆ HandlePropChange()

bool Particle3D::HandlePropChange ( Datum datum,
uint32_t  index,
const void *  newValue 
)
static

◆ InstantiateParticleSystem()

ParticleSystemInstance * Particle3D::InstantiateParticleSystem ( )

◆ IsAutoDestroyEnabled()

bool Particle3D::IsAutoDestroyEnabled ( ) const

◆ IsAutoEmitEnabled()

bool Particle3D::IsAutoEmitEnabled ( ) const

◆ IsEmissionEnabled()

bool Particle3D::IsEmissionEnabled ( ) const

◆ IsSimulationEnabled()

bool Particle3D::IsSimulationEnabled ( ) const

◆ KillExpiredParticles()

void Particle3D::KillExpiredParticles ( float  deltaTime)
protected

◆ Render()

void Particle3D::Render ( )
overridevirtual

Reimplemented from Primitive3D.

◆ Reset()

void Particle3D::Reset ( )

◆ SetAlwaysSimulate()

void Particle3D::SetAlwaysSimulate ( bool  alwaysSimulate)

◆ SetBaseVelocity()

void Particle3D::SetBaseVelocity ( glm::vec3  velocity)

◆ SetMaterialOverride()

void Particle3D::SetMaterialOverride ( Material material)

◆ SetParticleOrientation()

void Particle3D::SetParticleOrientation ( ParticleOrientation  orientation)

◆ SetParticlePosition()

void Particle3D::SetParticlePosition ( int32_t  index,
glm::vec3  position 
)

◆ SetParticleSpeed()

void Particle3D::SetParticleSpeed ( int32_t  index,
float  speed 
)

◆ SetParticleSystem()

void Particle3D::SetParticleSystem ( ParticleSystem particleSystem)

◆ SetParticleVelocity()

void Particle3D::SetParticleVelocity ( int32_t  index,
glm::vec3  velocity 
)

◆ SetTimeMultiplier()

void Particle3D::SetTimeMultiplier ( float  timeMultiplier)

◆ SetUseLocalSpace()

void Particle3D::SetUseLocalSpace ( bool  useLocalSpace)

◆ ShouldAlwaysSimulate()

bool Particle3D::ShouldAlwaysSimulate ( ) const

◆ Simulate()

void Particle3D::Simulate ( float  deltaTime)

◆ SpawnNewParticles()

void Particle3D::SpawnNewParticles ( float  deltaTime)
protected

◆ Start()

void Particle3D::Start ( )
overridevirtual

Reimplemented from Node.

◆ Tick()

void Particle3D::Tick ( float  deltaTime)
overridevirtual

Reimplemented from Primitive3D.

◆ TickCommon()

void Particle3D::TickCommon ( float  deltaTime)
protected

◆ UpdateParticles()

void Particle3D::UpdateParticles ( float  deltaTime)
protected

◆ UpdateVertexBuffer()

void Particle3D::UpdateVertexBuffer ( )

Member Data Documentation

◆ mAlwaysSimulate

bool Particle3D::mAlwaysSimulate = true
protected

◆ mAutoDestroy

bool Particle3D::mAutoDestroy = false
protected

◆ mAutoEmit

bool Particle3D::mAutoEmit = true
protected

◆ mBaseVelocity

glm::vec3 Particle3D::mBaseVelocity = {}
protected

◆ mElapsedTime

float Particle3D::mElapsedTime = 0.0f
protected

◆ mEmissionCounter

float Particle3D::mEmissionCounter = 0.0f
protected

◆ mEmit

bool Particle3D::mEmit = true
protected

◆ mEnableSimulation

bool Particle3D::mEnableSimulation = true
protected

◆ mHasSimulatedThisFrame

bool Particle3D::mHasSimulatedThisFrame = false
protected

◆ mHasUpdatedVerticesThisFrame

bool Particle3D::mHasUpdatedVerticesThisFrame = false
protected

◆ mLoop

uint32_t Particle3D::mLoop = 0
protected

◆ mMaterialOverride

MaterialRef Particle3D::mMaterialOverride
protected

◆ mOrientation

ParticleOrientation Particle3D::mOrientation = ParticleOrientation::Billboard
protected

◆ mParticles

std::vector<Particle> Particle3D::mParticles
protected

◆ mParticleSystem

ParticleSystemRef Particle3D::mParticleSystem
protected

◆ mResource

ParticleCompResource Particle3D::mResource
protected

◆ mTimeMultiplier

float Particle3D::mTimeMultiplier = 1.0f
protected

◆ mUseLocalSpace

bool Particle3D::mUseLocalSpace = false
protected

◆ mVertices

std::vector<VertexParticle> Particle3D::mVertices
protected

The documentation for this class was generated from the following files: