Blender V4.3
rb_bullet_api.cpp File Reference

Rigid Body API implementation for Bullet. More...

Go to the source code of this file.

Classes

struct  rbDynamicsWorld
 
struct  rbRigidBody
 
struct  rbVert
 
struct  rbTri
 
struct  rbMeshData
 
struct  rbCollisionShape
 
struct  rbFilterCallback
 

Functions

static void copy_v3_btvec3 (float vec[3], const btVector3 &btvec)
 
static void copy_quat_btquat (float quat[4], const btQuaternion &btquat)
 
rbDynamicsWorldRB_dworld_new (const float gravity[3])
 
void RB_dworld_delete (rbDynamicsWorld *world)
 
void RB_dworld_get_gravity (rbDynamicsWorld *world, float g_out[3])
 
void RB_dworld_set_gravity (rbDynamicsWorld *world, const float g_in[3])
 
void RB_dworld_set_solver_iterations (rbDynamicsWorld *world, int num_solver_iterations)
 
void RB_dworld_set_split_impulse (rbDynamicsWorld *world, int split_impulse)
 
void RB_dworld_step_simulation (rbDynamicsWorld *world, float timeStep, int maxSubSteps, float timeSubStep)
 
void RB_dworld_export (rbDynamicsWorld *world, const char *filename)
 
void RB_dworld_add_body (rbDynamicsWorld *world, rbRigidBody *object, int col_groups)
 
void RB_dworld_remove_body (rbDynamicsWorld *world, rbRigidBody *object)
 
void RB_world_convex_sweep_test (rbDynamicsWorld *world, rbRigidBody *object, const float loc_start[3], const float loc_end[3], float v_location[3], float v_hitpoint[3], float v_normal[3], int *r_hit)
 
rbRigidBodyRB_body_new (rbCollisionShape *shape, const float loc[3], const float rot[4])
 
void RB_body_delete (rbRigidBody *object)
 
void RB_body_set_collision_shape (rbRigidBody *object, rbCollisionShape *shape)
 
float RB_body_get_mass (rbRigidBody *object)
 
void RB_body_set_mass (rbRigidBody *object, float value)
 
float RB_body_get_friction (rbRigidBody *object)
 
void RB_body_set_friction (rbRigidBody *object, float value)
 
float RB_body_get_restitution (rbRigidBody *object)
 
void RB_body_set_restitution (rbRigidBody *object, float value)
 
float RB_body_get_linear_damping (rbRigidBody *object)
 
void RB_body_set_linear_damping (rbRigidBody *object, float value)
 
float RB_body_get_angular_damping (rbRigidBody *object)
 
void RB_body_set_angular_damping (rbRigidBody *object, float value)
 
void RB_body_set_damping (rbRigidBody *object, float linear, float angular)
 
float RB_body_get_linear_sleep_thresh (rbRigidBody *object)
 
void RB_body_set_linear_sleep_thresh (rbRigidBody *object, float value)
 
float RB_body_get_angular_sleep_thresh (rbRigidBody *object)
 
void RB_body_set_angular_sleep_thresh (rbRigidBody *object, float value)
 
void RB_body_set_sleep_thresh (rbRigidBody *object, float linear, float angular)
 
void RB_body_get_linear_velocity (rbRigidBody *object, float v_out[3])
 
void RB_body_set_linear_velocity (rbRigidBody *object, const float v_in[3])
 
void RB_body_get_angular_velocity (rbRigidBody *object, float v_out[3])
 
void RB_body_set_angular_velocity (rbRigidBody *object, const float v_in[3])
 
void RB_body_set_linear_factor (rbRigidBody *object, float x, float y, float z)
 
void RB_body_set_angular_factor (rbRigidBody *object, float x, float y, float z)
 
void RB_body_set_kinematic_state (rbRigidBody *object, int kinematic)
 
void RB_body_set_activation_state (rbRigidBody *object, int use_deactivation)
 
