- Timestamp:
- 11/09/16 01:07:34 (9 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/nv/bullet/bullet_world.hh
r527 r528 31 31 virtual collision_shape create_static_plane( const vec3& norm, float cst ); 32 32 virtual collision_shape create_mesh( array_view< vec3 > vtx, array_view< uint32 > idx ); 33 virtual void set_local_scaling( collision_shape shape, const vec3& value ); 34 virtual vec3 get_local_scaling( collision_shape shape ); 33 35 virtual rigid_body create_rigid_body( float mass, const transform& tr, collision_shape shape, const vec3& com_offset = vec3() ); 34 36 virtual constraint create_hinge_constraint( rigid_body a, const transform& ta, rigid_body b, const transform& tb, const vec2& low_high, const vec3& params = vec3( 0.9f, 0.3f, 1.0f ) ); … … 43 45 virtual void set_rigid_body_linear_velocity( rigid_body body, const vec3& velocity ); 44 46 virtual void set_rigid_body_ccd( rigid_body body, float radius, float threshold ); 45 47 virtual vec3 get_rigid_body_linear_velocity( rigid_body body ); 48 virtual void apply_central_impulse( rigid_body body, const vec3& impulse ); 46 49 virtual nv::transform get_world_transform( rigid_body body ); 47 50 virtual void set_world_transform( rigid_body body, const nv::transform& tr ); -
trunk/nv/interface/physics_world.hh
r527 r528 74 74 virtual collision_shape create_box( const vec3& half_extens ) = 0; 75 75 virtual collision_shape create_static_plane( const vec3& norm, float cst ) = 0; 76 virtual void set_local_scaling( collision_shape shape, const vec3& value ) = 0; 77 virtual vec3 get_local_scaling( collision_shape shape ) = 0; 76 78 virtual rigid_body create_rigid_body( float mass, const transform& tr, collision_shape shape, const vec3& com_offset = vec3() ) = 0; 77 79 virtual constraint create_hinge_constraint( rigid_body a, const transform& ta, rigid_body b, const transform& tb, const vec2& low_high, const vec3& params = vec3( 0.9f, 0.3f, 1.0f ) ) = 0; … … 87 89 virtual void set_rigid_body_linear_velocity( rigid_body body, const vec3& velocity ) = 0; 88 90 virtual void set_rigid_body_ccd( rigid_body body, float radius, float threshold ) = 0; 91 virtual vec3 get_rigid_body_linear_velocity( rigid_body body ) = 0; 89 92 virtual transform get_world_transform( rigid_body body ) = 0; 93 virtual void apply_central_impulse( rigid_body body, const vec3& impulse ) = 0; 90 94 virtual void set_world_transform( rigid_body body, const transform& tr ) = 0; 91 95 virtual int get_collision_flags( rigid_body body ) = 0; -
trunk/src/bullet/bullet_world.cc
r527 r528 140 140 } 141 141 142 void nv::bullet_world::set_local_scaling( collision_shape shape, const vec3& value ) 143 { 144 btCollisionShape* sh = static_cast<btCollisionShape*>( shape.internal ); 145 sh->setLocalScaling( n2b( value ) ); 146 } 147 148 vec3 nv::bullet_world::get_local_scaling( collision_shape shape ) 149 { 150 btCollisionShape* sh = static_cast<btCollisionShape*>( shape.internal ); 151 return b2n( sh->getLocalScaling() ); 152 } 153 142 154 constraint nv::bullet_world::create_hinge_constraint( rigid_body a, const transform& ta, rigid_body b, const transform& tb, const vec2& low_high, const vec3& params /*= vec3( 0.9f, 0.3f, 1.0f ) */ ) 143 155 { … … 203 215 rb->setCcdMotionThreshold( threshold ); 204 216 rb->setCcdSweptSphereRadius( radius ); 217 } 218 219 vec3 nv::bullet_world::get_rigid_body_linear_velocity( rigid_body body ) 220 { 221 btRigidBody* rb = static_cast<btRigidBody*>( body.internal ); 222 return b2n( rb->getLinearVelocity() ); 223 } 224 225 void nv::bullet_world::apply_central_impulse( rigid_body body, const vec3& impulse ) 226 { 227 btRigidBody* rb = static_cast<btRigidBody*>( body.internal ); 228 rb->applyCentralImpulse( n2b( impulse ) ); 229 rb->forceActivationState( ACTIVE_TAG ); 205 230 } 206 231
Note: See TracChangeset
for help on using the changeset viewer.