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());
69 colors(
const data::Color* cs, std::size_t 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>
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)
IceInternal::Handle< data::ElementMesh > data_
ElementOps(std::string const &id)
Mesh & grid2D(Eigen::Vector2f extents, Eigen::Vector2i numPoints, std::function< viz::Color(size_t i, size_t j, const Eigen::Vector3f &p)> colorFunc)
Builds a regular 2D grid in the xy-plane.
Mesh & colors(const std::vector< data::Color > &cs)
Mesh & vertices(const armarx::Vector3f *vs, std::size_t size)
Mesh & colors(const data::Color *cs, std::size_t size)
Mesh & vertices(const Eigen::Vector3f *vs, std::size_t size)
ElementOps(std::string const &id)
Mesh & faces(const std::vector< data::Face > &fs)
Mesh & faces(const data::Face *fs, std::size_t size)
Mesh & vertices(const std::vector< Eigen::Vector3f > &vs)
Mesh & vertices(const std::vector< armarx::Vector3f > &vs)
Mesh & mesh(const CGAL::Surface_mesh< T > &sm)
std::vector< viz::data::Face > makeGrid2DFaces(size_t num_x, size_t num_y)
Builds faces of a 2D grid.
std::vector< std::vector< viz::data::Color > > makeGrid2DColors(const std::vector< std::vector< Eigen::Vector3f > > &vertices, std::function< viz::Color(size_t x, size_t y, const Eigen::Vector3f &p)> colorFunc)
Build colors of a 2D grid.
std::vector< std::vector< Eigen::Vector3f > > makeGrid2DVertices(Eigen::Vector2f extents, Eigen::Vector2i numPoints, float height=0)
Builds vertices of a regular 2D grid in the xy-plane.
std::vector< T > flatten(const std::vector< std::vector< T > > &vector)
Flattens a 2D vector of nested vectors to a 1D vector.
This file is part of ArmarX.
This file offers overloads of toIce() and fromIce() functions for STL container types.