void RB_body_activate (rbRigidBody *object)
 
void RB_body_deactivate (rbRigidBody *object)
 
void RB_body_get_transform_matrix (rbRigidBody *object, float m_out[4][4])
 
void RB_body_set_loc_rot (rbRigidBody *object, const float loc[3], const float rot[4])
 
void RB_body_set_scale (rbRigidBody *object, const float scale[3])
 
void RB_body_get_position (rbRigidBody *object, float v_out[3])
 
void RB_body_get_orientation (rbRigidBody *object, float v_out[4])
 
void RB_body_get_scale (rbRigidBody *object, float v_out[3])
 
void RB_body_apply_central_force (rbRigidBody *object, const float v_in[3])
 
rbCollisionShapeRB_shape_new_box (float x, float y, float z)
 
rbCollisionShapeRB_shape_new_sphere (float radius)
 
rbCollisionShapeRB_shape_new_capsule (float radius, float height)
 
rbCollisionShapeRB_shape_new_cone (float radius, float height)
 
rbCollisionShapeRB_shape_new_cylinder (float radius, float height)
 
rbCollisionShapeRB_shape_new_convex_hull (const float *verts, int stride, int count, float margin, bool *can_embed)
 
rbMeshDataRB_trimesh_data_new (int num_tris, int num_verts)
 
static void RB_trimesh_data_delete (rbMeshData *mesh)
 
void RB_trimesh_add_vertices (rbMeshData *mesh, float *vertices, int num_verts, int vert_stride)
 
void RB_trimesh_add_triangle_indices (rbMeshData *mesh, int num, int index0, int index1, int index2)
 
void RB_trimesh_finish (rbMeshData *mesh)
 
rbCollisionShapeRB_shape_new_trimesh (rbMeshData *mesh)
 
void RB_shape_trimesh_update (rbCollisionShape *shape, const float *vertices, int num_verts, int vert_stride, const float min[3], const float max[3])
 
rbCollisionShapeRB_shape_new_gimpact_mesh (rbMeshData *mesh)
 
rbCollisionShapeRB_shape_new_compound ()
 
void RB_compound_add_child_shape (rbCollisionShape *parentShape, rbCollisionShape *shape, const float loc[3], const float rot[4])
 
void RB_shape_delete (rbCollisionShape *shape)
 
float RB_shape_get_margin (rbCollisionShape *shape)
 
void RB_shape_set_margin (rbCollisionShape *shape, float value)
 
void RB_dworld_add_constraint (rbDynamicsWorld *world, rbConstraint *con, int disable_collisions)
 
void RB_dworld_remove_constraint (rbDynamicsWorld *world, rbConstraint *con)
 
static void make_constraint_transforms (btTransform &transform1, btTransform &transform2, btRigidBody *body1, btRigidBody *body2, const float pivot[3], const float orn[4])
 
rbConstraintRB_constraint_new_point (const float pivot[3], rbRigidBody *rb1, rbRigidBody *rb2)
 
rbConstraintRB_constraint_new_fixed (float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2)
 
rbConstraintRB_constraint_new_hinge (float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2)
 
rbConstraintRB_constraint_new_slider (float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2)
 
rbConstraintRB_constraint_new_piston (float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2)
 
rbConstraintRB_constraint_new_6dof (float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2)
 
rbConstraintRB_constraint_new_6dof_spring (float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2)
 
rbConstraintRB_constraint_new_6dof_spring2 (float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2)
 
rbConstraintRB_constraint_new_motor (float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2)
 
void RB_constraint_delete (rbConstraint *con)
 
void RB_constraint_set_enabled (rbConstraint *con, int enabled)
 
void RB_constraint_set_limits_hinge (rbConstraint *con, float lower, float upper)
 
void RB_constraint_set_limits_slider (rbConstraint *con, float lower, float upper)
 
void RB_constraint_set_limits_piston (rbConstraint *con, float lin_lower, float lin_upper, float ang_lower, float ang_upper)
 
