Blender V5.0
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 *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_type (rbRigidBody *object, int type, float mass)
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)
int RB_body_get_activation_state (rbRigidBody *object)
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)
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 *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_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 319 of file RBI_api.h.

◆ RB_LIMIT_ANG_Y

#define RB_LIMIT_ANG_Y   4

Definition at line 320 of file RBI_api.h.

◆ RB_LIMIT_ANG_Z

#define RB_LIMIT_ANG_Z   5

Definition at line 321 of file RBI_api.h.

◆ RB_LIMIT_LIN_X

#define RB_LIMIT_LIN_X   0

Definition at line 316 of file RBI_api.h.

◆ RB_LIMIT_LIN_Y

#define RB_LIMIT_LIN_Y   1

Definition at line 317 of file RBI_api.h.

◆ RB_LIMIT_LIN_Z

#define RB_LIMIT_LIN_Z   2

Definition at line 318 of file RBI_api.h.

Typedef Documentation

◆ rbCollisionShape

typedef struct rbCollisionShape rbCollisionShape

Definition at line 38 of file RBI_api.h.

◆ 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 * object)

Definition at line 556 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 646 of file rb_bullet_api.cpp.

References btRigidBody::applyCentralForce(), and btVector3.

◆ RB_body_deactivate()

void RB_body_deactivate ( rbRigidBody * object)

Definition at line 561 of file rb_bullet_api.cpp.

References ISLAND_SLEEPING.

◆ RB_body_delete()

◆ RB_body_get_activation_state()

int RB_body_get_activation_state ( rbRigidBody * object)

References count, enabled, max, min, num, rot, verts, x, y, and z().

◆ RB_body_get_angular_damping()

float RB_body_get_angular_damping ( rbRigidBody * object)

Definition at line 444 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 505 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 409 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 491 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 374 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 626 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 619 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 421 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] )

◆ RB_body_set_activation_state()

void RB_body_set_activation_state ( rbRigidBody * object,
int use_deactivation )

Definition at line 546 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 450 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 525 of file rb_bullet_api.cpp.

References btVector3, btRigidBody::setAngularFactor(), x, y, 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 512 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 )

◆ 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 415 of file rb_bullet_api.cpp.

◆ RB_body_set_kinematic_state()

void RB_body_set_kinematic_state ( rbRigidBody * object,
int kinematic )

Definition at line 533 of file rb_bullet_api.cpp.

◆ RB_body_set_linear_damping()

void RB_body_set_linear_damping ( rbRigidBody * object,
float value )

Definition at line 439 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 519 of file rb_bullet_api.cpp.

References btVector3, btRigidBody::setLinearFactor(), x, y, 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 498 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 427 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_body_set_type()

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

References x, y, and z().

◆ 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 1116 of file rb_bullet_api.cpp.

References btTypedConstraint().

◆ 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 966 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 )

◆ 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 1258 of file rb_bullet_api.cpp.

References btTypedConstraint().

◆ RB_constraint_set_damping_6dof_spring()

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

Definition at line 1192 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 1227 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 1265 of file rb_bullet_api.cpp.

References btGeneric6DofConstraint().

◆ RB_constraint_set_enabled()

void RB_constraint_set_enabled ( rbConstraint * con,
int enabled )

Definition at line 1131 of file rb_bullet_api.cpp.

References btTypedConstraint(), and enabled.

◆ RB_constraint_set_equilibrium_6dof_spring()

void RB_constraint_set_equilibrium_6dof_spring ( rbConstraint * con)

Definition at line 1211 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 1243 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 1169 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 1176 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 1138 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 1158 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 1150 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 1273 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 1251 of file rb_bullet_api.cpp.

References btTypedConstraint().

◆ RB_constraint_set_spring_6dof_spring()

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

Definition at line 1203 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 1235 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 1184 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 1219 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 1283 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 230 of file rb_bullet_api.cpp.

References rbDynamicsWorld::dynamicsWorld.

◆ RB_dworld_add_constraint()

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

Definition at line 919 of file rb_bullet_api.cpp.

References btTypedConstraint(), and rbDynamicsWorld::dynamicsWorld.

◆ RB_dworld_delete()

◆ 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 207 of file rb_bullet_api.cpp.

References rbDynamicsWorld::dynamicsWorld, 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 167 of file rb_bullet_api.cpp.

References copy_v3_btvec3(), and rbDynamicsWorld::dynamicsWorld.

◆ RB_dworld_new()

◆ RB_dworld_remove_body()

void RB_dworld_remove_body ( rbDynamicsWorld * world,
rbRigidBody * object )

Definition at line 238 of file rb_bullet_api.cpp.

References rbDynamicsWorld::dynamicsWorld.

◆ RB_dworld_remove_constraint()

void RB_dworld_remove_constraint ( rbDynamicsWorld * world,
rbConstraint * con )

Definition at line 926 of file rb_bullet_api.cpp.

References btTypedConstraint(), and rbDynamicsWorld::dynamicsWorld.

◆ RB_dworld_set_gravity()

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

Definition at line 172 of file rb_bullet_api.cpp.

References btVector3, and rbDynamicsWorld::dynamicsWorld.

Referenced by RB_dworld_new().

◆ RB_dworld_set_solver_iterations()

void RB_dworld_set_solver_iterations ( rbDynamicsWorld * world,
int num_solver_iterations )

◆ RB_dworld_set_split_impulse()

void RB_dworld_set_split_impulse ( rbDynamicsWorld * world,
int split_impulse )

◆ RB_dworld_step_simulation()

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

Definition at line 197 of file rb_bullet_api.cpp.

References rbDynamicsWorld::dynamicsWorld.

◆ RB_shape_delete()

◆ RB_shape_get_margin()

float RB_shape_get_margin ( rbCollisionShape * shape)

Definition at line 904 of file rb_bullet_api.cpp.

References rbCollisionShape::cshape.

◆ RB_shape_new_box()

◆ RB_shape_new_capsule()

◆ RB_shape_new_compound()

◆ RB_shape_new_cone()

◆ RB_shape_new_convex_hull()

◆ RB_shape_new_cylinder()

◆ RB_shape_new_gimpact_mesh()

◆ RB_shape_new_sphere()

◆ RB_shape_new_trimesh()

◆ RB_shape_set_margin()

void RB_shape_set_margin ( rbCollisionShape * shape,
float value )

Definition at line 909 of file rb_bullet_api.cpp.

References rbCollisionShape::cshape.

◆ RB_shape_trimesh_update()

◆ RB_trimesh_add_triangle_indices()

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

Definition at line 765 of file rb_bullet_api.cpp.

References num, rbMeshData::triangles, rbTri::v0, rbTri::v1, and rbTri::v2.

◆ RB_trimesh_add_vertices()

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

Definition at line 756 of file rb_bullet_api.cpp.

References i, rbMeshData::vertices, rbVert::x, rbVert::y, and rbVert::z.

◆ RB_trimesh_data_new()

rbMeshData * RB_trimesh_data_new ( int num_tris,
int num_verts )

◆ RB_trimesh_finish()

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