/* ======================================================================================= Name : TPG_OSrc.hpp Author : vincent lhullier Date :20/03/98 Description : definition of ParticleSource editor object ======================================================================================= */ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ #ifndef _TPG_OSRC_HPP_ #define _TPG_OSRC_HPP_ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ #include "ACP_Base.h" #include "ITF.h" #include "PRT.h" #include "CTL.h" /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ class CPA_PartGen_MyDocument; /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /* ======================================================================================= Constants ======================================================================================= */ #define TPG_C_tdxDefaultParticlesNumber 100 /* ======================================================================================= CPA_PartGen_Source class ======================================================================================= */ class CPA_PartGen_Source : public CPA_SaveObject { public: CPA_PartGen_Source( CString ); CPA_PartGen_Source( CString, PRT_tdstParticlesSource *_p_stPrtSrc = NULL, BOOL _bIsLoaded = TRUE ); ~CPA_PartGen_Source(); //virtual functions virtual long GetDataType(void); virtual void *GetData(void); virtual CString fn_csComputeReferencedSectionName(const CString _csNewName); static void m_s_fn_vCallBackSaveSource( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName, void *_p_vData, SCR_tde_Ntfy_Action _eAction ); BOOL m_pub_fn_vLoadIfUnloaded(); PRT_tdstParticlesSource * m_pub_fn_p_stGetSource() {return m_pri_p_stPrtSrc;} void m_pub_fn_vSetSource( PRT_tdstParticlesSource* _p_stPrtSrc ); //CString m_pub_fn_csGetObjectName(); void m_pub_fn_vSetGenerationMode( short _wIndex ); long m_pub_fn_lGetGenerationMode(); double m_pub_fn_dGetGenerationProba(); long m_pub_fn_lGetNbNoGeneration(); long m_pub_fn_lGetNbGeneration(); /////////////////////////////////////////////////////// // Nb Particles to Generate Mode and parameters void m_pub_fn_vSetNbGenerateMode( short _wIndex ); long m_pub_fn_lGetNbGenerateMode(); long m_pub_fn_lGetNbToGenerate(); long m_pub_fn_lGetNbMax(); long m_pub_fn_lGetNbMin(); ///////////////////////////////////////////////////// // Geometry Mode and parameters void m_pub_fn_vSetGeometryMode( short _wIndex ); long m_pub_fn_lGetGeometryMode(); double m_pub_fn_dGetSrcPt1X(); double m_pub_fn_dGetSrcPt1Y(); double m_pub_fn_dGetSrcPt1Z(); double m_pub_fn_dGetSrcPt2X(); double m_pub_fn_dGetSrcPt2Y(); double m_pub_fn_dGetSrcPt2Z(); double m_pub_fn_dGetSrcPt3X(); double m_pub_fn_dGetSrcPt3Y(); double m_pub_fn_dGetSrcPt3Z(); ///////////////////////////////////////////////// // Link Mode void m_pub_fn_vSetLinkMode( short _wIndex ); long m_pub_fn_lGetLinkMode(); ////////////////////////////////////////////// // Speed and speed Range void m_pub_fn_vSetSpeed( double _dSpeed ); double m_pub_fn_dGetSpeed(); void m_pub_fn_vSetSpeedRange( double _dSpeedRange ); double m_pub_fn_dGetSpeedRange(); CPA_PartGen_MyDocument *m_pub_fn_p_clGetDocument(); CTL_Editor_DataList m_pub_clDataList; /* * private data members */ private: PRT_tdstParticlesSource *m_pri_p_stPrtSrc; //GMT_tdxHandleToGameMaterial m_pri_hGameMaterial; //ACP_tdxHandleOfSprite m_pri_hSprite; /* * private methods */ private: void m_pri_fn_vFillDataList(); void m_pri_fn_vSaveSource( SCR_tdst_File_Description* ); //void m_pri_fn_vSetInternalParticle(); }; #endif //_TPG_OSRC_HPP_