void RB_constraint_set_limits_6dof (rbConstraint *con, int axis, float lower, float upper)
 
void RB_constraint_set_limits_6dof_spring2 (rbConstraint *con, int axis, float lower, float upper)
 
void RB_constraint_set_stiffness_6dof_spring (rbConstraint *con, int axis, float stiffness)
 
void RB_constraint_set_damping_6dof_spring (rbConstraint *con, int axis, float damping)
 
void RB_constraint_set_spring_6dof_spring (rbConstraint *con, int axis, int enable)
 
void RB_constraint_set_equilibrium_6dof_spring (rbConstraint *con)
 
void RB_constraint_set_stiffness_6dof_spring2 (rbConstraint *con, int axis, float stiffness)
 
void RB_constraint_set_damping_6dof_spring2 (rbConstraint *con, int axis, float damping)
 
void RB_constraint_set_spring_6dof_spring2 (rbConstraint *con, int axis, int enable)
 
void RB_constraint_set_equilibrium_6dof_spring2 (rbConstraint *con)
 
void RB_constraint_set_solver_iterations (rbConstraint *con, int num_solver_iterations)
 
void RB_constraint_set_breaking_threshold (rbConstraint *con, float threshold)
 
void RB_constraint_set_enable_motor (rbConstraint *con, int enable_lin, int enable_ang)
 
void RB_constraint_set_max_impulse_motor (rbConstraint *con, float max_impulse_lin, float max_impulse_ang)
 
void RB_constraint_set_target_velocity_motor (rbConstraint *con, float velocity_lin, float velocity_ang)
 

Detailed Description

Rigid Body API implementation for Bullet.

Definition in file rb_bullet_api.cpp.

Function Documentation

◆ copy_quat_btquat()

static void copy_quat_btquat ( float quat[4],
const btQuaternion & btquat )
inlinestatic

Definition at line 111 of file rb_bullet_api.cpp.

References btQuaternion::getW().

Referenced by RB_body_get_orientation().

◆ copy_v3_btvec3()

static void copy_v3_btvec3 ( float vec[3],
const btVector3 & btvec )
inlinestatic

◆ make_constraint_transforms()

static void make_constraint_transforms ( btTransform & transform1,
btTransform & transform2,
btRigidBody * body1,
btRigidBody * body2,
const float pivot[3],
const float orn[4] )
static

◆ RB_body_activate()

void RB_body_activate ( rbRigidBody * object)

Definition at line 560 of file rb_bullet_api.cpp.

References ACTIVE_TAG.

◆ RB_body_apply_central_force()

void RB_body_apply_central_force ( rbRigidBody * object,
const float v_in[3] )

Definition at line 650 of file rb_bullet_api.cpp.

References btRigidBody::applyCentralForce(), and btVector3.

◆ RB_body_deactivate()

void RB_body_deactivate ( rbRigidBody * object)

Definition at line 565 of file rb_bullet_api.cpp.

References ISLAND_SLEEPING.

◆ RB_body_delete()

◆ RB_body_get_angular_damping()

float RB_body_get_angular_damping ( rbRigidBody * object)

Definition at line 448 of file rb_bullet_api.cpp.

References btRigidBody::getAngularDamping().

◆ RB_body_get_angular_sleep_thresh()

float RB_body_get_angular_sleep_thresh ( rbRigidBody * object)

◆ RB_body_get_angular_velocity()

void RB_body_get_angular_velocity ( rbRigidBody * object,
float v_out[3] )

Definition at line 509 of file rb_bullet_api.cpp.

References copy_v3_btvec3(), and btRigidBody::getAngularVelocity().

◆ RB_body_get_friction()

float RB_body_get_friction ( rbRigidBody * object)

Definition at line 413 of file rb_bullet_api.cpp.

◆ RB_body_get_linear_damping()

float RB_body_get_linear_damping ( rbRigidBody * object)

