本文整理汇总了C++中Way::GetFeatureValueBuffer方法的典型用法代码示例。如果您正苦于以下问题:C++ Way::GetFeatureValueBuffer方法的具体用法?C++ Way::GetFeatureValueBuffer怎么用?C++ Way::GetFeatureValueBuffer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Way
的用法示例。
在下文中一共展示了Way::GetFeatureValueBuffer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Process
bool WayLocationProcessorFilter::Process(Progress& progress,
const FileOffset& offset,
Way& way,
bool& /*save*/)
{
try {
if (!way.GetType()->GetIndexAsPOI()) {
return true;
}
NameFeatureValue *nameValue=nameReader->GetValue(way.GetFeatureValueBuffer());
if (nameValue==NULL) {
return true;
}
LocationFeatureValue *locationValue=locationReader->GetValue(way.GetFeatureValueBuffer());
std::string name;
std::string location;
std::string address;
name=nameValue->GetName();
if (locationValue!=NULL) {
location=locationValue->GetLocation();
}
writer.WriteFileOffset(offset);
writer.WriteNumber(way.GetType()->GetWayId());
writer.Write(name);
writer.Write(location);
writer.Write(way.nodes);
overallDataCount++;
}
catch (IOException& e) {
progress.Error(e.GetDescription());
return false;
}
return true;
}
示例2: CanUseBackward
bool AbstractRoutingProfile::CanUseBackward(const Way& way) const
{
size_t index=way.GetType()->GetIndex();
if (index>=speeds.size() || speeds[index]<=0.0) {
return false;
}
AccessFeatureValue *accessValue=accessReader.GetValue(way.GetFeatureValueBuffer());
if (accessValue!=NULL) {
switch (vehicle) {
case vehicleFoot:
return accessValue->CanRouteFootBackward();
break;
case vehicleBicycle:
return accessValue->CanRouteBicycleBackward();
break;
case vehicleCar:
return accessValue->CanRouteCarBackward();
break;
}
}
else {
switch (vehicle) {
case vehicleFoot:
return way.GetType()->CanRouteFoot();
break;
case vehicleBicycle:
return way.GetType()->CanRouteBicycle();
break;
case vehicleCar:
return way.GetType()->CanRouteCar();
break;
}
}
return false;
}