reman3/Rayman_X/cpa/tempgrp/TPG/Inc/TPG_OEnv.hpp

92 lines
2.5 KiB
C++

#ifndef _TPG_OENV_HPP_
#define _TPG_OENV_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;
class CPA_PartGen_Generator;
/////////////////////////////////////////////////////
// Environement Class
class CPA_PartGen_Environment : public CPA_SaveObject
{
public:
CPA_PartGen_Environment(CString, PRT_tdstParticlesEnvironment *_p_stEnv = NULL, BOOL _bIsLoaded = TRUE );
~CPA_PartGen_Environment();
//virtual functions
virtual long GetDataType(void);
virtual void *GetData(void);
virtual CString fn_csComputeReferencedSectionName(const CString _csNewName);
static void m_s_fn_vCallBackSaveEnv( SCR_tdst_File_Description *_p_stFile,
char *_p_szSectionName,
void *_p_vData,
SCR_tde_Ntfy_Action _eAction );
BOOL m_pub_fn_vLoadIfUnloaded();
PRT_tdstParticlesEnvironment * m_pub_fn_p_stGetEnv() {return m_pri_p_stEnv;}
void m_pub_fn_vSetEnv( PRT_tdstParticlesEnvironment* );
void m_pub_fn_vSetEnvType( short );
short m_pub_fn_wGetEnvType();
void m_pub_fn_vSetBoxMin( double, double, double );
double m_pub_fn_dGetBoxMinX();
double m_pub_fn_dGetBoxMinY();
double m_pub_fn_dGetBoxMinZ();
void m_pub_fn_vSetBoxMax( double, double, double );
double m_pub_fn_dGetBoxMaxX();
double m_pub_fn_dGetBoxMaxY();
double m_pub_fn_dGetBoxMaxZ();
void m_pub_fn_vSetSphereCenter( double, double, double );
double m_pub_fn_dGetSphereCenterX();
double m_pub_fn_dGetSphereCenterY();
double m_pub_fn_dGetSphereCenterZ();
//void m_pub_fn_vSetSphereRadius( double );
double m_pub_fn_dGetSphereRadius();
void m_pub_fn_vSetAcceleration( double, double, double );
double m_pub_fn_dGetAccelerX();
double m_pub_fn_dGetAccelerY();
double m_pub_fn_dGetAccelerZ();
void m_pub_fn_vSetRange( double );
double m_pub_fn_dGetRange();
void m_pub_fn_vSetGenerator( CPA_PartGen_Generator* );
CPA_PartGen_MyDocument * m_pub_fn_p_clGetDocument();
public:
CTL_Editor_DataList m_pub_clDataList;
private:
PRT_tdstParticlesEnvironment *m_pri_p_stEnv;
MTH3D_tdstVector m_pri_stMinPoint;
MTH3D_tdstVector m_pri_stMaxPoint;
MTH3D_tdstVector m_pri_stSphereCenter;
CPA_PartGen_Generator *m_pri_p_clGenerator;
private:
void m_pri_fn_vSetInternalPoints();
void m_pri_fn_vSaveEnv( SCR_tdst_File_Description* );
void m_pri_fn_vFillDataList();
friend void g_fn_vModificationWriteEnvBox( CTL_Editor_Data* );
friend void g_fn_vModificationWriteEnvSphere( CTL_Editor_Data* );
};
#endif //_TPG_OENV_HPP_