Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::Ring< Scalar, PointType, QuaternionType > Class Template Reference

#include <Ring.hpp>

Public Member Functions

Constructors and destructor
constexpr Ring ()
 Default constructor for owning Rings. Default initializes the center and sets the radius to an invalid value of -1.
constexpr Ring (const point_t &center, const orientation_t &orientation, const value_type &major_radius, const value_type &minor_radius)
 Constructor to initialize the ring.
template<ValidPointType OtherPointType, ValidQuaternionType OtherQuaternionType>
constexpr Ring (const OtherPointType &center, const OtherQuaternionType &orientation, const value_type &major_radius, const value_type &minor_radius)
 Constructor to initialize the ring.
constexpr ~Ring ()=default
 Destructor.
constexpr Ring (const Ring< value_type, point_t, orientation_t > &other)
 Deep copy constructor.
template<typename OtherRingType>
constexpr Ring (const OtherRingType &other)
 Deep copy constructor with different ring type.
constexpr Ring (Ring< value_type, point_t, orientation_t > &&other)
 Deep move constructor.
template<typename OtherRingType>
constexpr Ring (OtherRingType &&other)
 Deep move constructor.
Operators
constexpr Ring< value_type, point_t, orientation_t > & operator= (const Ring< value_type, point_t, orientation_t > &other)
 Copy assignment operator.
template<typename OtherRingType>
constexpr Ring< value_type, point_t, orientation_t > & operator= (const OtherRingType &other)
 Copy assignment operator.
constexpr Ring< value_type, point_t, orientation_t > & operator= (Ring< value_type, point_t, orientation_t > &&other)
 Move assignment operator.
template<typename OtherRingType>
constexpr Ring< value_type, point_t, orientation_t > & operator= (OtherRingType &&other)
 Move assignment operator.
Accessors
constexpr const Circle3D< value_type, point_t, orientation_t > & center_circle () const
 Accessor for the center line (a Circle3D).
constexpr const point_tcenter () const
 Accessor for the center.
constexpr point_tcenter ()
 Accessor for the center.
constexpr const orientation_torientation () const
 Accessor for the orientation.
constexpr orientation_torientation ()
 Accessor for the orientation.
constexpr const value_typemajor_radius () const
 Accessor for the major radius.
constexpr value_typemajor_radius ()
 Accessor for the major radius.
constexpr const value_typeminor_radius () const
 Accessor for the minor radius.
constexpr value_typeminor_radius ()
 Accessor for the minor radius.

Type aliases

using value_type = Scalar
 Our scalar type.
using point_t = PointType
 Our point type.
using orientation_t = QuaternionType
 Our orientation type.
static constexpr bool is_finite = true

Setters

template<ValidPointType OtherPointType>
constexpr void set_center (const OtherPointType &center)
 Set the center.
constexpr void set_center (const value_type &x, const value_type &y, const value_type &z)
 Set the center.
constexpr void set_orientation (const orientation_t &orientation)
 Set the orientation.
constexpr void set_orientation (const value_type &qw, const value_type &qx, const value_type &qy, const value_type &qz)
 Set the orientation.
constexpr void set_major_radius (const value_type &major_radius)
 Set the major radius.
constexpr void set_minor_radius (const value_type &minor_radius)
 Set the minor radius.