Class ConstPolygon3d

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class ConstPolygon3d : public lanelet::ConstLineStringImpl<Point3d>

An immutable clockwise oriented, open (ie start point != end point) polygon in 3d.

Subclassed by lanelet::Primitive< ConstPolygon3d >, lanelet::ConstHybridPolygon3d

Public Types

using ConstType = ConstPolygon3d
using MutableType = Polygon3d
using TwoDType = ConstPolygon2d
using ThreeDType = ConstPolygon3d
using Category = traits::PolygonTag
using HybridType = ConstHybridPolygon3d

Public Functions

ConstPolygon3d() = default
inline explicit ConstPolygon3d(const ConstLineString3d &other)

Conversion from ConstLineString3d. Does not ensure validity of the polygon!

inline explicit operator ConstLineString3d() const
inline BasicPolygon3d basicPolygon() const

create a simple 3d polygon from this (just a vector)

inline operator BasicPolygon3d() const

implicit conversion to a basic polygon

inline size_t numSegments() const noexcept

Returns the number of (geometrically valid) segments.

inline explicit ConstLineStringImpl(Id id = InvalId, Points3d points = Points3d(), const AttributeMap &attributes = AttributeMap())

Constructs a LineString or similar from an Id and a list of points.

inline explicit ConstLineStringImpl(const std::shared_ptr<const LineStringData> &data, bool inverted = false)

Constructs a linestring from the data object of another linestring.

template<typename OtherT>
inline explicit ConstLineStringImpl(const ConstLineStringImpl<OtherT> &other)

construct from other ConstLineStrings

ConstLineStringImpl(ConstLineStringImpl &&rhs) noexcept = default
ConstLineStringImpl(const ConstLineStringImpl &rhs) = default