Class ConstPolygon2d

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class ConstPolygon2d : public lanelet::ConstLineStringImpl<Point2d>

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

Subclassed by lanelet::Primitive< ConstPolygon2d >, lanelet::ConstHybridPolygon2d

Public Types

using ConstType = ConstPolygon2d
using MutableType = Polygon2d
using TwoDType = ConstPolygon2d
using ThreeDType = ConstPolygon3d
using Category = traits::PolygonTag
using HybridType = ConstHybridPolygon2d

Public Functions

inline explicit ConstPolygon2d(const ConstLineString2d &other)

Conversion from/to ConstLineString2d.

This does not make sure that the polygon is valid and not self-intersecting! If you want to ensure this, use boost::polygon’s is_valid.

inline explicit operator ConstLineString2d() const
ConstPolygon2d() = default
inline BasicPolygon2d basicPolygon() const

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

inline operator BasicPolygon2d() const

implicit conversion to a basic polygon in 2d

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