NW4F Eft
Loading...
Searching...
No Matches
nw::eft::EmitterSet Class Reference

#include <eft_EmitterSet.h>

Public Member Functions

 EmitterSet ()
void SetSystem (System *sys)
SystemGetSystem ()
s32 GetResourceID () const
s32 GetEmitterSetID () const
u32 GetCreateID () const
const char * GetEmitterSetName () const
s32 GetNumEmitter () const
s32 GetNumAliveEmitter () const
const EmitterInstanceGetAliveEmitter (u32 idx)
s32 GetNumCreatedEmitter () const
s32 GetEmitterCounter (const char *emitterName)
s32 GetEmitterCounter (s32 emitterID)
u8 GetGroupID () const
EmitterSetGetNext () const
bool IsLoopEffect () const
bool IsAlive () const
bool IsHaveInfinityEmitter () const
nw::math::MTX34GetSRTMatrix ()
nw::math::MTX34GetRTMatrix ()
void SetDrawPriority (u8 priority)
u8 GetDrawPriority () const
u32 GetUserData () const
u8 GetUserDataNum1 () const
u8 GetUserDataNum2 () const
u16 GetUserDataBit () const
void SetMtx (const nw::math::MTX34 &mtx)
void SetMtxFast (const nw::math::MTX34 &mtx)
void SetMtxFast (const nw::math::MTX34 &mtx, f32 scale)
void SetMtxFast (const nw::math::MTX34 &mtx, const nw::math::VEC3 &scale)
void SetPos (const nw::math::VEC3 &pos)
void SetPos (const nw::math::VEC3 &pos, f32 scale)
void SetPos (const nw::math::VEC3 &pos, const nw::math::VEC3 &scale)
void GetPos (nw::math::VEC3 &pos) const
void Kill ()
void KillInfinityEmitter ()
void Reset (const nw::math::MTX34 &matLW)
void Fade ()
bool IsFadeRequest () const
void CancelFade ()
void SetParticleScale (f32 scale)
void SetParticleScale (f32 scaleX, f32 scaleY)
void SetParticleScale (const nw::math::VEC2 &scale)
const nw::math::VEC2GetParticleScale () const
void SetEmissionParticleScale (f32 scale)
void SetEmissionParticleScale (f32 scaleX, f32 scaleY)
void SetEmissionParticleScale (const nw::math::VEC2 &scale)
const nw::math::VEC2GetEmissionParticleScale () const
void SetEmitterScale (const nw::math::VEC3 &scale)
const nw::math::VEC3GetEmitterScale () const
const nw::math::VEC2GetParticleScaleForCalc () const
void SetAlpha (f32 alpha)
void SetColor (f32 r, f32 g, f32 b)
void SetColor (const nw::ut::FloatColor &color)
const nw::ut::FloatColorGetColor () const
void SetAllDirectionalVel (f32 velScale)
f32 GetAllDirectionalVel () const
void SetDirectionalVel (f32 velScale)
f32 GetDirectionalVel () const
void SetRandomVel (f32 velScale)
f32 GetRandomVel () const
void SetAddVel (const nw::math::VEC3 &velAdd)
const nw::math::VEC3GetVelAdd () const
void SetDirectional (const nw::math::VEC3 &dir)
const nw::math::VEC3GetDirectional () const
void SetInitRotate (const nw::math::VEC3 &rot)
void DisableDirectional ()
bool IsSetDirectional () const
void SetStartFrame (s32 frame)
s32 GetStartFrame () const
EmitterControllerGetEmitterController (s32 ix)
const EmitterControllerGetAliveEmitterController (s32 ix)
void SetParticleEmissionPoints (s32 numPoint, nw::math::VEC3 *points)
void SetManualParticleEmission (bool isManual)
void EmitParticle (const nw::math::VEC3 &pos)
void ForceCalc (s32 numLoop)
void SetStopCalcAndDraw (bool isStopCalcAndDraw)
bool IsStopCalcAndDraw () const
void SetStopCalc (bool isStopCalc)
bool IsStopCalc () const
void SetStopDraw (bool isStopDraw)
bool IsStopDraw () const
void SetStopDraw (u32 emitterID, bool isStopDraw)
void SetRandomSeed (u32 seed)
u32 GetRuntimeUserData () const
void SetRuntimeUserData (u32 data)
void UpdateEmitterFromResInfo ()

