![]() |
NDEVR
API Documentation
|
A unit that has a complex rotational offset. More...
Public Member Functions | |
| MatrixUnit (StringView name, const TranslatedString &translated_id, const Matrix< fltp08 > &mat, const Unit &base) | |
| Constructs a MatrixUnit with a rotational transformation applied to a base unit. | |
| virtual Unit * | clone (const StringView &name, const TranslatedString &translated_id) const override |
| Creates a copy of this unit with a new name and display name. | |
| virtual fltp08 | convertFromUnit (const fltp08 &program_space, const uint01 direction=X) const override |
| Converts a scalar from this unit back to program space using the inverse matrix transformation. | |
| virtual Ray< 3, fltp08 > | convertFromUnit (const Ray< 3, fltp08 > &program_space) const override |
| Converts a 3D ray from this unit back to program space using the inverse matrix transformation. | |
| virtual Vertex< 3, fltp08 > | convertFromUnit (const Vertex< 3, fltp08 > &program_space) const override |
| Converts a 3D vertex from this unit back to program space using the inverse matrix transformation. | |
| virtual fltp08 | convertToUnit (const fltp08 &program_space, const uint01 direction=X) const override |
| Converts a scalar from program space to this unit using the matrix transformation. | |
| virtual Ray< 3, fltp08 > | convertToUnit (const Ray< 3, fltp08 > &program_space) const override |
| Converts a 3D ray from program space to this unit using the matrix transformation. | |
| virtual Vertex< 3, fltp08 > | convertToUnit (const Vertex< 3, fltp08 > &program_space) const override |
| Converts a 3D vertex from program space to this unit using the matrix transformation. | |
| virtual fltp08 | epsilon (fltp08 value, uint01 direction=X) const override |
| Returns the smallest meaningful difference for a value in this unit. | |
| virtual Matrix< fltp08 > | matrix () const override |
| Returns the combined transformation matrix for this unit. | |
| virtual const Unit * | subUnit (uint01) const override |
| Returns the sub-unit for the given axis direction. | |
Public Attributes | |
| const Matrix< fltp08 > | local_matrix |
| The combined transformation matrix (rotation * base matrix). | |
A unit that has a complex rotational offset.
Think northing-easting vs easting-southing
Definition at line 547 of file UnitTypes.h.
|
inline |
Constructs a MatrixUnit with a rotational transformation applied to a base unit.
| [in] | name | The internal identifier for this unit. |
| [in] | translated_id | The translated display name for this unit. |
| [in] | mat | The rotational transformation matrix to apply. |
| [in] | base | The base unit to which the rotation is applied. |
Definition at line 558 of file UnitTypes.h.
References local_matrix, matrix(), Unit::name, and Unit::translated_id.
|
nodiscardoverridevirtual |
Creates a copy of this unit with a new name and display name.
| [in] | name | The internal identifier for the cloned unit. |
| [in] | translated_id | The translated display name for the cloned unit. |
Implements Unit.
References Unit::name, and Unit::translated_id.
|
nodiscardoverridevirtual |
Converts a scalar from this unit back to program space using the inverse matrix transformation.
| [in] | program_space | The value in this unit's space. |
| [in] | direction | The axis direction for the conversion. |
Implements Unit.
|
nodiscardoverridevirtual |
Converts a 3D ray from this unit back to program space using the inverse matrix transformation.
| [in] | program_space | The ray in this unit's space. |
Implements Unit.
|
nodiscardoverridevirtual |
Converts a 3D vertex from this unit back to program space using the inverse matrix transformation.
| [in] | program_space | The vertex in this unit's space. |
Implements Unit.
|
nodiscardoverridevirtual |
Converts a scalar from program space to this unit using the matrix transformation.
| [in] | program_space | The value in program space. |
| [in] | direction | The axis direction for the conversion. |
Implements Unit.
|
nodiscardoverridevirtual |
Converts a 3D ray from program space to this unit using the matrix transformation.
| [in] | program_space | The ray in program space. |
Implements Unit.
|
nodiscardoverridevirtual |
Converts a 3D vertex from program space to this unit using the matrix transformation.
| [in] | program_space | The vertex in program space. |
Implements Unit.
|
nodiscardoverridevirtual |
Returns the smallest meaningful difference for a value in this unit.
| [in] | value | The value to compute epsilon for. |
| [in] | direction | The axis direction. |
Reimplemented from Unit.
Returns the combined transformation matrix for this unit.
Implements Unit.
Definition at line 619 of file UnitTypes.h.
References local_matrix.
Referenced by MatrixUnit().
Returns the sub-unit for the given axis direction.
| [in] | direction | The axis direction. |
Implements Unit.
Definition at line 629 of file UnitTypes.h.