1#ifndef OSMSCOUT_ROUTE_OBJ_H
2#define OSMSCOUT_ROUTE_OBJ_H
24#include <unordered_map>
72 mutable std::mutex cacheMutex;
90 return nextFileOffset;
97 std::lock_guard<std::mutex> lock(cacheMutex);
98 return !resolvedMembers.empty();
103 std::lock_guard<std::mutex> lock(cacheMutex);
104 this->resolvedMembers=map;
109 std::lock_guard<std::mutex> lock(cacheMutex);
110 return resolvedMembers;
125 return featureValueBuffer.GetType();
130 return featureValueBuffer.GetType()->GetFeatureCount();
135 return featureValueBuffer.HasFeature(idx);
140 return featureValueBuffer.GetType()->GetFeature(idx);
145 return featureValueBuffer.GetValue(idx);
150 featureValueBuffer.FreeValue(idx);
155 return featureValueBuffer;
160 featureValueBuffer.SetType(
type);
165 featureValueBuffer.Set(
buffer);
#define OSMSCOUT_API
Definition CoreImportExport.h:45
void UnsetFeature(size_t idx)
Definition Route.h:148
TypeInfoRef GetType() const
Definition Route.h:123
std::unordered_map< FileOffset, WayRef > MemberCache
Definition Route.h:66
void Write(const TypeConfig &typeConfig, FileWriter &writer) const
GeoBox GetBoundingBox() const
Definition Route.h:118
FileOffset GetFileOffset() const
Definition Route.h:83
bool HasFeature(size_t idx) const
Definition Route.h:133
FeatureValue * GetFeatureValue(size_t idx) const
Definition Route.h:143
FileOffset GetNextFileOffset() const
Definition Route.h:88
MemberDirection
Definition Route.h:52
@ forward
Definition Route.h:53
void SetResolvedMembers(const MemberCache &map)
Definition Route.h:101
void SetFeatures(const FeatureValueBuffer &buffer)
Definition Route.h:163
bool HasResolvedMembers() const
Definition Route.h:95
std::vector< Segment > segments
Definition Route.h:68
std::vector< FileOffset > GetMemberOffsets() const
const FeatureValueBuffer & GetFeatureValueBuffer() const
Definition Route.h:153
MemberCache GetResolvedMembers() const
Definition Route.h:107
Type type
The type of the cell.
Definition GroundTile.h:92
void SetType(const TypeInfoRef &type)
Definition Route.h:158
Vertex2D * buffer
Definition Transformation.h:343
FeatureValueBuffer()=default
GeoBox bbox
Precomputed (cache) bounding box.
Definition DataAgent.h:53
const FeatureInstance & GetFeature(size_t idx) const
Definition Route.h:138
void Read(const TypeConfig &typeConfig, FileScanner &scanner)
size_t GetFeatureCount() const
Definition Route.h:128
Definition TypeFeature.h:41
uint64_t FileOffset
Definition OSMScoutTypes.h:46
std::shared_ptr< Route > RouteRef
Definition Route.h:175
std::shared_ptr< TypeInfo > TypeInfoRef
Definition TypeConfig.h:61
std::vector< SegmentMember > members
Definition Route.h:63
FileOffset way
Definition Route.h:59
MemberDirection direction
Definition Route.h:58