Private Member Functions

void updateParticleScale_ ()

Private Attributes

SystemmSystem
s32 mNumEmitter
s32 mNumEmitterFirst
u32 mEmitterCreateID
EmitterInstancemInstance [EFT_EMITTER_INSET_NUM]
EmitterController mController [EFT_EMITTER_INSET_NUM]
s32 mResourceID
s32 mEmitterSetID
u32 mRuntimeUserData
s32 mGroupID
u32 mDrawPathFlag
nw::math::MTX34 mSRT
nw::math::MTX34 mRT
nw::math::VEC3 mAutoCalcScale
nw::math::VEC2 mParticlScale
nw::math::VEC2 mEmissionParticleScale
nw::math::VEC2 mParticlScaleForCalc
nw::math::VEC3 mEmitterScale
nw::ut::FloatColor mColor
f32 mFigureVel
f32 mDirectionalVel
f32 mRandomVel
nw::math::VEC3 mVelAdd
nw::math::VEC3 mDirectional
s32 mStartFrame
nw::math::VEC3 mInitialRoate
s32 mNumParticleEmissionPoint
nw::math::VEC3mParticleEmissionPoints
EmitterSetmNext
EmitterSetmPrev
bool mFadeRequest
bool mIsSetDirectional
bool mIsStopCalc
bool mIsStopDraw
bool mIsHaveInfinityEmitter
u8 mDrawPriority
u8 _28e [EFT_CPU_CORE_MAX]

Friends

class System
class EmitterSimpleCalc
class EmitterComplexCalc
class EmitterCalc
class Renderer

Constructor & Destructor Documentation

◆ EmitterSet()

nw::eft::EmitterSet::EmitterSet ( )
inline

Member Function Documentation

◆ SetSystem()

void nw::eft::EmitterSet::SetSystem ( System * sys)
inline

◆ GetSystem()

System * nw::eft::EmitterSet::GetSystem ( )
inline

◆ GetResourceID()

s32 nw::eft::EmitterSet::GetResourceID ( ) const
inline

◆ GetEmitterSetID()

s32 nw::eft::EmitterSet::GetEmitterSetID ( ) const
inline

◆ GetCreateID()

u32 nw::eft::EmitterSet::GetCreateID ( ) const
inline

◆ GetEmitterSetName()

const char * nw::eft::EmitterSet::GetEmitterSetName ( ) const
inline

◆ GetNumEmitter()

s32 nw::eft::EmitterSet::GetNumEmitter ( ) const
inline

◆ GetNumAliveEmitter()

s32 nw::eft::EmitterSet::GetNumAliveEmitter ( ) const
inline

◆ GetAliveEmitter()

const EmitterInstance * nw::eft::EmitterSet::GetAliveEmitter ( u32 idx)

◆ GetNumCreatedEmitter()

s32 nw::eft::EmitterSet::GetNumCreatedEmitter ( ) const
inline

◆ GetEmitterCounter() [1/2]

s32 nw::eft::EmitterSet::GetEmitterCounter ( const char * emitterName)

◆ GetEmitterCounter() [2/2]

s32 nw::eft::EmitterSet::GetEmitterCounter ( s32 emitterID)

◆ GetGroupID()

u8 nw::eft::EmitterSet::GetGroupID ( ) const
inline

◆ GetNext()

EmitterSet * nw::eft::EmitterSet::GetNext ( ) const
inline

◆ IsLoopEffect()

bool nw::eft::EmitterSet::IsLoopEffect ( ) const

◆ IsAlive()

bool nw::eft::EmitterSet::IsAlive ( ) const
inline

◆ IsHaveInfinityEmitter()

bool nw::eft::EmitterSet::IsHaveInfinityEmitter ( ) const
inline

◆ GetSRTMatrix()

nw::math::MTX34 & nw::eft::EmitterSet::GetSRTMatrix ( )
inline

◆ GetRTMatrix()

nw::math::MTX34 & nw::eft::EmitterSet::GetRTMatrix ( )
inline

◆ SetDrawPriority()

void nw::eft::EmitterSet::SetDrawPriority ( u8 priority)
inline

◆ GetDrawPriority()

