|
|
Valtype * | ptr () noexcept |
| | Pointer accessor for direct copying.
|
|
const Valtype * | ptr () const noexcept |
| | Pointer accessor for direct copying.
|
|
VectorBundle & | Init () noexcept |
| | Initializes the VectorBundle structure to position zero and the ex Vector.
|
| VectorBundle & | Init (const VectorBundle &vb) noexcept |
| | Initializes the VectorBundle structure to vb.
|
| VectorBundle & | TransportTo (Valtype d) noexcept |
| | Moves the Frame by d in direction T.
|
| VectorBundle & | TransportBy (const Vector< Valtype > &v) noexcept |
| | Transport this Frame by v.
|
|
VectorBundle & | Rotate (const Vector< Valtype > &nr, Valtype angle) noexcept |
| | Rotate the tan around nr with angle in radiants.
|
|
VectorBundle & | Rotate (const Vector< Valtype > &r) noexcept |
| | Rotate the tan around r with angle r.Length() in radiants.
|
| constexpr bool | Equals (const VectorBundle &bundle, Valtype epsilon_length=std::numeric_limits< Valtype >::epsilon(), ValtypeT epsilon_lengthT=std::numeric_limits< ValtypeT >::epsilon()) const noexcept |
| | Comparison within some ranges.
|
|
template<typename Valtype2> |
| VectorBundle< Valtype, ValtypeT > & | operator= (const Valtype2 *pVal) noexcept |
- Parameters
-
| pos | |
| tan | |
| x | |
| y | |
| z | |
| dx | |
| dy | |
| dz | |
| rot | |
| frame | |
|
|
constexpr | VectorBundle () noexcept=default |
| | Does not initialize the members.
|
|
constexpr | VectorBundle (const Position< Valtype > &pos) noexcept |
| | Does not initialize the members.
|
|
constexpr | VectorBundle (const Position< Valtype > &pos, const Vector< ValtypeT > &tan) noexcept |
| | Does not initialize the members.
|
|
constexpr | VectorBundle (Valtype x, Valtype y, Valtype z, ValtypeT dx, ValtypeT dy, ValtypeT dz) noexcept |
| | Does not initialize the members.
|
|
constexpr | VectorBundle (const VectorBundle2< Valtype, ValtypeT > &bundle) noexcept |
| | Does not initialize the members.
|
|
constexpr | VectorBundle (const Frame< Valtype, ValtypeT > &frame) noexcept |
| | Does not initialize the members.
|
|
template<typename Valtype2> |
| | VectorBundle (const Valtype2 *const pVal) noexcept |
| | Does not initialize the members.
|
|
|
VectorBundle & | operator= (const Frame< Valtype, ValtypeT > &frame) noexcept |
|
template<typename Valtype2> |
| VectorBundle & | operator= (const Valtype2 *pVal) noexcept |
template<typename Valtype, typename ValtypeT = Valtype>
struct spat::VectorBundle< Valtype, ValtypeT >
Implements a Vector bundle.
Specifies the coordinates of a point in 3D space and an additional Vector.
template<typename Valtype, typename ValtypeT>
| bool spat::VectorBundle< Valtype, ValtypeT >::Equals |
( |
const VectorBundle< Valtype, ValtypeT > & | bundle, |
|
|
Valtype | epsilon_length = std::numeric_limits<Valtype>::epsilon(), |
|
|
ValtypeT | epsilon_lengthT = std::numeric_limits<ValtypeT>::epsilon() ) const |
|
constexprnoexcept |
Comparison within some ranges.
The area within two positions regarded as equal is a sphere with radius epsilon_length; the absolute difference of two vectors will at most be epsilon_lengthT. If the two vectors are both unit vectors, the actual difference between them will be sin(a) with a being the rotational angle. This makes a small enough epsilon_lengthT a limit in rotational angle.
- Parameters
-
| bundle | VectorBundle to compare with. |
| epsilon_length | epsilon distance <= which two positions are regarded as equal. |
| epsilon_lengthT | epsilon for the Vectors of the VectorBundles. |