1 #pragma once 2 3 // info for shape user data (void*) 4 //------------------------------------------ 5 const static int // & 0xFF ! 6 SU_Road = 0x100, //+mtrId 7 SU_Pipe = 0x200, //+mtrId 8 SU_RoadWall = 0x300, 9 //SU_RoadColumn = 0x400, //=Wall 10 SU_Terrain = 0x500, 11 SU_Vegetation = 0x600, // trees, rocks etc 12 SU_Border = 0x700, // world border planes 13 SU_ObjectStatic = 0x800, 14 SU_Fluid = 0x900; //+surfId solid fluids, ice etc 15 //SU_ObjectDynamic= 0xA00; //.. 16 17 18 // info for special collision objects (fluids, triggers) 19 //------------------------------------------------------------- 20 enum EShapeType 21 { 22 ST_Car=0, ST_Fluid, ST_Wheel, ST_Other 23 }; 24 25 class CARDYNAMICS; class FluidBox; 26 class ShapeData 27 { 28 public: 29 EShapeType type; 30 CARDYNAMICS* pCarDyn; 31 FluidBox* pFluid; 32 int whNum; 33 ShapeData(EShapeType type1)34 ShapeData( EShapeType type1) 35 : type(type1), pCarDyn(0), pFluid(0), whNum(0) 36 { } 37 ShapeData( EShapeType type1, CARDYNAMICS* pCarDyn1, FluidBox* pFluid1, int whNum1=0) type(type1)38 : type(type1), pCarDyn(pCarDyn1), pFluid(pFluid1), whNum(whNum1) 39 { } 40 }; 41