u8 nw::eft::EmitterSet::GetDrawPriority ( ) const
inline

◆ GetUserData()

u32 nw::eft::EmitterSet::GetUserData ( ) const
inline

◆ GetUserDataNum1()

u8 nw::eft::EmitterSet::GetUserDataNum1 ( ) const
inline

◆ GetUserDataNum2()

u8 nw::eft::EmitterSet::GetUserDataNum2 ( ) const
inline

◆ GetUserDataBit()

u16 nw::eft::EmitterSet::GetUserDataBit ( ) const
inline

◆ SetMtx()

void nw::eft::EmitterSet::SetMtx ( const nw::math::MTX34 & mtx)

◆ SetMtxFast() [1/3]

void nw::eft::EmitterSet::SetMtxFast ( const nw::math::MTX34 & mtx)
inline

◆ SetMtxFast() [2/3]

void nw::eft::EmitterSet::SetMtxFast ( const nw::math::MTX34 & mtx,
f32 scale )
inline

◆ SetMtxFast() [3/3]

void nw::eft::EmitterSet::SetMtxFast ( const nw::math::MTX34 & mtx,
const nw::math::VEC3 & scale )
inline

◆ SetPos() [1/3]

void nw::eft::EmitterSet::SetPos ( const nw::math::VEC3 & pos)
inline

◆ SetPos() [2/3]

void nw::eft::EmitterSet::SetPos ( const nw::math::VEC3 & pos,
f32 scale )
inline

◆ SetPos() [3/3]

void nw::eft::EmitterSet::SetPos ( const nw::math::VEC3 & pos,
const nw::math::VEC3 & scale )
inline

◆ GetPos()

void nw::eft::EmitterSet::GetPos ( nw::math::VEC3 & pos) const
inline

◆ Kill()

void nw::eft::EmitterSet::Kill ( )

◆ KillInfinityEmitter()

void nw::eft::EmitterSet::KillInfinityEmitter ( )

◆ Reset()

void nw::eft::EmitterSet::Reset ( const nw::math::MTX34 & matLW)
inline

◆ Fade()

void nw::eft::EmitterSet::Fade ( )
inline

◆ IsFadeRequest()

bool nw::eft::EmitterSet::IsFadeRequest ( ) const
inline

◆ CancelFade()

void nw::eft::EmitterSet::CancelFade ( )
inline

◆ SetParticleScale() [1/3]

void nw::eft::EmitterSet::SetParticleScale ( f32 scale)
inline

◆ SetParticleScale() [2/3]

void nw::eft::EmitterSet::SetParticleScale ( f32 scaleX,
f32 scaleY )
inline

◆ SetParticleScale() [3/3]

void nw::eft::EmitterSet::SetParticleScale ( const nw::math::VEC2 & scale)
inline

◆ GetParticleScale()

const nw::math::VEC2 & nw::eft::EmitterSet::GetParticleScale ( ) const
inline

◆ SetEmissionParticleScale() [1/3]

void nw::eft::EmitterSet::SetEmissionParticleScale ( f32 scale)
inline

◆ SetEmissionParticleScale() [2/3]

void nw::eft::EmitterSet::SetEmissionParticleScale ( f32 scaleX,
f32 scaleY )
inline

◆ SetEmissionParticleScale() [3/3]

void nw::eft::EmitterSet::SetEmissionParticleScale ( const nw::math::VEC2 & scale)
inline

◆ GetEmissionParticleScale()

const nw::math::VEC2 & nw::eft::EmitterSet::GetEmissionParticleScale ( ) const
inline

◆ SetEmitterScale()

void nw::eft::EmitterSet::SetEmitterScale ( const nw::math::VEC3 & scale)
inline

◆ GetEmitterScale()

const nw::math::VEC3 & nw::eft::EmitterSet::GetEmitterScale ( ) const
inline

◆ GetParticleScaleForCalc()

const nw::math::VEC2 & nw::eft::EmitterSet::GetParticleScaleForCalc ( ) const
inline

◆ SetAlpha()

void nw::eft::EmitterSet::SetAlpha ( f32 alpha)
inline

◆ SetColor() [1/2]

void nw::eft::EmitterSet::SetColor ( f32 r,
f32 g,
f32 b )
inline

◆ SetColor() [2/2]

