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

#include <LineSegment.hpp>

Public Member Functions

Constructors and destructor
constexpr LineSegment ()
 Default constructor for owning LineSegments. Default initialize the start and end points.
constexpr LineSegment (const start_point_t &start, const end_point_t &end)
 Constructor to initialize the start and end points.
template<ValidPointType OtherStartPointType, ValidPointType OtherEndPointType>
constexpr LineSegment (const OtherStartPointType &start, const OtherEndPointType &end)
 Constructor to initialize the start and end points.
constexpr ~LineSegment ()=default
 Destructor.
constexpr LineSegment (const LineSegment< value_type, start_point_t, end_point_t > &other)
 Deep copy constructor.
template<typename OtherLineSegmentType>
constexpr LineSegment (const OtherLineSegmentType &other)
 Deep copy constructor.
constexpr LineSegment (LineSegment< value_type, start_point_t, end_point_t > &&other)
 Deep move constructor.
template<typename OtherLineSegmentType>
constexpr LineSegment (OtherLineSegmentType &&other)
 Deep move constructor.
Operators
constexpr LineSegment< value_type, start_point_t, end_point_t > & operator= (const LineSegment< value_type, start_point_t, end_point_t > &other)
 Copy assignment operator.
template<typename OtherLineSegmentType>
constexpr LineSegment< value_type, start_point_t, end_point_t > & operator= (const OtherLineSegmentType &other)
 Copy assignment operator.
constexpr LineSegment< value_type, start_point_t, end_point_t > & operator= (LineSegment< value_type, start_point_t, end_point_t > &&other)
 Move assignment operator.
template<typename OtherLineSegmentType>
constexpr LineSegment< value_type, start_point_t, end_point_t > & operator= (OtherLineSegmentType &&other)
 Move assignment operator.
Accessors
constexpr const start_point_tstart () const
 Accessor for the start.
constexpr start_point_tstart ()
 Accessor for the start.
constexpr const end_point_tend () const
 Accessor for the end.
constexpr end_point_tend ()
 Accessor for the end.
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_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.

Type aliases

using value_type = Scalar
 Our scalar type.
using start_point_t = StartPointType
 Our point type for the start point.
using end_point_t = EndPointType
 Our point type for the end point.
static constexpr bool is_finite = true

Friends <3

template<typename, ValidPointType, ValidPointType>
class LineSegment