Dart Documentationbox2d_consoleShape

Shape abstract class

A shape is used for collision detection. You can create a shape however you like. Shapes used for simulation in World are created automatically when a Fixture is created. Shapes may encapsulate a one or more child shapes.

abstract class Shape {
  /** The type of shape. Either circle or polygon. */
  int type;

  /** Shape radius. */
  num radius;

  /**
   * Constructs a new shape of unknown type.
   */
  Shape([int type = ShapeType.UNKNOWN, num radius = 0]) :
    type = type,
    radius = radius { }

  /**
   * Test a point for containment in this shape. This only works for convex
   * shapes.
   * transform:  the shape world transform.
   * point: a point in world coordinates.
   */
  abstract bool testPoint(Transform transform, Vector point);

  /**
   * Computes the associated axis aligned bounding box for a child shape
   * given a transform. Returns through the given out paramater.
   */
  abstract void computeAxisAlignedBox(AxisAlignedBox box, Transform transform);

  /**
   * Computes (and returns through the given out parameter massData) the mass
   * properties of this shape using its dimensions and the
   * given density. The inertia tensor is computed about the local origin.
   */
  abstract void computeMass(MassData massData, num density);

  /** Returns a clone of this shape. */
  abstract Shape clone();
}

Subclasses

CircleShape, PolygonShape

Constructors

new Shape([int type = ShapeType.UNKNOWN, num radius = 0]) #

Constructs a new shape of unknown type.

Shape([int type = ShapeType.UNKNOWN, num radius = 0]) :
  type = type,
  radius = radius { }

Properties

num radius #

Shape radius.

num radius;

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

int type #

The type of shape. Either circle or polygon.

int type;

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

abstract Shape clone() #

Returns a clone of this shape.

abstract void computeAxisAlignedBox(AxisAlignedBox box, Transform transform) #

Computes the associated axis aligned bounding box for a child shape given a transform. Returns through the given out paramater.

abstract void computeMass(MassData massData, num density) #

Computes (and returns through the given out parameter massData) the mass properties of this shape using its dimensions and the given density. The inertia tensor is computed about the local origin.

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();

new Shape([int type = ShapeType.UNKNOWN, num radius = 0]) #

Constructs a new shape of unknown type.

Shape([int type = ShapeType.UNKNOWN, num radius = 0]) :
  type = type,
  radius = radius { }

abstract bool testPoint(Transform transform, Vector point) #

Test a point for containment in this shape. This only works for convex shapes. transform: the shape world transform. point: a point in world coordinates.

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();