Removed Ordering again -> templated vector method simply works

release/4.3a0
Frank Dellaert 2019-04-03 20:17:18 -04:00
parent c450222ff1
commit 5a8363a775
2 changed files with 5 additions and 13 deletions

View File

@ -142,7 +142,7 @@ namespace gtsam {
} }
/* ************************************************************************* */ /* ************************************************************************* */
Vector VectorValues::vector(boost::optional<const Ordering&> ordering) const { Vector VectorValues::vector() const {
// Count dimensions // Count dimensions
DenseIndex totalDim = 0; DenseIndex totalDim = 0;
for (const Vector& v : *this | map_values) totalDim += v.size(); for (const Vector& v : *this | map_values) totalDim += v.size();
@ -150,17 +150,9 @@ namespace gtsam {
// Copy vectors // Copy vectors
Vector result(totalDim); Vector result(totalDim);
DenseIndex pos = 0; DenseIndex pos = 0;
if (ordering) { for (const Vector& v : *this | map_values) {
for (const auto& key : *ordering) { result.segment(pos, v.size()) = v;
const auto& v = (*this)[key]; pos += v.size();
result.segment(pos, v.size()) = v;
pos += v.size();
}
} else {
for (const Vector& v : *this | map_values) {
result.segment(pos, v.size()) = v;
pos += v.size();
}
} }
return result; return result;

View File

@ -244,7 +244,7 @@ namespace gtsam {
/// @{ /// @{
/** Retrieve the entire solution as a single vector */ /** Retrieve the entire solution as a single vector */
Vector vector(boost::optional<const Ordering&> ordering = boost::none) const; Vector vector() const;
/** Access a vector that is a subset of relevant keys. */ /** Access a vector that is a subset of relevant keys. */
template <typename CONTAINER> template <typename CONTAINER>