public BSPhysicsShapeType BSShapeTypeFromBroadPhaseNativeType(BroadphaseNativeTypes pin)
{
BSPhysicsShapeType ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
switch (pin)
{
case BroadphaseNativeTypes.BOX_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_BOX;
break;
case BroadphaseNativeTypes.TRIANGLE_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.TETRAHEDRAL_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.CONVEX_TRIANGLEMESH_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_CONVEXHULL;
break;
case BroadphaseNativeTypes.CONVEX_HULL_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_HULL;
break;
case BroadphaseNativeTypes.CONVEX_POINT_CLOUD_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.CUSTOM_POLYHEDRAL_SHAPE_TYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
//implicit convex shapes
case BroadphaseNativeTypes.IMPLICIT_CONVEX_SHAPES_START_HERE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.SPHERE_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_SPHERE;
break;
case BroadphaseNativeTypes.MULTI_SPHERE_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.CAPSULE_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_CAPSULE;
break;
case BroadphaseNativeTypes.CONE_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_CONE;
break;
case BroadphaseNativeTypes.CONVEX_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_CONVEXHULL;
break;
case BroadphaseNativeTypes.CYLINDER_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_CYLINDER;
break;
case BroadphaseNativeTypes.UNIFORM_SCALING_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.MINKOWSKI_SUM_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.MINKOWSKI_DIFFERENCE_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.BOX_2D_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.CONVEX_2D_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.CUSTOM_CONVEX_SHAPE_TYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
//concave shape
case BroadphaseNativeTypes.CONCAVE_SHAPES_START_HERE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
//keep all the convex shapetype below here, for the check IsConvexShape in broadphase proxy!
case BroadphaseNativeTypes.TRIANGLE_MESH_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_MESH;
break;
case BroadphaseNativeTypes.SCALED_TRIANGLE_MESH_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_MESH;
break;
///used for demo integration FAST/Swift collision library and Bullet
case BroadphaseNativeTypes.FAST_CONCAVE_MESH_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_MESH;
break;
//terrain
case BroadphaseNativeTypes.TERRAIN_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_HEIGHTMAP;
break;
///Used for GIMPACT Trimesh integration
case BroadphaseNativeTypes.GIMPACT_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_GIMPACT;
break;
///Multimaterial mesh
case BroadphaseNativeTypes.MULTIMATERIAL_TRIANGLE_MESH_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_MESH;
break;
case BroadphaseNativeTypes.EMPTY_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.STATIC_PLANE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_GROUNDPLANE;
break;
case BroadphaseNativeTypes.CUSTOM_CONCAVE_SHAPE_TYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.CONCAVE_SHAPES_END_HERE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.COMPOUND_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_COMPOUND;
break;
case BroadphaseNativeTypes.SOFTBODY_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_MESH;
break;
case BroadphaseNativeTypes.HFFLUID_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.HFFLUID_BUOYANT_CONVEX_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
case BroadphaseNativeTypes.INVALID_SHAPE_PROXYTYPE:
ret = BSPhysicsShapeType.SHAPE_UNKNOWN;
break;
}
return ret;
}