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