Blender V4.3
RBI_api.h File Reference

Rigid Body API for interfacing with external Physics Engines. More...

Go to the source code of this file.

Macros

#define RB_LIMIT_LIN_X   0
 
#define RB_LIMIT_LIN_Y   1
 
#define RB_LIMIT_LIN_Z   2
 
#define RB_LIMIT_ANG_X   3
 
#define RB_LIMIT_ANG_Y   4
 
#define RB_LIMIT_ANG_Z   5
 

Typedefs

typedef struct rbDynamicsWorld rbDynamicsWorld
 
typedef struct rbRigidBody rbRigidBody
 
typedef struct rbCollisionShape rbCollisionShape
 
typedef struct rbMeshData rbMeshData
 
typedef struct rbConstraint rbConstraint
 

Functions

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 *body, int col_groups)
 
void RB_dworld_remove_body (rbDynamicsWorld *world, rbRigidBody *body)
 
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 *body)
 
void RB_body_set_type (rbRigidBody *body, int type, float mass)
 
void RB_body_set_collision_shape (rbRigidBody *body, rbCollisionShape *shape)
 
float RB_body_get_mass (rbRigidBody *body)
 
void RB_body_set_mass (rbRigidBody *body, float value)
 
float RB_body_get_friction (rbRigidBody *body)
 
void RB_body_set_friction (rbRigidBody *body, float value)
 
float RB_body_get_restitution (rbRigidBody *body)
 
void RB_body_set_restitution (rbRigidBody *body, float value)
 
float RB_body_get_linear_damping (rbRigidBody *body)
 
void RB_body_set_linear_damping (rbRigidBody *body, float value)
 
float RB_body_get_angular_damping (rbRigidBody *body)
 
void RB_body_set_angular_damping (rbRigidBody *body, float value)
 
void RB_body_set_damping (rbRigidBody *object, float linear, float angular)
 
float RB_body_get_linear_sleep_thresh (rbRigidBody *body)
 
void RB_body_set_linear_sleep_thresh (rbRigidBody *body, float value)
 
float RB_body_get_angular_sleep_thresh (rbRigidBody *body)
 
void RB_body_set_angular_sleep_thresh (rbRigidBody *body, float value)
 
void RB_body_set_sleep_thresh (rbRigidBody *body, float linear, float angular)
 
void RB_body_get_linear_velocity (rbRigidBody *body, float v_out[3])
 
void RB_body_set_linear_velocity (rbRigidBody *body, const float v_in[3])
 
void RB_body_get_angular_velocity (rbRigidBody *body, float v_out[3])
 
void RB_body_set_angular_velocity (rbRigidBody *body, 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 *body, int kinematic)
 
int RB_body_get_activation_state (rbRigidBody *body)
 
void RB_body_set_activation_state (rbRigidBody *body, int use_deactivation)
 
void RB_body_activate (rbRigidBody *body)
 
void RB_body_deactivate (rbRigidBody *body)
 
void RB_body_get_transform_matrix (rbRigidBody *body, float m_out[4][4])
 
void RB_body_set_loc_rot (rbRigidBody *body, const float loc[3], const float rot[4])
 
void RB_body_set_scale (rbRigidBody *body, const float scale[3])
 
void RB_body_get_position (rbRigidBody *body, float v_out[3])
 
void RB_body_get_orientation (rbRigidBody *body, float v_out[4])
 
void RB_body_get_scale (rbRigidBody *object, float v_out[3])
 
void RB_body_apply_central_force (rbRigidBody *body, 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)
 
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)
 
rbCollisionShapeRB_shape_new_gimpact_mesh (rbMeshData *mesh)
 
rbCollisionShapeRB_shape_new_compound (void)
 
void RB_compound_add_child_shape (rbCollisionShape *collisionShape, 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_shape_trimesh_update (rbCollisionShape *shape, const float *vertices, int num_verts, int vert_stride, const float min[3], const float max[3])
 
void RB_dworld_add_constraint (rbDynamicsWorld *world, rbConstraint *con, int disable_collisions)
 
void RB_dworld_remove_constraint (rbDynamicsWorld *world, rbConstraint *con)
 
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_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_limits_6dof_spring2 (rbConstraint *con, int axis, float lower, float upper)
 
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_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)
 
