76 if (denominator == 0.0
f)
81 float32 t = numerator / denominator;
99 if (s < 0.0
f || 1.0
f < s)
105 if (numerator > 0.0
f)
135 massData->
mass = 0.0f;
void ComputeMass(b2MassData *massData, float32 density) const
float32 b2Dot(const b2Vec2 &a, const b2Vec2 &b)
Perform the dot product on two vectors.
b2Vec2 b2Mul(const b2Mat22 &A, const b2Vec2 &v)
bool RayCast(b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const
Implement b2Shape.
b2Vec2 lowerBound
the lower vertex
bool TestPoint(const b2Transform &transform, const b2Vec2 &p) const
float32 I
The rotational inertia of the shape about the local origin.
int32 GetChildCount() const
b2Vec2 center
The position of the shape's centroid relative to the shape's origin.
float32 mass
The mass of the shape, usually in kilograms.
void * Allocate(int32 size)
Allocate memory. This will use b2Alloc if the size is larger than b2_maxBlockSize.
b2Shape * Clone(b2BlockAllocator *allocator) const
Implement b2Shape.
b2Vec2 b2MulT(const b2Mat22 &A, const b2Vec2 &v)
An axis aligned bounding box.
b2Vec2 m_vertex1
These are the edge vertices.
void ComputeAABB(b2AABB *aabb, const b2Transform &transform, int32 childIndex) const
void Set(const b2Vec2 &v1, const b2Vec2 &v2)
Set this as an isolated edge.
float32 Normalize()
Convert this vector into a unit vector. Returns the length.
This holds the mass data computed for a shape.
b2Vec2 upperBound
the upper vertex