# b2BodyDef Struct Reference

`#include <b2Body.h>`

List of all members.

## Public Member Functions
| b2BodyDef ()
| This constructor sets the body definition default values.
## Public Attributes
b2BodyType | type
b2Vec2 | position
float32 | angle
| The world angle of the body in radians.
b2Vec2 | linearVelocity
| The linear velocity of the body's origin in world co-ordinates.
float32 | angularVelocity
| The angular velocity of the body.
float32 | linearDamping
float32 | angularDamping
bool | allowSleep
bool | awake
| Is this body initially awake or sleeping?
bool | fixedRotation
| Should this body be prevented from rotating? Useful for characters.
bool | bullet
bool | active
| Does this body start out active?
void * | userData
| Use this to store application specific body data.
float32 | inertiaScale
| Experimental: scales the inertia tensor.

## Detailed Description

A body definition holds all the data needed to construct a rigid body. You can safely re-use body definitions. Shapes are added to a body after construction.

## Constructor & Destructor Documentation

b2BodyDef::b2BodyDef | ( |  | ) | `[inline]`

This constructor sets the body definition default values.

## Member Data Documentation

bool b2BodyDef::active

Does this body start out active?

bool b2BodyDef::allowSleep

Set this flag to false if this body should never fall asleep. Note that this increases CPU usage.

float32 b2BodyDef::angle

The world angle of the body in radians.

float32 b2BodyDef::angularDamping

Angular damping is use to reduce the angular velocity. The damping parameter can be larger than 1.0f but the damping effect becomes sensitive to the time step when the damping parameter is large.

float32 b2BodyDef::angularVelocity

The angular velocity of the body.

bool b2BodyDef::awake

Is this body initially awake or sleeping?

bool b2BodyDef::bullet

Is this a fast moving body that should be prevented from tunneling through other moving bodies? Note that all bodies are prevented from tunneling through kinematic and static bodies. This setting is only considered on dynamic bodies.

Warning:
  You should use this flag sparingly since it increases processing time.

bool b2BodyDef::fixedRotation

Should this body be prevented from rotating? Useful for characters.

float32 b2BodyDef::inertiaScale

Experimental: scales the inertia tensor.

float32 b2BodyDef::linearDamping

Linear damping is use to reduce the linear velocity. The damping parameter can be larger than 1.0f but the damping effect becomes sensitive to the time step when the damping parameter is large.

b2Vec2 b2BodyDef::linearVelocity

The linear velocity of the body's origin in world co-ordinates.

b2Vec2 b2BodyDef::position

The world position of the body. Avoid creating bodies at the origin since this can lead to many overlapping shapes.

b2BodyType b2BodyDef::type

The body type: static, kinematic, or dynamic. Note: if a dynamic body would have zero mass, the mass is set to one.

void* b2BodyDef::userData

Use this to store application specific body data.

The documentation for this struct was generated from the following file:

- Box2D/Box2D/Dynamics/b2Body.h