Blender  V3.3
Classes | Functions
rb_bullet_api.cpp File Reference

Rigid Body API implementation for Bullet. More...

#include <errno.h>
#include <stdio.h>
#include "RBI_api.h"
#include "btBulletDynamicsCommon.h"
#include "LinearMath/btConvexHullComputer.h"
#include "LinearMath/btMatrix3x3.h"
#include "LinearMath/btScalar.h"
#include "LinearMath/btTransform.h"
#include "LinearMath/btVector3.h"
#include "BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h"
#include "BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h"
#include "BulletCollision/Gimpact/btGImpactShape.h"

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 (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, 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, float pivot[3], float orn[4])
 
rbConstraintRB_constraint_new_point (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 110 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,
float  pivot[3],
float  orn[4] 
)
static

◆ RB_body_activate()

void RB_body_activate ( rbRigidBody object)

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

References btRigidBody::applyCentralForce(), and btVector3.

◆ RB_body_deactivate()

void RB_body_deactivate ( rbRigidBody object)

Definition at line 564 of file rb_bullet_api.cpp.

References ISLAND_SLEEPING.

◆ RB_body_delete()

void RB_body_delete ( rbRigidBody object)

◆ RB_body_get_angular_damping()

float RB_body_get_angular_damping ( rbRigidBody object)

Definition at line 447 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 508 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 412 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 494 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 377 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 629 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 622 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 424 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 549 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 453 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 528 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 515 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 418 of file rb_bullet_api.cpp.

◆ RB_body_set_kinematic_state()

void RB_body_set_kinematic_state ( rbRigidBody object,
int  kinematic 
)

Definition at line 536 of file rb_bullet_api.cpp.

References CF_KINEMATIC_OBJECT.

◆ RB_body_set_linear_damping()

void RB_body_set_linear_damping ( rbRigidBody object,
float  value 
)

Definition at line 442 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 522 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 501 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()

void RB_body_set_mass ( rbRigidBody object,
float  value 
)

◆ RB_body_set_restitution()

void RB_body_set_restitution ( rbRigidBody object,
float  value 
)

Definition at line 430 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 1119 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 969 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 ( 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 1254 of file rb_bullet_api.cpp.

References btTypedConstraint(), and threshold.

◆ RB_constraint_set_damping_6dof_spring()

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

Definition at line 1188 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 1223 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 1261 of file rb_bullet_api.cpp.

References btGeneric6DofConstraint().

◆ RB_constraint_set_enabled()

void RB_constraint_set_enabled ( rbConstraint con,
int  enabled 
)

Definition at line 1127 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 1207 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 1239 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 1165 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 1172 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 1134 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 1154 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 1146 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 1269 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 1247 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 1199 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 1231 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 1180 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 1215 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 1279 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 233 of file rb_bullet_api.cpp.

References world.

◆ RB_dworld_add_constraint()

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

Definition at line 922 of file rb_bullet_api.cpp.

References btTypedConstraint(), and world.

◆ RB_dworld_delete()

void RB_dworld_delete ( rbDynamicsWorld world)

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

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

Referenced by rigidbody_world_export_exec().

◆ RB_dworld_get_gravity()

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

Definition at line 165 of file rb_bullet_api.cpp.

References copy_v3_btvec3(), and world.

◆ RB_dworld_new()

rbDynamicsWorld* RB_dworld_new ( const float  gravity[3])

◆ RB_dworld_remove_body()

void RB_dworld_remove_body ( rbDynamicsWorld world,
rbRigidBody object 
)

Definition at line 241 of file rb_bullet_api.cpp.

References world.

◆ RB_dworld_remove_constraint()

void RB_dworld_remove_constraint ( rbDynamicsWorld world,
rbConstraint con 
)

Definition at line 929 of file rb_bullet_api.cpp.

References btTypedConstraint(), and world.

◆ RB_dworld_set_gravity()

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

Definition at line 170 of file rb_bullet_api.cpp.

References btVector3, and world.

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

References btContactSolverInfoData::m_numIterations, and world.

◆ RB_dworld_set_split_impulse()

void RB_dworld_set_split_impulse ( rbDynamicsWorld world,
int  split_impulse 
)

Definition at line 184 of file rb_bullet_api.cpp.

References btContactSolverInfoData::m_splitImpulse, and world.

◆ RB_dworld_step_simulation()

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

Definition at line 193 of file rb_bullet_api.cpp.

References world.

◆ RB_shape_delete()

void RB_shape_delete ( rbCollisionShape shape)

◆ RB_shape_get_margin()

float RB_shape_get_margin ( rbCollisionShape shape)

Definition at line 907 of file rb_bullet_api.cpp.

References rbCollisionShape::cshape.

◆ RB_shape_new_box()

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

◆ RB_shape_new_capsule()

rbCollisionShape* RB_shape_new_capsule ( float  radius,
float  height 
)

◆ RB_shape_new_compound()

rbCollisionShape* RB_shape_new_compound ( void  )

◆ RB_shape_new_cone()

rbCollisionShape* RB_shape_new_cone ( float  radius,
float  height 
)

◆ RB_shape_new_convex_hull()

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

◆ RB_shape_new_cylinder()

rbCollisionShape* RB_shape_new_cylinder ( float  radius,
float  height 
)

◆ RB_shape_new_gimpact_mesh()

rbCollisionShape* RB_shape_new_gimpact_mesh ( rbMeshData mesh)

◆ RB_shape_new_sphere()

rbCollisionShape* RB_shape_new_sphere ( float  radius)

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

References rbCollisionShape::cshape.

◆ RB_shape_trimesh_update()

void RB_shape_trimesh_update ( rbCollisionShape shape,
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 768 of file rb_bullet_api.cpp.

References mesh.

◆ RB_trimesh_add_vertices()

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

Definition at line 759 of file rb_bullet_api.cpp.

References mesh.

◆ RB_trimesh_data_delete()

static void RB_trimesh_data_delete ( rbMeshData mesh)
static

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

References mesh, and Mesh::num_triangles().

◆ RB_trimesh_finish()

void RB_trimesh_finish ( rbMeshData mesh)

Definition at line 775 of file rb_bullet_api.cpp.

References btTriangleIndexVertexArray(), mesh, and Mesh::num_triangles().

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