28 #ifndef HPL_SURFACE_DATA_H 29 #define HPL_SURFACE_DATA_H 31 #include "hpl1/engine/math/MathTypes.h" 32 #include "hpl1/engine/physics/PhysicsMaterial.h" 36 #define eRollAxisFlag_X 1 37 #define eRollAxisFlag_Y 2 38 #define eRollAxisFlag_Z 4 51 float GetMinSpeed() {
return mfMinSpeed; }
53 const tString &GetSoundName() {
return msSoundName; }
54 void SetSoundName(
const tString &asName) { msSoundName = asName; }
56 const tString &GetPSName() {
return msPSName; }
57 void SetPSName(
const tString &asName) { msPSName = asName; }
59 int GetPSPrio() {
return mlPSPrio; }
60 void SetPSPrio(
int alPrio) { mlPSPrio = alPrio; }
79 const tString &GetName()
const {
return msName; }
84 void CreateImpactEffect(
float afSpeed,
const cVector3f &avPos,
int alContacts,
89 void SetElasticity(
float afElasticity);
90 float GetElasticity()
const;
91 void SetStaticFriction(
float afElasticity);
92 float GetStaticFriction()
const;
93 void SetKineticFriction(
float afElasticity);
94 float GetKineticFriction()
const;
96 void SetPriority(
int alPriority);
97 int GetPriority()
const;
99 void SetFrictionCombMode(ePhysicsMaterialCombMode aMode);
100 ePhysicsMaterialCombMode GetFrictionCombMode()
const;
101 void SetElasticityCombMode(ePhysicsMaterialCombMode aMode);
102 ePhysicsMaterialCombMode GetElasticityCombMode()
const;
104 const tString &GetStepType() {
return msStepType; }
105 void GetStepType(
const tString &asX) { msStepType = asX; }
107 void SetMinScrapeSpeed(
float afX) { mfMinScrapeSpeed = afX; }
108 void SetMinScrapeFreq(
float afX) { mfMinScrapeFreq = afX; }
109 void SetMinScrapeFreqSpeed(
float afX) { mfMinScrapeFreqSpeed = afX; }
110 void SetMaxScrapeFreq(
float afX) { mfMaxScrapeFreq = afX; }
111 void SetMaxScrapeFreqSpeed(
float afX) { mfMaxScrapeFreqSpeed = afX; }
112 void SetMiddleScrapeSpeed(
float afX) { mfMiddleScrapeSpeed = afX; }
113 void SetMinScrapeContacts(
int alX) { mlMinScrapeContacts = alX; }
114 void SetScrapeSoundName(
const tString &asName) { msScrapeSoundName = asName; }
116 void SetMinRollSpeed(
float afX) { mfMinRollSpeed = afX; }
117 void SetMinRollFreq(
float afX) { mfMinRollFreq = afX; }
118 void SetMinRollVolume(
float afX) { mfMinRollVolume = afX; }
119 void SetMinRollFreqSpeed(
float afX) { mfMinRollFreqSpeed = afX; }
120 void SetMaxRollFreq(
float afX) { mfMaxRollFreq = afX; }
121 void SetMaxRollVolume(
float afX) { mfMaxRollVolume = afX; }
122 void SetMaxRollFreqSpeed(
float afX) { mfMaxRollFreqSpeed = afX; }
123 void SetMiddleRollSpeed(
float afX) { mfMiddleRollSpeed = afX; }
124 void SetRollSoundName(
const tString &asName) { msRollSoundName = asName; }
125 void SetRollAxisFlags(tFlag aAxisFlags) { mRollAxisFlags = aAxisFlags; }
136 int GetImpactDataNum();
163 ePhysicsMaterialCombMode mFrictionMode;
164 ePhysicsMaterialCombMode mElasticityMode;
167 float mfStaticFriction;
168 float mfKineticFriction;
172 float mfMinScrapeSpeed;
173 float mfMinScrapeFreq;
174 float mfMinScrapeFreqSpeed;
175 float mfMaxScrapeFreq;
176 float mfMaxScrapeFreqSpeed;
177 float mfMiddleScrapeSpeed;
178 int mlMinScrapeContacts;
181 float mfMinRollSpeed;
183 float mfMinRollVolume;
184 float mfMinRollFreqSpeed;
186 float mfMaxRollVolume;
187 float mfMaxRollFreqSpeed;
188 float mfMiddleRollSpeed;
189 int mlMinRollContacts;
191 tFlag mRollAxisFlags;
195 tSurfaceImpactDataVec mvImpactData;
197 tSurfaceImpactDataVec mvHitData;
202 #endif // HPL_SURFACE_DATA_H
Definition: PhysicsWorld.h:115
T * iterator
Definition: array.h:54
Definition: SurfaceData.h:74
Definition: PhysicsBody.h:117
Definition: SurfaceData.h:47
Definition: PhysicsMaterial.h:77
Definition: Resources.h:160