Grid.h
Go to the documentation of this file.
1#pragma once
2
3#include <functional>
4#include <optional>
5
6#include <Eigen/Core>
7
8#include <SimoxUtility/color/Color.h>
9#include <SimoxUtility/color/ColorMap.h>
10#include <SimoxUtility/color/cmaps/colormaps.h>
11
12#include <RobotAPI/interface/ArViz/Elements.h>
13
14#include "ElementOps.h"
15
16namespace armarx::viz
17{
18
19 class Grid : public ElementOps<Grid, data::ElementGrid>
20 {
21 public:
23
25 using GridT = Eigen::MatrixXf;
26
27 using ColorFuncT = std::function<simox::Color(float v)>;
28
29 Grid& grid(const GridT& grd, const std::optional<MaskT>& mask, const ColorFuncT& colorFunc);
30
31 Grid& grid(const GridT& grd,
32 const std::optional<MaskT>& mask,
33 const simox::color::ColorMap& cmap = simox::color::cmaps::viridis(),
34 const std::optional<float>& vmin = std::nullopt,
35 const std::optional<float>& vmax = std::nullopt);
36
37 Grid& origin(const Eigen::Isometry3f& origin);
38
39 Grid& resolution(float res);
40 };
41
42
43} // namespace armarx::viz
ElementOps(std::string const &id)
Definition ElementOps.h:119
Grid & origin(const Eigen::Isometry3f &origin)
Definition Grid.cpp:64
Grid & grid(const GridT &grd, const std::optional< MaskT > &mask, const ColorFuncT &colorFunc)
Definition Grid.cpp:34
Eigen::MatrixXf GridT
Definition Grid.h:25
Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > MaskT
Definition Grid.h:24
std::function< simox::Color(float v)> ColorFuncT
Definition Grid.h:27
ElementOps(std::string const &id)
Definition ElementOps.h:119
Grid & resolution(float res)
Definition Grid.cpp:84
This file is part of ArmarX.