Dart Documentationbox2d_consoleBodyDef

BodyDef class

Defines a rigid body. Manipulate the properties of the definition in order to create bodies with those properties. BodyDefinitions can be reused.

class BodyDef {
  /**
   * The body type: static, kinematic, or dynamic.
   * Note: if a dynamic body would have zero mass, the mass is set to one.
   */
  int type;

  /**
   * The world angle of the body in radians.
   */
  num angle;

  /** User can store whatever they wish in here. */
  Object userData;

  /** The world position of the body. */
  Vector position;

  /** Linear velocity of the body in world coordinates. */
  Vector linearVelocity;

  /** Angular velocity of the body. */
  num angularVelocity;

  /**
   * If true, the body will be allowed to rotate. Otherwise, its rotation will
   * be fixed.
   */
  bool fixedRotation;

  /** If true, this body is initially sleeping. */
  bool isSleeping;

  /**
   * 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.
   *
   * You should use this flag sparingly since it increases processing time.
   */
  bool bullet;

  /** Set to false to prevent a body from ever falling asleep. */
  bool allowSleep;

  /**
   * Linear damping is used to reduce the linear velocity. The damping
   * parameter can be larger than 1.0 but the damping effect becomes
   * sensitive to the time step when the damping parameter is large.
   */
  num linearDamping;

  /**
   * Angular damping is used to reduce the angular velocity. The
   * damping parameter can be larger than 1.0 but the damping effect
   * becomes sensitive to time step when the damping parameter is large.
   */
  num angularDamping;

  /** Is this body initially awake or asleep? */
  bool awake;

  /** If true, this body starts out active. */
  bool active;

  /**
   * Constructs a new BodyDef with default values.
   */
  BodyDef() :
    userData = null,
    bullet = false,
    type = BodyType.STATIC,
    position = new Vector(),
    angle = 0,
    linearDamping = 0,
    angularDamping = 0,
    allowSleep = true,
    awake = true,
    fixedRotation = false,
    active = true,
    linearVelocity = new Vector(),
    angularVelocity = 0;
}

Constructors

new BodyDef() #

Constructs a new BodyDef with default values.

BodyDef() :
  userData = null,
  bullet = false,
  type = BodyType.STATIC,
  position = new Vector(),
  angle = 0,
  linearDamping = 0,
  angularDamping = 0,
  allowSleep = true,
  awake = true,
  fixedRotation = false,
  active = true,
  linearVelocity = new Vector(),
  angularVelocity = 0;

Properties

bool active #

If true, this body starts out active.

bool active;

bool allowSleep #

Set to false to prevent a body from ever falling asleep.

bool allowSleep;

num angle #

The world angle of the body in radians.

num angle;

num angularDamping #

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

num angularDamping;

num angularVelocity #

Angular velocity of the body.

num angularVelocity;

bool awake #

Is this body initially awake or asleep?

bool awake;

bool 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.

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

bool bullet;

bool fixedRotation #

If true, the body will be allowed to rotate. Otherwise, its rotation will be fixed.

bool fixedRotation;

bool isSleeping #

If true, this body is initially sleeping.

bool isSleeping;

num linearDamping #

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

num linearDamping;

Vector linearVelocity #

Linear velocity of the body in world coordinates.

Vector linearVelocity;

Vector position #

The world position of the body.

Vector position;

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

int type #

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

int type;

Object userData #

User can store whatever they wish in here.

Object userData;

Operators

bool operator ==(other) #

inherited from Object

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

bool operator ==(other) => identical(this, other);

Methods

new BodyDef() #

Constructs a new BodyDef with default values.

BodyDef() :
  userData = null,
  bullet = false,
  type = BodyType.STATIC,
  position = new Vector(),
  angle = 0,
  linearDamping = 0,
  angularDamping = 0,
  allowSleep = true,
  awake = true,
  fixedRotation = false,
  active = true,
  linearVelocity = new Vector(),
  angularVelocity = 0;

int hashCode() #

inherited from Object

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

external int hashCode();

noSuchMethod(String name, List args) #

inherited from Object

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

external Dynamic noSuchMethod(String name, List args);

const Object() #

inherited from Object

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

const Object();

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();