9 #include <RobotAPI/interface/ArViz/Elements.h>
15 template <
class PolyhedronTraits_3,
16 class PolyhedronItems_3,
17 template <
class T,
class I,
class A>
34 vertices(
const Eigen::Vector3f* vs, std::size_t size)
40 for (std::size_t i = 0; i < size; ++i)
42 vertices.push_back(armarx::Vector3f{vs[i].x(), vs[i].y(), vs[i].z()});
49 vertices(
const std::vector<Eigen::Vector3f>& vs)
51 return this->
vertices(vs.data(), vs.size());
55 vertices(
const armarx::Vector3f* vs, std::size_t size)
57 data_->vertices.assign(vs, vs + size);
63 vertices(
const std::vector<armarx::Vector3f>& vs)
65 return this->
vertices(vs.data(), vs.size());
71 data_->colors.assign(cs, cs + size);
77 colors(
const std::vector<data::Color>& cs)
79 return this->
colors(cs.data(), cs.size());
83 faces(
const data::Face* fs, std::size_t size)
85 data_->faces.assign(fs, fs + size);
91 faces(
const std::vector<data::Face>& fs)
93 return this->
faces(fs.data(), fs.size());
99 template <
class PolyhedronTraits_3,
100 class PolyhedronItems_3,
101 template <
class T,
class I,
class A>
113 grid2D(Eigen::Vector2f extents,
114 Eigen::Vector2i numPoints,
115 std::function<
viz::Color(
size_t i,
size_t j,
const Eigen::Vector3f& p)> colorFunc);
128 const std::vector<std::vector<viz::data::Color>>&
colors);
144 std::vector<std::vector<Eigen::Vector3f>>
145 makeGrid2DVertices(Eigen::Vector2f extents, Eigen::Vector2i numPoints,
float height = 0);
157 const std::vector<std::vector<Eigen::Vector3f>>& vertices,
158 std::function<
viz::Color(
size_t x,
size_t y,
const Eigen::Vector3f& p)> colorFunc);
171 std::vector<viz::data::Face>
makeGrid2DFaces(
size_t num_x,
size_t num_y);
176 flatten(
const std::vector<std::vector<T>>& vector)
178 size_t size = std::accumulate(vector.begin(),
181 [](
size_t s,
const auto&
v) { return s + v.size(); });
185 for (
const auto&
v : vector)
187 for (
const auto& val :
v)