133 lines
3.8 KiB
C++
133 lines
3.8 KiB
C++
/*
|
|
=======================================================================================
|
|
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_
|