// X3DEditEffect.h: interface for the CX3DEditEffect class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_X3DEDITEFFECT_H__ED759873_905C_4457_A2E5_16103E6019E8__INCLUDED_) #define AFX_X3DEDITEFFECT_H__ED759873_905C_4457_A2E5_16103E6019E8__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "X3DEffect.h" #include "X3DEditObject.h" class CX3DEditEffect : public CX3DEffect { protected: list m_lstEditEffectObject; BOOL m_bPlay; unsigned long m_dwUIDCounter; public: void Save(const char *strFilePath, const char *strFileName); void Load(const char *strFilePath, const char *strFileName); CX3DEditEffect(); virtual ~CX3DEditEffect(); unsigned long AddEditObject(CX3DEditObject *pNewEditObject); CX3DEditObject *GetEditObject(unsigned long dwEffectNumber); CX3DEffectBase *GetEffect(unsigned long dwKind, unsigned long dwEffectNumber); CX3DEditObject *GetFindEditObject(unsigned long dwUID); BOOL DeleteEditObject(unsigned long dwEffectNumber); unsigned long GetEffectSize(void) { return m_lstEditEffectObject.size(); } unsigned long GetEffectKind(unsigned long dwEffectNumber); void SetPlay(BOOL bPlay) { m_bPlay = bPlay; list::iterator it; for(it = m_lstEditEffectObject.begin(); it != m_lstEditEffectObject.end(); it++) { (*it)->SetPlay(m_bPlay); } } BOOL GetPlay(void) { return m_bPlay; } void RenderPicked(unsigned long dwEffectNumber, unsigned long dwFrame); unsigned long Pick(vector3 &vecStart, vector3 &vecEnd, unsigned long &dwEffectNumber); }; #endif // !defined(AFX_X3DEDITEFFECT_H__ED759873_905C_4457_A2E5_16103E6019E8__INCLUDED_)