void nw::eft::EmitterSet::SetColor ( const nw::ut::FloatColor & color)
inline

◆ GetColor()

const nw::ut::FloatColor & nw::eft::EmitterSet::GetColor ( ) const
inline

◆ SetAllDirectionalVel()

void nw::eft::EmitterSet::SetAllDirectionalVel ( f32 velScale)
inline

◆ GetAllDirectionalVel()

f32 nw::eft::EmitterSet::GetAllDirectionalVel ( ) const
inline

◆ SetDirectionalVel()

void nw::eft::EmitterSet::SetDirectionalVel ( f32 velScale)
inline

◆ GetDirectionalVel()

f32 nw::eft::EmitterSet::GetDirectionalVel ( ) const
inline

◆ SetRandomVel()

void nw::eft::EmitterSet::SetRandomVel ( f32 velScale)
inline

◆ GetRandomVel()

f32 nw::eft::EmitterSet::GetRandomVel ( ) const
inline

◆ SetAddVel()

void nw::eft::EmitterSet::SetAddVel ( const nw::math::VEC3 & velAdd)
inline

◆ GetVelAdd()

const nw::math::VEC3 & nw::eft::EmitterSet::GetVelAdd ( ) const
inline

◆ SetDirectional()

void nw::eft::EmitterSet::SetDirectional ( const nw::math::VEC3 & dir)
inline

◆ GetDirectional()

const nw::math::VEC3 & nw::eft::EmitterSet::GetDirectional ( ) const
inline

◆ SetInitRotate()

void nw::eft::EmitterSet::SetInitRotate ( const nw::math::VEC3 & rot)
inline

◆ DisableDirectional()

void nw::eft::EmitterSet::DisableDirectional ( )
inline

◆ IsSetDirectional()

bool nw::eft::EmitterSet::IsSetDirectional ( ) const
inline

◆ SetStartFrame()

void nw::eft::EmitterSet::SetStartFrame ( s32 frame)
inline

◆ GetStartFrame()

s32 nw::eft::EmitterSet::GetStartFrame ( ) const
inline

◆ GetEmitterController()

EmitterController * nw::eft::EmitterSet::GetEmitterController ( s32 ix)
inline

◆ GetAliveEmitterController()

const EmitterController * nw::eft::EmitterSet::GetAliveEmitterController ( s32 ix)

◆ SetParticleEmissionPoints()

void nw::eft::EmitterSet::SetParticleEmissionPoints ( s32 numPoint,
nw::math::VEC3 * points )
inline

◆ SetManualParticleEmission()

void nw::eft::EmitterSet::SetManualParticleEmission ( bool isManual)
inline

◆ EmitParticle()

void nw::eft::EmitterSet::EmitParticle ( const nw::math::VEC3 & pos)

◆ ForceCalc()

void nw::eft::EmitterSet::ForceCalc ( s32 numLoop)

◆ SetStopCalcAndDraw()

void nw::eft::EmitterSet::SetStopCalcAndDraw ( bool isStopCalcAndDraw)
inline

◆ IsStopCalcAndDraw()

bool nw::eft::EmitterSet::IsStopCalcAndDraw ( ) const
inline

◆ SetStopCalc()

void nw::eft::EmitterSet::SetStopCalc ( bool isStopCalc)

◆ IsStopCalc()

bool nw::eft::EmitterSet::IsStopCalc ( ) const
inline

◆ SetStopDraw() [1/2]

void nw::eft::EmitterSet::SetStopDraw ( bool isStopDraw)

◆ IsStopDraw()

bool nw::eft::EmitterSet::IsStopDraw ( ) const
inline

◆ SetStopDraw() [2/2]

void nw::eft::EmitterSet::SetStopDraw ( u32 emitterID,
bool isStopDraw )
inline

◆ SetRandomSeed()

void nw::eft::EmitterSet::SetRandomSeed ( u32 seed)

◆ GetRuntimeUserData()

u32 nw::eft::EmitterSet::GetRuntimeUserData ( ) const
inline

◆ SetRuntimeUserData()

void nw::eft::EmitterSet::SetRuntimeUserData ( u32 data)
inline

◆ UpdateEmitterFromResInfo()

void nw::eft::EmitterSet::UpdateEmitterFromResInfo ( )

