1 #ifndef OSMSCOUT_ROUTE_OBJ_H 2 #define OSMSCOUT_ROUTE_OBJ_H 24 #include <unordered_map> 71 mutable std::mutex cacheMutex;
74 FeatureValueBuffer featureValueBuffer;
89 return nextFileOffset;
92 std::vector<FileOffset> GetMemberOffsets()
const;
96 std::lock_guard<std::mutex> lock(cacheMutex);
97 return !resolvedMembers.empty();
102 std::lock_guard<std::mutex> lock(cacheMutex);
103 this->resolvedMembers=map;
108 std::lock_guard<std::mutex> lock(cacheMutex);
109 return resolvedMembers;
124 return featureValueBuffer.GetType();
129 return featureValueBuffer.GetType()->GetFeatureCount();
134 return featureValueBuffer.HasFeature(idx);
139 return featureValueBuffer.GetType()->GetFeature(idx);
144 return featureValueBuffer.GetValue(idx);
149 featureValueBuffer.FreeValue(idx);
154 return featureValueBuffer;
159 featureValueBuffer.SetType(type);
164 featureValueBuffer.Set(buffer);
167 void Read(
const TypeConfig& typeConfig,
168 FileScanner& scanner);
170 void Write(
const TypeConfig& typeConfig,
171 FileWriter& writer)
const;
FileOffset GetFileOffset() const
Definition: Route.h:82
const FeatureValueBuffer & GetFeatureValueBuffer() const
Definition: Route.h:152
FileOffset way
Definition: Route.h:58
TypeInfoRef GetType() const
Definition: Route.h:122
std::vector< SegmentMember > members
Definition: Route.h:62
FileOffset GetNextFileOffset() const
Definition: Route.h:87
void SetType(const TypeInfoRef &type)
Definition: Route.h:157
bool HasFeature(size_t idx) const
Definition: Route.h:132
MemberDirection
Definition: Route.h:51
GeoBox GetBoundingBox() const
Definition: Route.h:117
size_t GetFeatureCount() const
Definition: Route.h:127
Definition: TypeFeature.h:40
FeatureValue * GetFeatureValue(size_t idx) const
Definition: Route.h:142
bool HasResolvedMembers() const
Definition: Route.h:94
#define CLASS_FINAL
Definition: Compiler.h:26
#define OSMSCOUT_API
Definition: CoreImportExport.h:45
void UnsetFeature(size_t idx)
Definition: Route.h:147
std::unordered_map< FileOffset, WayRef > MemberCache
Definition: Route.h:65
std::vector< Segment > segments
Definition: Route.h:67
void SetResolvedMembers(const MemberCache &map)
Definition: Route.h:100
std::shared_ptr< TypeInfo > TypeInfoRef
Definition: TypeConfig.h:58
uint64_t FileOffset
Definition: OSMScoutTypes.h:47
const FeatureInstance & GetFeature(size_t idx) const
Definition: Route.h:137
MemberCache GetResolvedMembers() const
Definition: Route.h:106
std::shared_ptr< Route > RouteRef
Definition: Route.h:174
void SetFeatures(const FeatureValueBuffer &buffer)
Definition: Route.h:162