123
This commit is contained in:
76
CryPhysics/physicalplaceholder.h
Normal file
76
CryPhysics/physicalplaceholder.h
Normal file
@@ -0,0 +1,76 @@
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// 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
|
||||
Reference in New Issue
Block a user