◆ updateParticleScale_()

void nw::eft::EmitterSet::updateParticleScale_ ( )
inlineprivate

◆ System

friend class System
friend

◆ EmitterSimpleCalc

friend class EmitterSimpleCalc
friend

◆ EmitterComplexCalc

friend class EmitterComplexCalc
friend

◆ EmitterCalc

friend class EmitterCalc
friend

◆ Renderer

friend class Renderer
friend

Member Data Documentation

◆ mSystem

System* nw::eft::EmitterSet::mSystem
private

◆ mNumEmitter

s32 nw::eft::EmitterSet::mNumEmitter
private

◆ mNumEmitterFirst

s32 nw::eft::EmitterSet::mNumEmitterFirst
private

◆ mEmitterCreateID

u32 nw::eft::EmitterSet::mEmitterCreateID
private

◆ mInstance

EmitterInstance* nw::eft::EmitterSet::mInstance[EFT_EMITTER_INSET_NUM]
private

◆ mController

EmitterController nw::eft::EmitterSet::mController[EFT_EMITTER_INSET_NUM]
private

◆ mResourceID

s32 nw::eft::EmitterSet::mResourceID
private

◆ mEmitterSetID

s32 nw::eft::EmitterSet::mEmitterSetID
private

◆ mRuntimeUserData

u32 nw::eft::EmitterSet::mRuntimeUserData
private

◆ mGroupID

s32 nw::eft::EmitterSet::mGroupID
private

◆ mDrawPathFlag

u32 nw::eft::EmitterSet::mDrawPathFlag
private

◆ mSRT

nw::math::MTX34 nw::eft::EmitterSet::mSRT
private

◆ mRT

nw::math::MTX34 nw::eft::EmitterSet::mRT
private

◆ mAutoCalcScale

nw::math::VEC3 nw::eft::EmitterSet::mAutoCalcScale
private

◆ mParticlScale

nw::math::VEC2 nw::eft::EmitterSet::mParticlScale
private

◆ mEmissionParticleScale

nw::math::VEC2 nw::eft::EmitterSet::mEmissionParticleScale
private

◆ mParticlScaleForCalc

nw::math::VEC2 nw::eft::EmitterSet::mParticlScaleForCalc
private

◆ mEmitterScale

nw::math::VEC3 nw::eft::EmitterSet::mEmitterScale
private

◆ mColor

nw::ut::FloatColor nw::eft::EmitterSet::mColor
private

◆ mFigureVel

f32 nw::eft::EmitterSet::mFigureVel
private

◆ mDirectionalVel

f32 nw::eft::EmitterSet::mDirectionalVel
private

◆ mRandomVel

f32 nw::eft::EmitterSet::mRandomVel
private

◆ mVelAdd

nw::math::VEC3 nw::eft::EmitterSet::mVelAdd
private

◆ mDirectional

nw::math::VEC3 nw::eft::EmitterSet::mDirectional
private

◆ mStartFrame

s32 nw::eft::EmitterSet::mStartFrame
private

◆ mInitialRoate

nw::math::VEC3 nw::eft::EmitterSet::mInitialRoate
private

◆ mNumParticleEmissionPoint

s32 nw::eft::EmitterSet::mNumParticleEmissionPoint
private

◆ mParticleEmissionPoints

nw::math::VEC3* nw::eft::EmitterSet::mParticleEmissionPoints
private

◆ mNext

EmitterSet* nw::eft::EmitterSet::mNext
private

◆ mPrev

EmitterSet* nw::eft::EmitterSet::mPrev
private

◆ mFadeRequest

bool nw::eft::EmitterSet::mFadeRequest
private

◆ mIsSetDirectional

bool nw::eft::EmitterSet::mIsSetDirectional
private

◆ mIsStopCalc

bool nw::eft::EmitterSet::mIsStopCalc
private

◆ mIsStopDraw

bool nw::eft::EmitterSet::mIsStopDraw
private

◆ mIsHaveInfinityEmitter

bool nw::eft::EmitterSet::mIsHaveInfinityEmitter
private

◆ mDrawPriority

u8 nw::eft::EmitterSet::mDrawPriority
private

◆ _28e

u8 nw::eft::EmitterSet::_28e[EFT_CPU_CORE_MAX]
private