◆ RB_body_get_linear_sleep_thresh()

float RB_body_get_linear_sleep_thresh ( rbRigidBody * object)

◆ RB_body_get_linear_velocity()

void RB_body_get_linear_velocity ( rbRigidBody * object,
float v_out[3] )

Definition at line 495 of file rb_bullet_api.cpp.

References copy_v3_btvec3(), and btRigidBody::getLinearVelocity().

◆ RB_body_get_mass()

float RB_body_get_mass ( rbRigidBody * object)

Definition at line 378 of file rb_bullet_api.cpp.

References float, and btRigidBody::getInvMass().

Referenced by RB_body_set_collision_shape().

◆ RB_body_get_orientation()

void RB_body_get_orientation ( rbRigidBody * object,
float v_out[4] )

Definition at line 630 of file rb_bullet_api.cpp.

References copy_quat_btquat().

Referenced by ptcache_rigidbody_write().

◆ RB_body_get_position()

void RB_body_get_position ( rbRigidBody * object,
float v_out[3] )

Definition at line 623 of file rb_bullet_api.cpp.

References copy_v3_btvec3().

Referenced by ptcache_rigidbody_write().

◆ RB_body_get_restitution()

float RB_body_get_restitution ( rbRigidBody * object)

Definition at line 425 of file rb_bullet_api.cpp.

◆ RB_body_get_scale()

void RB_body_get_scale ( rbRigidBody * object,
float v_out[3] )

◆ RB_body_get_transform_matrix()

void RB_body_get_transform_matrix ( rbRigidBody * object,
float m_out[4][4] )

◆ RB_body_new()

rbRigidBody * RB_body_new ( rbCollisionShape * shape,
const float loc[3],
const float rot[4] )

Definition at line 316 of file rb_bullet_api.cpp.

References btDefaultMotionState(), btTransform, btVector3, and rot.

◆ RB_body_set_activation_state()

void RB_body_set_activation_state ( rbRigidBody * object,
int use_deactivation )

Definition at line 550 of file rb_bullet_api.cpp.

References ACTIVE_TAG, and DISABLE_DEACTIVATION.

◆ RB_body_set_angular_damping()

void RB_body_set_angular_damping ( rbRigidBody * object,
float value )

Definition at line 454 of file rb_bullet_api.cpp.

References RB_body_get_linear_damping(), and RB_body_set_damping().

◆ RB_body_set_angular_factor()

void RB_body_set_angular_factor ( rbRigidBody * object,
float x,
float y,
float z )

Definition at line 529 of file rb_bullet_api.cpp.

References btVector3, btRigidBody::setAngularFactor(), and z().

◆ RB_body_set_angular_sleep_thresh()

void RB_body_set_angular_sleep_thresh ( rbRigidBody * object,
float value )

◆ RB_body_set_angular_velocity()

void RB_body_set_angular_velocity ( rbRigidBody * object,
const float v_in[3] )

Definition at line 516 of file rb_bullet_api.cpp.

References btVector3, and btRigidBody::setAngularVelocity().

◆ RB_body_set_collision_shape()

void RB_body_set_collision_shape ( rbRigidBody * object,
rbCollisionShape * shape )

Definition at line 365 of file rb_bullet_api.cpp.

References RB_body_get_mass(), and RB_body_set_mass().

◆ RB_body_set_damping()

void RB_body_set_damping ( rbRigidBody * object,
float linear,
float angular )

◆ RB_body_set_friction()

void RB_body_set_friction ( rbRigidBody * object,
float value )

Definition at line 419 of file rb_bullet_api.cpp.

◆ RB_body_set_kinematic_state()

void RB_body_set_kinematic_state ( rbRigidBody * object,
int kinematic )

Definition at line 537 of file rb_bullet_api.cpp.

◆ RB_body_set_linear_damping()

void RB_body_set_linear_damping ( rbRigidBody * object,
float value )

