libosmscout 1.1.1
Loading...
Searching...
No Matches
osmscout::CLASS_FINAL< DataLoader >::Ring Class Reference

#include <libosmscout/include/osmscout/Area.h>

Collaboration diagram for osmscout::CLASS_FINAL< DataLoader >::Ring:

Public Member Functions

 Ring ()=default
TypeInfoRef GetType () const
size_t GetFeatureCount () const
bool HasFeature (size_t idx) const
bool HasAnyFeaturesSet () const
const FeatureInstanceGetFeature (size_t idx) const
void UnsetFeature (size_t idx)
const FeatureValueBufferGetFeatureValueBuffer () const
bool IsMaster () const
bool IsTopOuter () const
bool IsOuter () const
uint8_t GetRing () const
Id GetSerial (size_t index) const
Id GetId (size_t index) const
Id GetFrontId () const
Id GetBackId () const
bool GetNodeIndexByNodeId (Id id, size_t &index) const
const GeoCoordGetCoord (size_t index) const
bool GetCenter (GeoCoord &center) const
GeoBox GetBoundingBox () const
void SetType (const TypeInfoRef &type)
void SetFeatures (const FeatureValueBuffer &buffer)
void CopyMissingValues (const FeatureValueBuffer &buffer)
void MarkAsMasterRing ()
void MarkAsOuterRing ()
void SetRing (uint8_t ring)

Public Attributes

std::vector< Pointnodes
 The array of coordinates.
std::vector< SegmentGeoBoxsegments
 Precomputed (cache) segment bounding boxes for optimisation.
GeoBox bbox
 Precomputed (cache) bounding box.
std::optional< GeoCoordcenter

Friends

class Area

Constructor & Destructor Documentation

◆ Ring()

template<typename DataLoader>
osmscout::CLASS_FINAL< DataLoader >::Ring::Ring ( )
default

Member Function Documentation

◆ CopyMissingValues()

template<typename DataLoader>
void osmscout::CLASS_FINAL< DataLoader >::Ring::CopyMissingValues ( const FeatureValueBuffer & buffer)
inline

◆ GetBackId()

template<typename DataLoader>
Id osmscout::CLASS_FINAL< DataLoader >::Ring::GetBackId ( ) const
inline

◆ GetBoundingBox()

template<typename DataLoader>
GeoBox osmscout::CLASS_FINAL< DataLoader >::Ring::GetBoundingBox ( ) const

◆ GetCenter()

template<typename DataLoader>
bool osmscout::CLASS_FINAL< DataLoader >::Ring::GetCenter ( GeoCoord & center) const

◆ GetCoord()

template<typename DataLoader>
const GeoCoord & osmscout::CLASS_FINAL< DataLoader >::Ring::GetCoord ( size_t index) const
inline

◆ GetFeature()

template<typename DataLoader>
const FeatureInstance & osmscout::CLASS_FINAL< DataLoader >::Ring::GetFeature ( size_t idx) const
inline

◆ GetFeatureCount()

template<typename DataLoader>
size_t osmscout::CLASS_FINAL< DataLoader >::Ring::GetFeatureCount ( ) const
inline

◆ GetFeatureValueBuffer()

template<typename DataLoader>
const FeatureValueBuffer & osmscout::CLASS_FINAL< DataLoader >::Ring::GetFeatureValueBuffer ( ) const
inline

◆ GetFrontId()

template<typename DataLoader>
Id osmscout::CLASS_FINAL< DataLoader >::Ring::GetFrontId ( ) const
inline

◆ GetId()

template<typename DataLoader>
Id osmscout::CLASS_FINAL< DataLoader >::Ring::GetId ( size_t index) const
inline

◆ GetNodeIndexByNodeId()

template<typename DataLoader>
bool osmscout::CLASS_FINAL< DataLoader >::Ring::GetNodeIndexByNodeId ( Id id,
size_t & index ) const

◆ GetRing()

template<typename DataLoader>
uint8_t osmscout::CLASS_FINAL< DataLoader >::Ring::GetRing ( ) const
inline

◆ GetSerial()

template<typename DataLoader>
Id osmscout::CLASS_FINAL< DataLoader >::Ring::GetSerial ( size_t index) const
inline

◆ GetType()

template<typename DataLoader>
TypeInfoRef osmscout::CLASS_FINAL< DataLoader >::Ring::GetType ( ) const
inline

◆ HasAnyFeaturesSet()

template<typename DataLoader>
bool osmscout::CLASS_FINAL< DataLoader >::Ring::HasAnyFeaturesSet ( ) const

◆ HasFeature()

template<typename DataLoader>
bool osmscout::CLASS_FINAL< DataLoader >::Ring::HasFeature ( size_t idx) const
inline

◆ IsMaster()

template<typename DataLoader>
bool osmscout::CLASS_FINAL< DataLoader >::Ring::IsMaster ( ) const
inline

◆ IsOuter()

template<typename DataLoader>
bool osmscout::CLASS_FINAL< DataLoader >::Ring::IsOuter ( ) const
inline

◆ IsTopOuter()

template<typename DataLoader>
bool osmscout::CLASS_FINAL< DataLoader >::Ring::IsTopOuter ( ) const
inline

◆ MarkAsMasterRing()

template<typename DataLoader>
void osmscout::CLASS_FINAL< DataLoader >::Ring::MarkAsMasterRing ( )
inline

◆ MarkAsOuterRing()

template<typename DataLoader>
void osmscout::CLASS_FINAL< DataLoader >::Ring::MarkAsOuterRing ( )
inline

◆ SetFeatures()

template<typename DataLoader>
void osmscout::CLASS_FINAL< DataLoader >::Ring::SetFeatures ( const FeatureValueBuffer & buffer)
inline

◆ SetRing()

template<typename DataLoader>
void osmscout::CLASS_FINAL< DataLoader >::Ring::SetRing ( uint8_t ring)
inline

◆ SetType()

template<typename DataLoader>
void osmscout::CLASS_FINAL< DataLoader >::Ring::SetType ( const TypeInfoRef & type)
inline

◆ UnsetFeature()

template<typename DataLoader>
void osmscout::CLASS_FINAL< DataLoader >::Ring::UnsetFeature ( size_t idx)
inline

◆ Area

template<typename DataLoader>
friend class Area
friend

Member Data Documentation

◆ bbox

template<typename DataLoader>
GeoBox osmscout::CLASS_FINAL< DataLoader >::Ring::bbox

Precomputed (cache) bounding box.

◆ center

template<typename DataLoader>
std::optional<GeoCoord> osmscout::CLASS_FINAL< DataLoader >::Ring::center

"visual" polygon center (pole of inaccessibility). It is computed just for rings when center is far from bounding box center

◆ nodes

template<typename DataLoader>
std::vector<Point> osmscout::CLASS_FINAL< DataLoader >::Ring::nodes

The array of coordinates.

Note that ring nodes, bbox and segments fields are public for simple manipulation. User that modify it is responsible to keep these values in sync! You should not rely on segments and bbox, it is just a cache used some algorithms. It may be empty/invalid!

◆ segments

template<typename DataLoader>
std::vector<SegmentGeoBox> osmscout::CLASS_FINAL< DataLoader >::Ring::segments

Precomputed (cache) segment bounding boxes for optimisation.


The documentation for this class was generated from the following file: