Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::transform

Translation and rotation helpers for Mundy geometric primitives. More...

Translate

template<ValidPointType PointT, ValidVector3Type Vector3T>
auto mundy::translate (const PointT &point, const Vector3T &disp)
 Translate a point by a given displacement vector.
template<ValidPointType PointT, ValidVector3Type Vector3T>
void mundy::translate_inplace (PointT &point, const Vector3T &disp)
 Translate a point by a given displacement vector (inplace).
template<ValidLineType LineT, ValidVector3Type Vector3T>
auto mundy::translate (const LineT &line, const Vector3T &disp)
 Translate a line by a given displacement vector.
template<ValidLineType LineT, ValidVector3Type Vector3T>
void mundy::translate_inplace (LineT &line, const Vector3T &disp)
 Translate a line by a given displacement vector (inplace).
template<ValidLineSegmentType LineSegmentT, ValidVector3Type Vector3T>
auto mundy::translate (const LineSegmentT &line_segment, const Vector3T &disp)
 Translate a line segment by a given displacement vector.
template<ValidLineSegmentType LineSegmentT, ValidVector3Type Vector3T>
void mundy::translate_inplace (LineSegmentT &line_segment, const Vector3T &disp)
 Translate a line segment by a given displacement vector (inplace).
template<ValidVSegmentType VSegmentT, ValidVector3Type Vector3T>
auto mundy::translate (const VSegmentT &v_segment, const Vector3T &disp)
 Translate a v-segment by a given displacement vector.
template<ValidVSegmentType VSegmentT, ValidVector3Type Vector3T>
void mundy::translate_inplace (VSegmentT &v_segment, const Vector3T &disp)
 Translate a v-segment by a given displacement vector (inplace).
template<ValidCircle3DType Circle3DT, ValidVector3Type Vector3T>
auto mundy::translate (const Circle3DT &circle, const Vector3T &disp)
 Translate a circle3D by a given displacement vector.
template<ValidCircle3DType Circle3DT, ValidVector3Type Vector3T>
void mundy::translate_inplace (Circle3DT &circle, const Vector3T &disp)
 Translate a circle3D by a given displacement vector (inplace).
template<ValidAABBType AABBT, ValidVector3Type Vector3T>
auto mundy::translate (const AABBT &aabb, const Vector3T &disp)
 Translate an AABB by a given displacement vector.
template<ValidAABBType AABBT, ValidVector3Type Vector3T>
void mundy::translate_inplace (AABBT &aabb, const Vector3T &disp)
 Translate an AABB by a given displacement vector (inplace).
template<ValidSphereType SphereT, ValidVector3Type Vector3T>
auto mundy::translate (const SphereT &sphere, const Vector3T &disp)
 Translate a sphere by a given displacement vector.
template<ValidSphereType SphereT, ValidVector3Type Vector3T>
void mundy::translate_inplace (SphereT &sphere, const Vector3T &disp)
 Translate a sphere by a given displacement vector (inplace).
template<ValidSpherocylinderType SpherocylinderT, ValidVector3Type Vector3T>
auto mundy::translate (const SpherocylinderT &spherocylinder, const Vector3T &disp)
 Translate a spherocylinder by a given displacement vector.
template<ValidSpherocylinderType SpherocylinderT, ValidVector3Type Vector3T>
void mundy::translate_inplace (SpherocylinderT &spherocylinder, const Vector3T &disp)
 Translate a spherocylinder by a given displacement vector (inplace).
template<ValidSpherocylinderSegmentType SpherocylinderSegmentT, ValidVector3Type Vector3T>
auto mundy::translate (const SpherocylinderSegmentT &spherocylinder_segment, const Vector3T &disp)
 Translate a spherocylinder segment by a given displacement vector.
template<ValidSpherocylinderSegmentType SpherocylinderSegmentT, ValidVector3Type Vector3T>
void mundy::translate_inplace (SpherocylinderSegmentT &spherocylinder_segment, const Vector3T &disp)
 Translate a spherocylinder segment by a given displacement vector (inplace).
template<ValidRingType RingT, ValidVector3Type Vector3T>
auto mundy::translate (const RingT &ring, const Vector3T &disp)
 Translate a ring by a given displacement vector.
template<ValidRingType RingT, ValidVector3Type Vector3T>
void mundy::translate_inplace (RingT &ring, const Vector3T &disp)
 Translate a ring by a given displacement vector (inplace).
template<ValidEllipsoidType EllipsoidT, ValidVector3Type Vector3T>
auto mundy::translate (const EllipsoidT &ellipsoid, const Vector3T &disp)
 Translate an ellipsoid by a given displacement vector.
