This section describes definitions and conventions that are used in DigitalRune Geometry.
The library uses the following conventions.
DigitalRune Geometry is based on DigitalRune Mathematics and therefore uses the same conventions: See Definitions and Conventions of DigitalRune Mathematics
An observer is looking at the front side of a face if the vertices are oriented counter-clockwise.
Outward Pointing Normals
The normal vector of a face is pointing in the front direction (away from the object into the empty space).
The following terms are used throughout the documentation and in code.
Local and World Space
The coordinate system that is fixed on an object is called local space (other common terms are object space, child space, body space). The world coordinate space is called world space (other common terms are global space, parent space). Some methods and properties have the words "Local" or "World" in their name to indicate the used space. If an object is nested inside another object, then nested coordinate spaces are created. In this case the world space of the nested object is equal to the localSpace of the parent object. Only if an object is not nested inside another object world space is identical to the global, fixed world coordinate system.
Poses, Shapes and Geometric Objects
We use the term pose to refer to the position and orientation of an object in the world.
A shape defines the space that is occupied by an object.
A geometric object is an object that has a pose and a shape.
Collisions and Contacts
The terms collision and contact are used identically in this documentation. Two objects are in contact if the geometries touch each other (with or without penetration). That means, if the distance between two object is exactly 0, they are in contact. The terms touch/intersect/overlap are used interchangeably to describe that two object have contact.
Separation Distance and Penetration Depth
The separation distance (or short distance) of two separated objects is the minimum distance between the closest points on the objects. If the objects are penetrating, the separation distance is negative. Two object have contact if their separation distance is less than or equal to 0.
The penetration depth of two penetrating objects is the distance that one object has to move to remove the penetration. If the objects are separated, the penetration depth is negative. Two object have contact if their pentration depth is greater than or equal to 0.
The separation distance is the inverse of the penetration depth: SeparationDistance = -PenetrationDepth