16#ifndef BT_DYNAMICS_WORLD_H
17#define BT_DYNAMICS_WORLD_H
72 (void)disableCollisionsBetweenLinkedBodies;
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Gabor Generate Gabor noise Gradient Generate interpolated color and intensity values based on the input vector Magic Generate a psychedelic color texture Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between world
@ BT_SIMPLE_DYNAMICS_WORLD
@ BT_CONTINUOUS_DYNAMICS_WORLD
@ BT_DEFORMABLE_MULTIBODY_DYNAMICS_WORLD
@ BT_SOFT_RIGID_DYNAMICS_WORLD
@ BT_SOFT_MULTIBODY_DYNAMICS_WORLD
@ BT_DISCRETE_DYNAMICS_WORLD
void(* btInternalTickCallback)(btDynamicsWorld *world, btScalar timeStep)
Type for the callback for each tick.
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btTypedConstraint(btTypedConstraintType type, btRigidBody &rbA)
btVector3
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-by...
Basic interface to allow actions such as vehicles and characters to be updated inside a btDynamicsWor...
btCollisionWorld(btDispatcher *dispatcher, btBroadphaseInterface *broadphasePairCache, btCollisionConfiguration *collisionConfiguration)
for debug drawing
The btDynamicsWorld is the interface class for several dynamics implementation, basic,...
virtual void removeRigidBody(btRigidBody *body)=0
const btContactSolverInfo & getSolverInfo() const
virtual btConstraintSolver * getConstraintSolver()=0
virtual btVector3 getGravity() const =0
virtual void removeAction(btActionInterface *action)=0
virtual void debugDrawWorld()=0
btContactSolverInfo m_solverInfo
btContactSolverInfo & getSolverInfo()
virtual void addCharacter(btActionInterface *character)
obsolete, use addAction instead.
virtual int stepSimulation(btScalar timeStep, int maxSubSteps=1, btScalar fixedTimeStep=btScalar(1.)/btScalar(60.))=0
virtual void addRigidBody(btRigidBody *body, int group, int mask)=0
virtual int getNumConstraints() const
virtual void setConstraintSolver(btConstraintSolver *solver)=0
void setInternalTickCallback(btInternalTickCallback cb, void *worldUserInfo=0, bool isPreTick=false)
Set the callback for when an internal tick (simulation substep) happens, optional user info.
btInternalTickCallback m_internalTickCallback
btInternalTickCallback m_internalPreTickCallback
virtual ~btDynamicsWorld()
virtual const btTypedConstraint * getConstraint(int index) const
virtual btDynamicsWorldType getWorldType() const =0
virtual void removeConstraint(btTypedConstraint *constraint)
virtual void addRigidBody(btRigidBody *body)=0
virtual void clearForces()=0
virtual void addConstraint(btTypedConstraint *constraint, bool disableCollisionsBetweenLinkedBodies=false)
void * getWorldUserInfo() const
virtual void addVehicle(btActionInterface *vehicle)
obsolete, use addAction instead.
virtual void removeVehicle(btActionInterface *vehicle)
obsolete, use removeAction instead
void setWorldUserInfo(void *worldUserInfo)
virtual void addAction(btActionInterface *action)=0
btDynamicsWorld(btDispatcher *dispatcher, btBroadphaseInterface *broadphase, btCollisionConfiguration *collisionConfiguration)
virtual void removeCharacter(btActionInterface *character)
obsolete, use removeAction instead
virtual btTypedConstraint * getConstraint(int index)
virtual void synchronizeMotionStates()=0
virtual void setGravity(const btVector3 &gravity)=0
ccl_device_inline float4 mask(const int4 mask, const float4 a)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btContactSolverInfoDoubleData m_solverInfo
btVector3DoubleData m_gravity
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btVector3FloatData m_gravity
btContactSolverInfoFloatData m_solverInfo