Definition at line 443 of file rb_bullet_api.cpp.

References RB_body_get_linear_damping(), and RB_body_set_damping().

◆ RB_body_set_linear_factor()

void RB_body_set_linear_factor ( rbRigidBody * object,
float x,
float y,
float z )

Definition at line 523 of file rb_bullet_api.cpp.

References btVector3, btRigidBody::setLinearFactor(), and z().

◆ RB_body_set_linear_sleep_thresh()

void RB_body_set_linear_sleep_thresh ( rbRigidBody * object,
float value )

◆ RB_body_set_linear_velocity()

void RB_body_set_linear_velocity ( rbRigidBody * object,
const float v_in[3] )

Definition at line 502 of file rb_bullet_api.cpp.

References btVector3, and btRigidBody::setLinearVelocity().

◆ RB_body_set_loc_rot()

void RB_body_set_loc_rot ( rbRigidBody * object,
const float loc[3],
const float rot[4] )

◆ RB_body_set_mass()

◆ RB_body_set_restitution()

void RB_body_set_restitution ( rbRigidBody * object,
float value )

Definition at line 431 of file rb_bullet_api.cpp.

◆ RB_body_set_scale()

void RB_body_set_scale ( rbRigidBody * object,
const float scale[3] )

◆ RB_body_set_sleep_thresh()

void RB_body_set_sleep_thresh ( rbRigidBody * object,
float linear,
float angular )

◆ RB_compound_add_child_shape()

void RB_compound_add_child_shape ( rbCollisionShape * parentShape,
rbCollisionShape * shape,
const float loc[3],
const float rot[4] )

◆ RB_constraint_delete()

void RB_constraint_delete ( rbConstraint * con)

Definition at line 1120 of file rb_bullet_api.cpp.

◆ RB_constraint_new_6dof()

rbConstraint * RB_constraint_new_6dof ( float pivot[3],
float orn[4],
rbRigidBody * rb1,
rbRigidBody * rb2 )

◆ RB_constraint_new_6dof_spring()

rbConstraint * RB_constraint_new_6dof_spring ( float pivot[3],
float orn[4],
rbRigidBody * rb1,
rbRigidBody * rb2 )

◆ RB_constraint_new_6dof_spring2()

rbConstraint * RB_constraint_new_6dof_spring2 ( float pivot[3],
float orn[4],
rbRigidBody * rb1,
rbRigidBody * rb2 )

◆ RB_constraint_new_fixed()

rbConstraint * RB_constraint_new_fixed ( float pivot[3],
float orn[4],
rbRigidBody * rb1,
rbRigidBody * rb2 )

Definition at line 970 of file rb_bullet_api.cpp.

References rbRigidBody::body, btTransform, and make_constraint_transforms().

◆ RB_constraint_new_hinge()

rbConstraint * RB_constraint_new_hinge ( float pivot[3],
float orn[4],
rbRigidBody * rb1,
rbRigidBody * rb2 )

◆ RB_constraint_new_motor()

rbConstraint * RB_constraint_new_motor ( float pivot[3],
float orn[4],
rbRigidBody * rb1,
rbRigidBody * rb2 )

◆ RB_constraint_new_piston()

rbConstraint * RB_constraint_new_piston ( float pivot[3],
float orn[4],
rbRigidBody * rb1,
rbRigidBody * rb2 )

◆ RB_constraint_new_point()

rbConstraint * RB_constraint_new_point ( const float pivot[3],
rbRigidBody * rb1,
rbRigidBody * rb2 )

Definition at line 955 of file rb_bullet_api.cpp.

References rbRigidBody::body, btPoint2PointConstraint(), and btVector3.

◆ RB_constraint_new_slider()

rbConstraint * RB_constraint_new_slider ( float pivot[3],
float orn[4],
rbRigidBody * rb1,
rbRigidBody * rb2 )

◆ RB_constraint_set_breaking_threshold()

