visualizer.hpp 1.38 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once

#include <pcl/point_types.h>
#include <pcl/point_cloud.h>

#include <octomap/ColorOcTree.h>

#include <Eigen/Dense>

namespace aicp {

class Visualizer
{
public:
simalpha's avatar
simalpha committed
15
16
    Visualizer(){}
    virtual ~Visualizer(){}
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

    virtual void publishCloud(pcl::PointCloud<pcl::PointXYZ>::Ptr& cloud,
                              int param,
                              std::string name,
                              int64_t utime = -1) = 0;

    virtual void publishCloud(pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr& cloud,
                              int param,
                              std::string name,
                              int64_t utime = -1) = 0;

    virtual void publishMap(pcl::PointCloud<pcl::PointXYZ>::Ptr& cloud,
                            int64_t utime,
                            int channel) = 0;

    virtual void publishOctree(octomap::ColorOcTree*& octree,
                               std::string channel_name) = 0;

simalpha's avatar
simalpha committed
35
36
37
38
    virtual void publishPoses(Eigen::Isometry3d pose_,
                              int param,
                              std::string name,
                              int64_t utime = -1) = 0;
39

simalpha's avatar
simalpha committed
40
    // Gets
41
    virtual const std::vector<Eigen::Isometry3d, Eigen::aligned_allocator<Eigen::Isometry3d>>& getPath() = 0;
simalpha's avatar
simalpha committed
42

43
44
45
46
47
protected:
    // Set global reference frame to zero origin
    Eigen::Isometry3d global_ = Eigen::Isometry3d::Identity();
};
}