template<ValidEllipsoidType EllipsoidT, ValidVector3Type Vector3T>
void mundy::translate_inplace (EllipsoidT &ellipsoid, const Vector3T &disp)
 Translate an ellipsoid by a given displacement vector (inplace).

Rotate (about the origin)

template<ValidPointType PointT, ValidQuaternionType QuaternionT>
Point< typename QuaternionT::value_type > mundy::rotate (const PointT &point, const QuaternionT &q)
 Rotate a point about the origin by a given quaternion.
template<ValidPointType PointT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace (PointT &point, const QuaternionT &q)
 Rotate a point about the origin by a given quaternion (inplace).
template<ValidLineType LineT, ValidQuaternionType QuaternionT>
Line< typename QuaternionT::value_type > mundy::rotate (const LineT &line, const QuaternionT &q)
 Rotate a line about the origin by a given quaternion.
template<ValidLineType LineT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace (LineT &line, const QuaternionT &q)
 Rotate a line about the origin by a given quaternion (inplace).
template<ValidLineSegmentType LineSegmentT, ValidQuaternionType QuaternionT>
LineSegment< typename QuaternionT::value_type > mundy::rotate (const LineSegmentT &line_segment, const QuaternionT &q)
 Rotate a line segment about the origin by a given quaternion.
template<ValidLineSegmentType LineSegmentT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace (LineSegmentT &line_segment, const QuaternionT &q)
 Rotate a line segment about the origin by a given quaternion (inplace).
template<ValidVSegmentType VSegmentT, ValidQuaternionType QuaternionT>
VSegment< typename QuaternionT::value_type > mundy::rotate (const VSegmentT &v_segment, const QuaternionT &q)
 Rotate a v-segment about the origin by a given quaternion.
template<ValidVSegmentType VSegmentT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace (VSegmentT &v_segment, const QuaternionT &q)
 Rotate a v-segment about the origin by a given quaternion (inplace).
template<ValidCircle3DType Circle3DT, ValidQuaternionType QuaternionT>
Circle3D< typename QuaternionT::value_type > mundy::rotate (const Circle3DT &circle, const QuaternionT &q)
 Rotate a circle3D about the origin by a given quaternion.
template<ValidCircle3DType Circle3DT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace (Circle3DT &circle, const QuaternionT &q)
 Rotate a circle3D about the origin by a given quaternion (inplace).
template<ValidAABBType AABBT, ValidQuaternionType QuaternionT>
AABB< typename QuaternionT::value_type > mundy::rotate (const AABBT &aabb, const QuaternionT &q)
 Rotate an AABB about the origin by a given quaternion.
template<ValidAABBType AABBT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace (AABBT &aabb, const QuaternionT &q)
 Rotate an AABB about the origin by a given quaternion (inplace).
template<ValidSphereType SphereT, ValidQuaternionType QuaternionT>
Sphere< typename QuaternionT::value_type > mundy::rotate (const SphereT &sphere, const QuaternionT &q)
 Rotate a sphere about the origin by a given quaternion.
template<ValidSphereType SphereT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace (SphereT &sphere, const QuaternionT &q)
 Rotate a sphere about the origin by a given quaternion (inplace).
template<ValidSpherocylinderType SpherocylinderT, ValidQuaternionType QuaternionT>
Spherocylinder< typename QuaternionT::value_type > mundy::rotate (const SpherocylinderT &spherocylinder, const QuaternionT &q)
 Rotate a spherocylinder about the origin by a given quaternion.
template<ValidSpherocylinderType SpherocylinderT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace (SpherocylinderT &spherocylinder, const QuaternionT &q)
 Rotate a spherocylinder about the origin by a given quaternion (inplace).
template<ValidSpherocylinderSegmentType SpherocylinderSegmentT, ValidQuaternionType QuaternionT>
SpherocylinderSegment< typename QuaternionT::value_type > mundy::rotate (const SpherocylinderSegmentT &spherocylinder_segment, const QuaternionT &q)
 Rotate a spherocylinder segment about the origin by a given quaternion.
template<ValidSpherocylinderSegmentType SpherocylinderSegmentT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace (SpherocylinderSegmentT &spherocylinder_segment, const QuaternionT &q)
 Rotate a spherocylinder segment about the origin by a given quaternion (inplace).
template<ValidRingType RingT, ValidQuaternionType QuaternionT>
Ring< typename QuaternionT::value_type > mundy::rotate (const RingT &ring, const QuaternionT &q)
 Rotate a ring about the origin by a given quaternion.
template<ValidRingType RingT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace (RingT &ring, const QuaternionT &q)
 Rotate a ring about the origin by a given quaternion (inplace).