void RB_constraint_set_breaking_threshold ( rbConstraint * con,
float threshold )

Definition at line 1262 of file rb_bullet_api.cpp.

◆ RB_constraint_set_damping_6dof_spring()

void RB_constraint_set_damping_6dof_spring ( rbConstraint * con,
int axis,
float damping )

Definition at line 1196 of file rb_bullet_api.cpp.

References btGeneric6DofSpringConstraint().

◆ RB_constraint_set_damping_6dof_spring2()

void RB_constraint_set_damping_6dof_spring2 ( rbConstraint * con,
int axis,
float damping )

Definition at line 1231 of file rb_bullet_api.cpp.

References btGeneric6DofSpring2Constraint().

◆ RB_constraint_set_enable_motor()

void RB_constraint_set_enable_motor ( rbConstraint * con,
int enable_lin,
int enable_ang )

Definition at line 1269 of file rb_bullet_api.cpp.

References btGeneric6DofConstraint().

◆ RB_constraint_set_enabled()

void RB_constraint_set_enabled ( rbConstraint * con,
int enabled )

Definition at line 1135 of file rb_bullet_api.cpp.

◆ RB_constraint_set_equilibrium_6dof_spring()

void RB_constraint_set_equilibrium_6dof_spring ( rbConstraint * con)

Definition at line 1215 of file rb_bullet_api.cpp.

References btGeneric6DofSpringConstraint().

◆ RB_constraint_set_equilibrium_6dof_spring2()

void RB_constraint_set_equilibrium_6dof_spring2 ( rbConstraint * con)

Definition at line 1247 of file rb_bullet_api.cpp.

References btGeneric6DofSpring2Constraint().

◆ RB_constraint_set_limits_6dof()

void RB_constraint_set_limits_6dof ( rbConstraint * con,
int axis,
float lower,
float upper )

Definition at line 1173 of file rb_bullet_api.cpp.

References btGeneric6DofConstraint().

◆ RB_constraint_set_limits_6dof_spring2()

void RB_constraint_set_limits_6dof_spring2 ( rbConstraint * con,
int axis,
float lower,
float upper )

Definition at line 1180 of file rb_bullet_api.cpp.

References btGeneric6DofSpring2Constraint().

◆ RB_constraint_set_limits_hinge()

void RB_constraint_set_limits_hinge ( rbConstraint * con,
float lower,
float upper )

Definition at line 1142 of file rb_bullet_api.cpp.

References btHingeConstraint().

◆ RB_constraint_set_limits_piston()

void RB_constraint_set_limits_piston ( rbConstraint * con,
float lin_lower,
float lin_upper,
float ang_lower,
float ang_upper )

Definition at line 1162 of file rb_bullet_api.cpp.

References btSliderConstraint().

◆ RB_constraint_set_limits_slider()

void RB_constraint_set_limits_slider ( rbConstraint * con,
float lower,
float upper )

Definition at line 1154 of file rb_bullet_api.cpp.

References btSliderConstraint().

◆ RB_constraint_set_max_impulse_motor()

void RB_constraint_set_max_impulse_motor ( rbConstraint * con,
float max_impulse_lin,
float max_impulse_ang )

Definition at line 1277 of file rb_bullet_api.cpp.

References btGeneric6DofConstraint().

◆ RB_constraint_set_solver_iterations()

void RB_constraint_set_solver_iterations ( rbConstraint * con,
int num_solver_iterations )

Definition at line 1255 of file rb_bullet_api.cpp.

◆ RB_constraint_set_spring_6dof_spring()

void RB_constraint_set_spring_6dof_spring ( rbConstraint * con,
int axis,
int enable )

Definition at line 1207 of file rb_bullet_api.cpp.

References btGeneric6DofSpringConstraint().

◆ RB_constraint_set_spring_6dof_spring2()

void RB_constraint_set_spring_6dof_spring2 ( rbConstraint * con,
int axis,
int enable )

