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
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 #
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) #
The equality operator.
The default behavior for all Object
s 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 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() #
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) #
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() #
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() #
Returns a string representation of this object.
external String toString();