|
| RefSystem () |
| Constructs a new RefSystem object.
|
|
| RefSystem (const Point< dim > &origin) |
| Constructs a RefSystem object with the specified origin point.
|
|
| RefSystem (const Point< dim > &origin, const Point< dim > &axis) |
| Constructs a reference system with a specified origin.
|
|
template<int dim_aux = dim>
requires (dim_aux == dim && dim == 3) |
| RefSystem (const Point< dim > &origin, const Point< dim > &axis_x, const Point< dim > &axis_y) |
| Constructs a reference system with a specified origin and two axes.
|
|
const Point< dim > & | get_origin () const |
| Gets the origin point of the reference system.
|
|
const std::array< Point< dim >, dim > & | get_basis () const |
| Gets the orthonormal basis of the reference system.
|
|
bool | is_Cartesian_oriented () const |
| Checks if the reference system is Cartesian oriented.
|
|
template<int dim>
class qugar::impl::RefSystem< dim >
A class representing a reference system in a given dimension.
This class provides functionality to create and manage a reference system in a specified dimension. It supports creating Cartesian reference systems centered at the origin with canonical directions, as well as custom reference systems with specified origins and axes.
- Template Parameters
-
dim | The dimension of the reference system. |
Constructs a reference system with a specified origin.
The given axis
has different meanings depending on the dimension of the reference system. For 1D, the axis is the x-axis; for 2D, the axis is the x-axis; and for 3D, the axis is the z-axis. Thus, in 2D, the y-axis is computed by rotating the given axis
90 degrees. In 3D, given axis
is considered to be the z-axis, then, x- and y-axes are computed to be orthonormal to axis
.
- Parameters
-
origin | The origin point of the reference system. |
axis | The axis point of the reference system. |
template<int dim>
template<int dim_aux = dim>
requires (dim_aux == dim && dim == 3)
Constructs a reference system with a specified origin and two axes.
This constructor is only available for 3-dimensional reference systems.
The given axis_x
and axis_y
define the xy-plane, but they may not be orthonormal vectors. Thus, the way in which the new system directions are computed is as follows: First, the axis_x
is normalized. Then, the z-axis is computed as the normalized cross-product of the axis_x
and axis_y
. Then, the y-axis is recomputed as the cross-product between normalized vectors along the z- and the x-axes.
- Template Parameters
-
dim_aux | Auxiliary template parameter to enforce the dimension check. |
- Parameters
-
origin | The origin point of the reference system. |
axis_x | The x-axis point of the reference system. |
axis_y | The y-axis point of the reference system. |