本文整理汇总了C++中DataPtr::position方法的典型用法代码示例。如果您正苦于以下问题:C++ DataPtr::position方法的具体用法?C++ DataPtr::position怎么用?C++ DataPtr::position使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataPtr
的用法示例。
在下文中一共展示了DataPtr::position方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: makeObservations
Observations PositionTracker::makeObservations(DataPtr data) {
Observations obsvs;
for (int i = 0; i < data->position_size(); i++) {
Observation obsv(OBSERVATION_DIMENSIONS);
obsv[0] = data->position(i).position().x();
obsv[1] = data->position(i).position().y();
obsv[2] = data->position(i).position().z();
obsvs.push_back(obsv);
}
return obsvs;
}
示例2: makeResults
PositionTracker::DataPtr PositionTracker::makeResults(DataPtr data,
const std::vector<Track> &tracks, const std::map<int, int> obsvMappingOut) {
// update internal map from observations to tracks
std::map<int, int>::const_iterator mappingIt;
for (mappingIt = obsvMappingOut.begin(); mappingIt != obsvMappingOut.end(); ++mappingIt) {
lastObservationsById[mappingIt->second] = data->position(mappingIt->first);
}
// fill return type with observations from all tracks
DataPtr result(DataType().New());
std::map<int, rst::tracking::TrackedPosition3DFloat>::const_iterator obsvIt;
for (obsvIt = lastObservationsById.begin(); obsvIt != lastObservationsById.end(); ++obsvIt) {
rst::tracking::TrackedPosition3DFloat* newPosition = result->add_position();
newPosition->CopyFrom(obsvIt->second);
newPosition->mutable_info()->set_id(obsvIt->first);
}
return result;
}