ChainShape class

A chain shape is a free form sequence of line segments. The chain has two-sided collision, so you can use inside and outside collision. Therefore, you may use any winding order. Connectivity information is used to create smooth collisions. WARNING: The chain will not collide properly if there are self-intersections.

Inheritance

Constructors

ChainShape()

Properties

hashCode int
The hash code for this object. [...]
read-only, inherited
radius double
read / write, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
shapeType ShapeType
final, inherited

Methods

clear() → void
clone() Shape
override
computeAABB(AABB aabb, Transform xf, int childIndex) → void
Given a transform, compute the associated axis aligned bounding box for a child shape. [...]
override
computeDistanceToOut(Transform xf, Vector2 p, int childIndex, Vector2 normalOut) double
Compute the distance from the current shape to the specified point. This only works for convex shapes. [...]
override
computeMass(MassData massData, double density) → void
Compute the mass properties of this shape using its dimensions and density. The inertia tensor is computed about the local origin. [...]
override
createChain(List<Vector2> vertices, int count) → void
Create a chain with isolated end vertices. [...]
createLoop(List<Vector2> vertices, int count) → void
Create a loop. This automatically adjusts connectivity. [...]
getChildCount() int
Get the number of child primitives
override
getChildEdge(EdgeShape edge, int index) → void
Get a child edge.
getVertex(int index) Vector2
Returns the vertex at the given position (index). [...]
getVertexCount() int
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
raycast(RayCastOutput output, RayCastInput input, Transform xf, int childIndex) bool
Cast a ray against a child shape. [...]
override
setNextVertex(Vector2 nextVertex) → void
Establish connectivity to a vertex that follows the last vertex. Don't call this for loops.
setPrevVertex(Vector2 prevVertex) → void
Establish connectivity to a vertex that precedes the first vertex. Don't call this for loops.
testPoint(Transform xf, Vector2 p) bool
Test a point for containment in this shape. This only works for convex shapes. [...]
override
toString() String
A string representation of this object. [...]
inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
inherited