Definition at line 1239 of file rb_bullet_api.cpp.

References btGeneric6DofSpring2Constraint().

◆ RB_constraint_set_stiffness_6dof_spring()

void RB_constraint_set_stiffness_6dof_spring ( rbConstraint * con,
int axis,
float stiffness )

Definition at line 1188 of file rb_bullet_api.cpp.

References btGeneric6DofSpringConstraint().

◆ RB_constraint_set_stiffness_6dof_spring2()

void RB_constraint_set_stiffness_6dof_spring2 ( rbConstraint * con,
int axis,
float stiffness )

Definition at line 1223 of file rb_bullet_api.cpp.

References btGeneric6DofSpring2Constraint().

◆ RB_constraint_set_target_velocity_motor()

void RB_constraint_set_target_velocity_motor ( rbConstraint * con,
float velocity_lin,
float velocity_ang )

Definition at line 1287 of file rb_bullet_api.cpp.

References btGeneric6DofConstraint().

◆ RB_dworld_add_body()

void RB_dworld_add_body ( rbDynamicsWorld * world,
rbRigidBody * object,
int col_groups )

Definition at line 234 of file rb_bullet_api.cpp.

◆ RB_dworld_add_constraint()

void RB_dworld_add_constraint ( rbDynamicsWorld * world,
rbConstraint * con,
int disable_collisions )

Definition at line 923 of file rb_bullet_api.cpp.

◆ RB_dworld_delete()

void RB_dworld_delete ( rbDynamicsWorld * world)

Definition at line 151 of file rb_bullet_api.cpp.

References world.

◆ RB_dworld_export()

void RB_dworld_export ( rbDynamicsWorld * world,
const char * filename )

Exports entire dynamics world to Bullet's "*.bullet" binary format which is similar to Blender's SDNA system.

Parameters
worldDynamics world to write to file
filenameAssumed to be a valid filename, with .bullet extension

Definition at line 211 of file rb_bullet_api.cpp.

References btDefaultSerializer::getBufferPointer(), and btDefaultSerializer::getCurrentBufferSize().

Referenced by rigidbody_world_export_exec().

◆ RB_dworld_get_gravity()

void RB_dworld_get_gravity ( rbDynamicsWorld * world,
float g_out[3] )

Definition at line 166 of file rb_bullet_api.cpp.

References copy_v3_btvec3().

◆ RB_dworld_new()

◆ RB_dworld_remove_body()

void RB_dworld_remove_body ( rbDynamicsWorld * world,
rbRigidBody * object )

Definition at line 242 of file rb_bullet_api.cpp.

◆ RB_dworld_remove_constraint()

void RB_dworld_remove_constraint ( rbDynamicsWorld * world,
rbConstraint * con )

Definition at line 930 of file rb_bullet_api.cpp.

◆ RB_dworld_set_gravity()

void RB_dworld_set_gravity ( rbDynamicsWorld * world,
const float g_in[3] )

Definition at line 171 of file rb_bullet_api.cpp.

References btVector3.

Referenced by RB_dworld_new().

◆ RB_dworld_set_solver_iterations()

void RB_dworld_set_solver_iterations ( rbDynamicsWorld * world,
int num_solver_iterations )

Definition at line 177 of file rb_bullet_api.cpp.

References btContactSolverInfoData::m_numIterations.

◆ RB_dworld_set_split_impulse()

void RB_dworld_set_split_impulse ( rbDynamicsWorld * world,
int split_impulse )

Definition at line 185 of file rb_bullet_api.cpp.

References btContactSolverInfoData::m_splitImpulse.

◆ RB_dworld_step_simulation()

void RB_dworld_step_simulation ( rbDynamicsWorld * world,
float timeStep,
int maxSubSteps,
float timeSubStep )

Definition at line 194 of file rb_bullet_api.cpp.

◆ RB_shape_delete()

◆ RB_shape_get_margin()