void RB_constraint_set_solver_iterations (rbConstraint *con, int num_solver_iterations)
 
void RB_constraint_set_breaking_threshold (rbConstraint *con, float threshold)
 

Detailed Description

Rigid Body API for interfacing with external Physics Engines.

Definition in file RBI_api.h.

Macro Definition Documentation

◆ RB_LIMIT_ANG_X

#define RB_LIMIT_ANG_X   3

Definition at line 313 of file RBI_api.h.

◆ RB_LIMIT_ANG_Y

#define RB_LIMIT_ANG_Y   4

Definition at line 314 of file RBI_api.h.

◆ RB_LIMIT_ANG_Z

#define RB_LIMIT_ANG_Z   5

Definition at line 315 of file RBI_api.h.

◆ RB_LIMIT_LIN_X

#define RB_LIMIT_LIN_X   0

Definition at line 310 of file RBI_api.h.

◆ RB_LIMIT_LIN_Y

#define RB_LIMIT_LIN_Y   1

Definition at line 311 of file RBI_api.h.

◆ RB_LIMIT_LIN_Z

#define RB_LIMIT_LIN_Z   2

Definition at line 312 of file RBI_api.h.

Typedef Documentation

◆ rbCollisionShape

typedef struct rbCollisionShape rbCollisionShape

Definition at line 38 of file RBI_api.h.

◆ rbConstraint

typedef struct rbConstraint rbConstraint

Definition at line 44 of file RBI_api.h.

◆ rbDynamicsWorld

typedef struct rbDynamicsWorld rbDynamicsWorld

Definition at line 32 of file RBI_api.h.

◆ rbMeshData

typedef struct rbMeshData rbMeshData

Definition at line 41 of file RBI_api.h.

◆ rbRigidBody

typedef struct rbRigidBody rbRigidBody

Definition at line 35 of file RBI_api.h.

Function Documentation

◆ RB_body_activate()

void RB_body_activate ( rbRigidBody * body)

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 * body,
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 * body)

Definition at line 565 of file rb_bullet_api.cpp.

References ISLAND_SLEEPING.

◆ RB_body_delete()

◆ RB_body_get_activation_state()

int RB_body_get_activation_state ( rbRigidBody * body)

◆ RB_body_get_angular_damping()

float RB_body_get_angular_damping ( rbRigidBody * body)

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 * body)

◆ RB_body_get_angular_velocity()

void RB_body_get_angular_velocity ( rbRigidBody * body,
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 * body)

Definition at line 413 of file rb_bullet_api.cpp.

◆ RB_body_get_linear_damping()

float RB_body_get_linear_damping ( rbRigidBody * body)

◆ RB_body_get_linear_sleep_thresh()

float RB_body_get_linear_sleep_thresh ( rbRigidBody * body)

◆ RB_body_get_linear_velocity()

void RB_body_get_linear_velocity ( rbRigidBody * body,
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 * body)

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 * body,
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 * body,
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 * body)

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 * body,
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 * body,
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 * body,
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 * body,
float value )

◆ RB_body_set_angular_velocity()

void RB_body_set_angular_velocity ( rbRigidBody * body,
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 * body,
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 * body,
float value )

Definition at line 419 of file rb_bullet_api.cpp.

◆ RB_body_set_kinematic_state()

void RB_body_set_kinematic_state ( rbRigidBody * body,
int kinematic )

Definition at line 537 of file rb_bullet_api.cpp.

◆ RB_body_set_linear_damping()

void RB_body_set_linear_damping ( rbRigidBody * body,
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 * body,
float value )

◆ RB_body_set_linear_velocity()

void RB_body_set_linear_velocity ( rbRigidBody * body,
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 * body,
const float loc[3],
const float rot[4] )

◆ RB_body_set_mass()

◆ RB_body_set_restitution()

void RB_body_set_restitution ( rbRigidBody * body,
float value )

Definition at line 431 of file rb_bullet_api.cpp.

◆ RB_body_set_scale()

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

◆ RB_body_set_sleep_thresh()

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

◆ RB_body_set_type()

void RB_body_set_type ( rbRigidBody * body,
int type,
float mass )

◆ RB_compound_add_child_shape()

void RB_compound_add_child_shape ( rbCollisionShape * collisionShape,
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 * body,
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 * body )

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_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 )