43 FeatureValueBuffer featureValueBuffer;
70 return nextFileOffset;
75 return {fileOffset,
refWay};
80 return featureValueBuffer.GetType();
85 return featureValueBuffer.GetType()->GetFeatureCount();
90 return featureValueBuffer.HasFeature(idx);
95 return featureValueBuffer.GetType()->GetFeature(idx);
100 return featureValueBuffer.GetValue(idx);
105 featureValueBuffer.FreeValue(idx);
110 return featureValueBuffer;
115 return nodes[0].GetId()!=0 &&
116 nodes[0].GetId()==nodes[nodes.size()-1].GetId();
121 return nodes[index].GetSerial();
126 return nodes[index].GetId();
131 return nodes.front().GetId();
136 return nodes.back().GetId();
146 return nodes[index].GetCoord();
151 if (bbox.IsValid() || nodes.empty()) {
176 bool GetCenter(GeoCoord& center)
const;
178 bool GetNodeIndexByNodeId(
Id id,
179 size_t& index)
const;
183 featureValueBuffer.SetType(type);
188 featureValueBuffer.Set(buffer);
191 void Read(
const TypeConfig& typeConfig,
192 FileScanner& scanner);
193 void ReadOptimized(
const TypeConfig& typeConfig,
194 FileScanner& scanner);
196 void Write(
const TypeConfig& typeConfig,
197 FileWriter& writer)
const;
198 void WriteOptimized(
const TypeConfig& typeConfig,
199 FileWriter& writer)
const;
Id GetBackId() const
Definition: Way.h:134
std::vector< SegmentGeoBox > segments
Precomputed (cache) segment bounding boxes for optimisation.
Definition: Way.h:57
FileOffset GetFileOffset() const
Definition: Way.h:63
bool Intersects(const GeoBox &boundingBox) const
Definition: Way.h:171
uint64_t Id
Definition: OSMScoutTypes.h:41
bool IsCircular() const
Definition: Way.h:113
const FeatureValueBuffer & GetFeatureValueBuffer() const
Definition: Way.h:108
Id GetSerial(size_t index) const
Definition: Way.h:119
Id GetId(size_t index) const
Definition: Way.h:124
ObjectFileRef GetObjectFileRef() const
Definition: Way.h:73
TypeInfoRef GetType() const
Definition: Way.h:78
std::shared_ptr< Way > WayRef
Definition: Way.h:202
void GetBoundingBox(const std::vector< N > &nodes, double &minLon, double &maxLon, double &minLat, double &maxLat)
Definition: Geometry.h:107
FileOffset GetNextFileOffset() const
Definition: Way.h:68
void SetType(const TypeInfoRef &type)
Definition: Way.h:181
bool HasFeature(size_t idx) const
Definition: Way.h:88
GeoBox GetBoundingBox() const
Definition: Way.h:149
std::vector< Point > nodes
List of nodes.
Definition: Way.h:56
const Point & GetPoint(size_t index) const
Definition: Way.h:139
size_t GetFeatureCount() const
Definition: Way.h:83
Definition: TypeFeature.h:40
Id GetFrontId() const
Definition: Way.h:129
FeatureValue * GetFeatureValue(size_t idx) const
Definition: Way.h:98
#define CLASS_FINAL
Definition: Compiler.h:26
#define OSMSCOUT_API
Definition: CoreImportExport.h:45
void UnsetFeature(size_t idx)
Definition: Way.h:103
const GeoCoord & GetCoord(size_t index) const
Definition: Way.h:144
std::shared_ptr< TypeInfo > TypeInfoRef
Definition: TypeConfig.h:58
uint64_t FileOffset
Definition: OSMScoutTypes.h:47
const FeatureInstance & GetFeature(size_t idx) const
Definition: Way.h:93
Definition: ObjectRef.h:136
void SetFeatures(const FeatureValueBuffer &buffer)
Definition: Way.h:186