template<ValidEllipsoidType EllipsoidT, ValidQuaternionType QuaternionT>
Ellipsoid< typename QuaternionT::value_type > mundy::rotate (const EllipsoidT &ellipsoid, const QuaternionT &q)
 Rotate an ellipsoid about the origin by a given quaternion.
template<ValidEllipsoidType EllipsoidT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace (EllipsoidT &ellipsoid, const QuaternionT &q)
 Rotate an ellipsoid about the origin by a given quaternion (inplace).

Detailed Description

Function Documentation

◆ translate() [1/11]

template<ValidPointType PointT, ValidVector3Type Vector3T>
auto mundy::translate ( const PointT & point,
const Vector3T & disp )

◆ translate_inplace() [1/11]

template<ValidPointType PointT, ValidVector3Type Vector3T>
void mundy::translate_inplace ( PointT & point,
const Vector3T & disp )

◆ translate() [2/11]

template<ValidLineType LineT, ValidVector3Type Vector3T>
auto mundy::translate ( const LineT & line,
const Vector3T & disp )

◆ translate_inplace() [2/11]

template<ValidLineType LineT, ValidVector3Type Vector3T>
void mundy::translate_inplace ( LineT & line,
const Vector3T & disp )

◆ translate() [3/11]

template<ValidLineSegmentType LineSegmentT, ValidVector3Type Vector3T>
auto mundy::translate ( const LineSegmentT & line_segment,
const Vector3T & disp )

◆ translate_inplace() [3/11]

template<ValidLineSegmentType LineSegmentT, ValidVector3Type Vector3T>
void mundy::translate_inplace ( LineSegmentT & line_segment,
const Vector3T & disp )

◆ translate() [4/11]

template<ValidVSegmentType VSegmentT, ValidVector3Type Vector3T>
auto mundy::translate ( const VSegmentT & v_segment,
const Vector3T & disp )

◆ translate_inplace() [4/11]

template<ValidVSegmentType VSegmentT, ValidVector3Type Vector3T>
void mundy::translate_inplace ( VSegmentT & v_segment,
const Vector3T & disp )

◆ translate() [5/11]

template<ValidCircle3DType Circle3DT, ValidVector3Type Vector3T>
auto mundy::translate ( const Circle3DT & circle,
const Vector3T & disp )

◆ translate_inplace() [5/11]

template<ValidCircle3DType Circle3DT, ValidVector3Type Vector3T>
void mundy::translate_inplace ( Circle3DT & circle,
const Vector3T & disp )

◆ translate() [6/11]

template<ValidAABBType AABBT, ValidVector3Type Vector3T>
auto mundy::translate ( const AABBT & aabb,
const Vector3T & disp )

◆ translate_inplace() [6/11]

template<ValidAABBType AABBT, ValidVector3Type Vector3T>
void mundy::translate_inplace ( AABBT & aabb,
const Vector3T & disp )

◆ translate() [7/11]

template<ValidSphereType SphereT, ValidVector3Type Vector3T>
auto mundy::translate ( const SphereT & sphere,
const Vector3T & disp )

◆ translate_inplace() [7/11]

template<ValidSphereType SphereT, ValidVector3Type Vector3T>
void mundy::translate_inplace ( SphereT & sphere,
const Vector3T & disp )

◆ translate() [8/11]

template<ValidSpherocylinderType SpherocylinderT, ValidVector3Type Vector3T>
auto mundy::translate ( const SpherocylinderT & spherocylinder,
const Vector3T & disp )

◆ translate_inplace() [8/11]

template<ValidSpherocylinderType SpherocylinderT, ValidVector3Type Vector3T>
void mundy::translate_inplace ( SpherocylinderT & spherocylinder,
const Vector3T & disp )

◆ translate() [9/11]

template<ValidSpherocylinderSegmentType SpherocylinderSegmentT, ValidVector3Type Vector3T>
auto mundy::translate ( const SpherocylinderSegmentT & spherocylinder_segment,
const Vector3T & disp )

◆ translate_inplace() [9/11]

template<ValidSpherocylinderSegmentType SpherocylinderSegmentT, ValidVector3Type Vector3T>
void mundy::translate_inplace ( SpherocylinderSegmentT & spherocylinder_segment,
const Vector3T & disp )

◆ translate() [10/11]

template<ValidRingType RingT, ValidVector3Type Vector3T>
auto mundy::translate ( const RingT & ring,
const Vector3T & disp )

◆ translate_inplace() [10/11]

template<ValidRingType RingT, ValidVector3Type Vector3T>
void mundy::translate_inplace ( RingT & ring,
const Vector3T & disp )

◆ translate() [11/11]

template<ValidEllipsoidType EllipsoidT, ValidVector3Type Vector3T>
auto mundy::translate ( const EllipsoidT & ellipsoid,
const Vector3T & disp )

◆ translate_inplace() [11/11]

