76 lines
2.1 KiB
C++
76 lines
2.1 KiB
C++
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Physical Placeholder header
|
|
//
|
|
// File: physicalplaceholder.h
|
|
// Description : PhysicalPlaceholder class declarations
|
|
//
|
|
// History:
|
|
// -:Created by Anton Knyazev
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef physicalplaceholder_h
|
|
#define physicalplaceholder_h
|
|
#pragma once
|
|
|
|
struct pe_gridthunk {
|
|
pe_gridthunk *next;
|
|
pe_gridthunk *prev;
|
|
class CPhysicalPlaceholder *pent;
|
|
};
|
|
class CPhysicalEntity;
|
|
|
|
class CPhysicalPlaceholder : public IPhysicalEntity {
|
|
public:
|
|
vectorf m_BBox[2];
|
|
|
|
void *m_pForeignData;
|
|
int m_iForeignData : 16;
|
|
int m_iForeignFlags : 16;
|
|
|
|
struct vec2dpacked {
|
|
int x : 16;
|
|
int y : 16;
|
|
};
|
|
vec2dpacked m_ig[2];
|
|
pe_gridthunk *m_pGridThunks;
|
|
int m_nGridThunks : 16;
|
|
int m_nGridThunksAlloc : 16;
|
|
|
|
CPhysicalPlaceholder *m_pEntBuddy;
|
|
unsigned int m_bProcessed : 1;
|
|
int m_id : 23;
|
|
int m_iSimClass : 8;
|
|
|
|
virtual CPhysicalEntity *GetEntity();
|
|
virtual CPhysicalEntity *GetEntityFast() { return (CPhysicalEntity*)m_pEntBuddy; }
|
|
|
|
virtual pe_type GetType();
|
|
virtual int SetParams(pe_params* params);
|
|
virtual int GetParams(pe_params* params);
|
|
virtual int GetStatus(pe_status* status);
|
|
virtual int Action(pe_action* action);
|
|
|
|
virtual int AddGeometry(phys_geometry *pgeom, pe_geomparams* params,int id=-1);
|
|
virtual void RemoveGeometry(int id);
|
|
|
|
virtual void *GetForeignData(int itype=0) { return m_iForeignData==itype ? m_pForeignData : 0; }
|
|
virtual int GetiForeignData() { return m_iForeignData; }
|
|
|
|
virtual int GetStateSnapshot(class CStream &stm, float time_back=0, int flags=0);
|
|
virtual int SetStateFromSnapshot(class CStream &stm, int flags=0);
|
|
virtual int PostSetStateFromSnapshot();
|
|
virtual int GetStateSnapshotTxt(char *txtbuf,int szbuf, float time_back=0);
|
|
virtual void SetStateFromSnapshotTxt(const char *txtbuf,int szbuf);
|
|
virtual unsigned int GetStateChecksum();
|
|
|
|
virtual void StartStep(float time_interval);
|
|
virtual int Step(float time_interval);
|
|
virtual void StepBack(float time_interval);
|
|
virtual IPhysicalWorld *GetWorld();
|
|
|
|
virtual void GetMemoryStatistics(ICrySizer *pSizer) {};
|
|
};
|
|
|
|
#endif |