float RB_shape_get_margin ( rbCollisionShape * shape)

Definition at line 908 of file rb_bullet_api.cpp.

◆ RB_shape_new_box()

rbCollisionShape * RB_shape_new_box ( float x,
float y,
float z )

Definition at line 662 of file rb_bullet_api.cpp.

References btBoxShape(), btVector3, rbCollisionShape::cshape, NULL, and z().

◆ RB_shape_new_capsule()

rbCollisionShape * RB_shape_new_capsule ( float radius,
float height )

Definition at line 682 of file rb_bullet_api.cpp.

References rbCollisionShape::cshape, and NULL.

◆ RB_shape_new_compound()

rbCollisionShape * RB_shape_new_compound ( void )

Definition at line 847 of file rb_bullet_api.cpp.

References btCompoundShape(), and NULL.

◆ RB_shape_new_cone()

rbCollisionShape * RB_shape_new_cone ( float radius,
float height )

Definition at line 692 of file rb_bullet_api.cpp.

References rbCollisionShape::cshape, and NULL.

◆ RB_shape_new_convex_hull()

rbCollisionShape * RB_shape_new_convex_hull ( const float * verts,
int stride,
int count,
float margin,
bool * can_embed )

◆ RB_shape_new_cylinder()

rbCollisionShape * RB_shape_new_cylinder ( float radius,
float height )

Definition at line 702 of file rb_bullet_api.cpp.

References btVector3, rbCollisionShape::cshape, and NULL.

◆ RB_shape_new_gimpact_mesh()

rbCollisionShape * RB_shape_new_gimpact_mesh ( rbMeshData * mesh)

Definition at line 831 of file rb_bullet_api.cpp.

References mesh, NULL, and btGImpactShapeInterface::updateBound().

◆ RB_shape_new_sphere()

rbCollisionShape * RB_shape_new_sphere ( float radius)

Definition at line 672 of file rb_bullet_api.cpp.

References btSphereShape(), rbCollisionShape::cshape, and NULL.

◆ RB_shape_new_trimesh()

rbCollisionShape * RB_shape_new_trimesh ( rbMeshData * mesh)

◆ RB_shape_set_margin()

void RB_shape_set_margin ( rbCollisionShape * shape,
float value )

Definition at line 913 of file rb_bullet_api.cpp.

◆ RB_shape_trimesh_update()

void RB_shape_trimesh_update ( rbCollisionShape * shape,
const float * vertices,
int num_verts,
int vert_stride,
const float min[3],
const float max[3] )

◆ RB_trimesh_add_triangle_indices()

void RB_trimesh_add_triangle_indices ( rbMeshData * mesh,
int num,
int index0,
int index1,
int index2 )

Definition at line 769 of file rb_bullet_api.cpp.

◆ RB_trimesh_add_vertices()

void RB_trimesh_add_vertices ( rbMeshData * mesh,
float * vertices,
int num_verts,
int vert_stride )

Definition at line 760 of file rb_bullet_api.cpp.

◆ RB_trimesh_data_delete()

static void RB_trimesh_data_delete ( rbMeshData * mesh)
static

Definition at line 752 of file rb_bullet_api.cpp.

References mesh.

Referenced by RB_shape_delete().

◆ RB_trimesh_data_new()

rbMeshData * RB_trimesh_data_new ( int num_tris,
int num_verts )

Definition at line 741 of file rb_bullet_api.cpp.

References mesh, and rbMeshData::vertices.

◆ RB_trimesh_finish()

void RB_trimesh_finish ( rbMeshData * mesh)

Definition at line 776 of file rb_bullet_api.cpp.

References btTriangleIndexVertexArray().

◆ RB_world_convex_sweep_test()

void RB_world_convex_sweep_test ( rbDynamicsWorld * world,
rbRigidBody * object,
const float loc_start[3],
const float loc_end[3],
float v_location[3],
float v_hitpoint[3],
float v_normal[3],
int * r_hit )