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

#include <VSegment.hpp>

Public Member Functions

Constructors and destructor
constexpr VSegment ()
 Default constructor for owning VSegments. Default initialize the start, middle, and end points.
constexpr VSegment (const point_t &start, const point_t &middle, const point_t &end)
 Constructor to initialize the start, middle, and end points.
template<ValidPointType OtherPointType>
constexpr VSegment (const OtherPointType &start, const OtherPointType &middle, const OtherPointType &end)
 Constructor to initialize the start, middle, and end points.
constexpr ~VSegment ()=default
 Destructor.
constexpr VSegment (const VSegment< value_type, point_t > &other)
 Deep copy constructor.
template<typename OtherVSegmentType>
constexpr VSegment (const OtherVSegmentType &other)
 Deep copy constructor.
constexpr VSegment (VSegment< value_type, point_t > &&other)
 Deep move constructor.
template<typename OtherVSegmentType>
constexpr VSegment (OtherVSegmentType &&other)
 Deep move constructor.
Operators
constexpr VSegment< value_type, point_t > & operator= (const VSegment< value_type, point_t > &other)
 Copy assignment operator.
template<typename OtherVSegmentType>
constexpr VSegment< value_type, point_t > & operator= (const OtherVSegmentType &other)
 Copy assignment operator.
constexpr VSegment< value_type, point_t > & operator= (VSegment< value_type, point_t > &&other)
 Move assignment operator.
template<typename OtherVSegmentType>
constexpr VSegment< value_type, point_t > & operator= (OtherVSegmentType &&other)
 Move assignment operator.
Accessors
constexpr const point_tstart () const
 Accessor for the start.
constexpr point_tstart ()
 Accessor for the start.
constexpr const point_tmiddle () const
 Accessor for the middle.
constexpr point_tmiddle ()
 Accessor for the middle.
constexpr const point_tend () const
 Accessor for the end.
constexpr point_tend ()
 Accessor for the end.

Type aliases

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

Setters

template<ValidPointType OtherPointType>
constexpr void set_start (const OtherPointType &start)
 Set the start point.
constexpr void set_start (const Scalar &x, const Scalar &y, const Scalar &z)
 Set the start point.
template<ValidPointType OtherPointType>
constexpr void set_middle (const OtherPointType &middle)
 Set the middle point.
constexpr void set_middle (const Scalar &x, const Scalar &y, const Scalar &z)
 Set the middle point.
template<ValidPointType OtherPointType>
constexpr void set_end (const OtherPointType &end)
 Set the end point.
constexpr void set_end (const Scalar &x, const Scalar &y, const Scalar &z)
 Set the end point.