template<ValidEllipsoidType EllipsoidT, ValidVector3Type Vector3T>
void mundy::translate_inplace ( EllipsoidT & ellipsoid,
const Vector3T & disp )

◆ rotate() [1/11]

template<ValidPointType PointT, ValidQuaternionType QuaternionT>
Point< typename QuaternionT::value_type > mundy::rotate ( const PointT & point,
const QuaternionT & q )

◆ rotate_inplace() [1/11]

template<ValidPointType PointT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace ( PointT & point,
const QuaternionT & q )

◆ rotate() [2/11]

template<ValidLineType LineT, ValidQuaternionType QuaternionT>
Line< typename QuaternionT::value_type > mundy::rotate ( const LineT & line,
const QuaternionT & q )

◆ rotate_inplace() [2/11]

template<ValidLineType LineT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace ( LineT & line,
const QuaternionT & q )

◆ rotate() [3/11]

template<ValidLineSegmentType LineSegmentT, ValidQuaternionType QuaternionT>
LineSegment< typename QuaternionT::value_type > mundy::rotate ( const LineSegmentT & line_segment,
const QuaternionT & q )

◆ rotate_inplace() [3/11]

template<ValidLineSegmentType LineSegmentT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace ( LineSegmentT & line_segment,
const QuaternionT & q )

◆ rotate() [4/11]

template<ValidVSegmentType VSegmentT, ValidQuaternionType QuaternionT>
VSegment< typename QuaternionT::value_type > mundy::rotate ( const VSegmentT & v_segment,
const QuaternionT & q )

◆ rotate_inplace() [4/11]

template<ValidVSegmentType VSegmentT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace ( VSegmentT & v_segment,
const QuaternionT & q )

◆ rotate() [5/11]

template<ValidCircle3DType Circle3DT, ValidQuaternionType QuaternionT>
Circle3D< typename QuaternionT::value_type > mundy::rotate ( const Circle3DT & circle,
const QuaternionT & q )

◆ rotate_inplace() [5/11]

template<ValidCircle3DType Circle3DT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace ( Circle3DT & circle,
const QuaternionT & q )

◆ rotate() [6/11]

template<ValidAABBType AABBT, ValidQuaternionType QuaternionT>
AABB< typename QuaternionT::value_type > mundy::rotate ( const AABBT & aabb,
const QuaternionT & q )

◆ rotate_inplace() [6/11]

template<ValidAABBType AABBT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace ( AABBT & aabb,
const QuaternionT & q )

◆ rotate() [7/11]

template<ValidSphereType SphereT, ValidQuaternionType QuaternionT>
Sphere< typename QuaternionT::value_type > mundy::rotate ( const SphereT & sphere,
const QuaternionT & q )

◆ rotate_inplace() [7/11]

template<ValidSphereType SphereT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace ( SphereT & sphere,
const QuaternionT & q )

◆ rotate() [8/11]

template<ValidSpherocylinderType SpherocylinderT, ValidQuaternionType QuaternionT>
Spherocylinder< typename QuaternionT::value_type > mundy::rotate ( const SpherocylinderT & spherocylinder,
const QuaternionT & q )

◆ rotate_inplace() [8/11]

template<ValidSpherocylinderType SpherocylinderT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace ( SpherocylinderT & spherocylinder,
const QuaternionT & q )

◆ rotate() [9/11]

template<ValidSpherocylinderSegmentType SpherocylinderSegmentT, ValidQuaternionType QuaternionT>
SpherocylinderSegment< typename QuaternionT::value_type > mundy::rotate ( const SpherocylinderSegmentT & spherocylinder_segment,
const QuaternionT & q )

◆ rotate_inplace() [9/11]

template<ValidSpherocylinderSegmentType SpherocylinderSegmentT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace ( SpherocylinderSegmentT & spherocylinder_segment,
const QuaternionT & q )

◆ rotate() [10/11]

template<ValidRingType RingT, ValidQuaternionType QuaternionT>
Ring< typename QuaternionT::value_type > mundy::rotate ( const RingT & ring,
const QuaternionT & q )

◆ rotate_inplace() [10/11]

template<ValidRingType RingT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace ( RingT & ring,
const QuaternionT & q )

◆ rotate() [11/11]

template<ValidEllipsoidType EllipsoidT, ValidQuaternionType QuaternionT>
Ellipsoid< typename QuaternionT::value_type > mundy::rotate ( const EllipsoidT & ellipsoid,
const QuaternionT & q )

◆ rotate_inplace() [11/11]

template<ValidEllipsoidType EllipsoidT, ValidQuaternionType QuaternionT>
void mundy::rotate_inplace ( EllipsoidT & ellipsoid,
const QuaternionT & q )