Constructor
new RelPosition(set)
- Source:
Constructor. Return the position corresponding to the origin with the reference frame.
Parameters:
Name | Type | Description |
---|---|---|
set |
TeleportationSet | the underlying discrete subgroups. |
Members
cellBoost :GroupElement
- Source:
the "discrete" component of the isometry par of the boost
Type:
facing
- Source:
Facing of the local part of the relative position
globalBoost
- Source:
Return the global isometry (cellBoost * local boost) of the current position
globalPosition
- Source:
Return a global position (with no cell boost) representing the current relative position
invCellBoost :GroupElement
- Source:
the inverse of cellBoost
Type:
local :Position
- Source:
the local position
Type:
localPoint :Point
- Source:
The underlying local point (i.e. ignoring the cell boost)
Type:
point :Point
- Source:
The underlying point (taking into account the cell boost)
Type:
set :TeleportationSet
- Source:
the isometry component of the position inside the fundamental domain
Type:
Methods
applyQuaternion(quaternion) → {RelPosition}
- Source:
Rotate the facing by m
(right action of O(3) in the set of positions).
Parameters:
Name | Type | Description |
---|---|---|
quaternion |
Quaternion | An isometry of the tangent space at the origin, i.e. a matrix in O(3). |
Returns:
the updated version of the current Position
- Type
- RelPosition
clone() → {RelPosition}
- Source:
Return a new copy of the current position.
Returns:
the clone of the current relative position
- Type
- RelPosition
copy(position) → {RelPosition}
- Source:
Set the current position with the given position.
Parameters:
Name | Type | Description |
---|---|---|
position |
RelPosition | the relative position to copy |
Returns:
the current relative position
- Type
- RelPosition
equals(position) → {boolean}
- Source:
Check if the current position and position
are the same.
Mainly for debugging purposes
Parameters:
Name | Type | Description |
---|---|---|
position |
RelPosition |
Returns:
true if the relative positions are the same, false otherwise
- Type
- boolean
fakeDiffExpMap(matrix) → {RelPosition}
- Source:
Fake version of the differential of the exponential map. We do not incorporate any teleportation here. (See Position for details)
Parameters:
Name | Type | Description |
---|---|---|
matrix |
Matrix4 | an affine isometry of the tangent space at the origin |
Returns:
- Type
- RelPosition
flow(v) → {RelPosition}
- Source:
Flow the current position.
v
is the pull back at the origin by the position of the direction in which we flow
The time by which we flow is the norm of v
This method makes sure that the boost stays in the fundamental domain
Parameters:
Name | Type | Description |
---|---|---|
v |
Vector | the direction (and length) to follow |
Returns:
the current relative position
- Type
- RelPosition
reduceError() → {RelPosition}
- Source:
Reduce the eventual numerical error of the current position.
Returns:
the current relative position
- Type
- RelPosition
reduceErrorBoost() → {RelPosition}
- Source:
Reduce the eventual numerical error of the current boost.
Returns:
the current relative position
- Type
- RelPosition
reduceErrorFacing() → {RelPosition}
- Source:
- To Do:
-
To be completed
Reduce the eventual numerical error of the current facing.
Returns:
the current relative position
- Type
- RelPosition
reduceErrorLocal() → {RelPosition}
- Source:
- To Do:
-
To be completed
Reduce the eventual numerical error of the current facing.
Returns:
the current relative position
- Type
- RelPosition
reset() → {RelPosition}
- Source:
Reset the position in its default position (boost = identity, quaternion = 1)
Returns:
The current position
- Type
- RelPosition
teleport() → {RelPosition}
- Source:
Apply if needed a teleportation to bring back the local boos in the fundamental domain
Returns:
the current relative position
- Type
- RelPosition