Added override radius to cone, capsule, and sphere shapes
This commit is contained in:
@@ -17,7 +17,7 @@ void setSolidProperties(int actor)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void rc_setActorCollisionShape(int actor_id, int shape_type, double mass, double radius=-1)
|
void rc_setActorCollisionShape(int actor_id, int shape_type, double mass, double radius=-1.0)
|
||||||
{
|
{
|
||||||
//std::cout << "Start ColShape" << std::endl;
|
//std::cout << "Start ColShape" << std::endl;
|
||||||
if(rc_actor[actor_id].physics.rigid_body)
|
if(rc_actor[actor_id].physics.rigid_body)
|
||||||
@@ -53,7 +53,7 @@ void rc_setActorCollisionShape(int actor_id, int shape_type, double mass, double
|
|||||||
case RC_NODE_SHAPE_TYPE_SPHERE:
|
case RC_NODE_SHAPE_TYPE_SPHERE:
|
||||||
{
|
{
|
||||||
rc_actor[actor_id].physics.shape_type = RC_NODE_SHAPE_TYPE_SPHERE;
|
rc_actor[actor_id].physics.shape_type = RC_NODE_SHAPE_TYPE_SPHERE;
|
||||||
ISphereShape* shape = new ISphereShape(rc_actor[actor_id].mesh_node, mass, false);
|
ISphereShape* shape = new ISphereShape(rc_actor[actor_id].mesh_node, mass, false, radius);
|
||||||
|
|
||||||
rc_actor[actor_id].physics.rigid_body = rc_physics3D.world->addRigidBody(shape);
|
rc_actor[actor_id].physics.rigid_body = rc_physics3D.world->addRigidBody(shape);
|
||||||
|
|
||||||
@@ -81,26 +81,26 @@ void rc_setActorCollisionShape(int actor_id, int shape_type, double mass, double
|
|||||||
if(rc_actor[actor_id].node_type == RC_NODE_TYPE_MESH)
|
if(rc_actor[actor_id].node_type == RC_NODE_TYPE_MESH)
|
||||||
{
|
{
|
||||||
irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor_id].mesh_node;
|
irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor_id].mesh_node;
|
||||||
shape = new ICapsuleShape(node, mass, false);
|
shape = new ICapsuleShape(node, mass, false, radius);
|
||||||
}
|
}
|
||||||
else if(rc_actor[actor_id].node_type == RC_NODE_TYPE_STMESH)
|
else if(rc_actor[actor_id].node_type == RC_NODE_TYPE_STMESH)
|
||||||
{
|
{
|
||||||
irr::scene::IMeshSceneNode* node = (irr::scene::IMeshSceneNode*)rc_actor[actor_id].mesh_node;
|
irr::scene::IMeshSceneNode* node = (irr::scene::IMeshSceneNode*)rc_actor[actor_id].mesh_node;
|
||||||
shape = new ICapsuleShape(node, mass, false);
|
shape = new ICapsuleShape(node, mass, false, radius);
|
||||||
}
|
}
|
||||||
else if(rc_actor[actor_id].node_type == RC_NODE_TYPE_OTMESH)
|
else if(rc_actor[actor_id].node_type == RC_NODE_TYPE_OTMESH)
|
||||||
{
|
{
|
||||||
irr::scene::IOctreeSceneNode* node = (irr::scene::IOctreeSceneNode*)rc_actor[actor_id].mesh_node;
|
irr::scene::IOctreeSceneNode* node = (irr::scene::IOctreeSceneNode*)rc_actor[actor_id].mesh_node;
|
||||||
shape = new ICapsuleShape(node, mass, false);
|
shape = new ICapsuleShape(node, mass, false, radius);
|
||||||
}
|
}
|
||||||
else if(rc_actor[actor_id].node_type == RC_NODE_TYPE_TERRAIN)
|
else if(rc_actor[actor_id].node_type == RC_NODE_TYPE_TERRAIN)
|
||||||
{
|
{
|
||||||
irr::scene::ITerrainSceneNode* node = (irr::scene::ITerrainSceneNode*)rc_actor[actor_id].mesh_node;
|
irr::scene::ITerrainSceneNode* node = (irr::scene::ITerrainSceneNode*)rc_actor[actor_id].mesh_node;
|
||||||
shape = new ICapsuleShape(node, mass, false);
|
shape = new ICapsuleShape(node, mass, false, radius);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
shape = new ICapsuleShape(rc_actor[actor_id].mesh_node, mass, false);
|
shape = new ICapsuleShape(rc_actor[actor_id].mesh_node, mass, false, radius);
|
||||||
}
|
}
|
||||||
|
|
||||||
rc_actor[actor_id].physics.rigid_body = rc_physics3D.world->addRigidBody(shape);
|
rc_actor[actor_id].physics.rigid_body = rc_physics3D.world->addRigidBody(shape);
|
||||||
@@ -112,7 +112,7 @@ void rc_setActorCollisionShape(int actor_id, int shape_type, double mass, double
|
|||||||
case RC_NODE_SHAPE_TYPE_CONE:
|
case RC_NODE_SHAPE_TYPE_CONE:
|
||||||
{
|
{
|
||||||
rc_actor[actor_id].physics.shape_type = RC_NODE_SHAPE_TYPE_CONE;
|
rc_actor[actor_id].physics.shape_type = RC_NODE_SHAPE_TYPE_CONE;
|
||||||
IConeShape* shape = new IConeShape(rc_actor[actor_id].mesh_node, mass, false);
|
IConeShape* shape = new IConeShape(rc_actor[actor_id].mesh_node, mass, false, radius);
|
||||||
|
|
||||||
rc_actor[actor_id].physics.rigid_body = rc_physics3D.world->addRigidBody(shape);
|
rc_actor[actor_id].physics.rigid_body = rc_physics3D.world->addRigidBody(shape);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user