Point Cloud Library (PCL)
1.15.1
Toggle main menu visibility
Loading...
Searching...
No Matches
pcl
visualization
common
actor_map.h
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2010, Willow Garage, Inc.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of Willow Garage, Inc. nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*
34
* $Id$
35
*
36
*/
37
38
#pragma once
39
40
#include <pcl/visualization/point_cloud_geometry_handlers.h>
// for PointCloudGeometryHandler
41
#include <pcl/visualization/point_cloud_color_handlers.h>
// for PointCloudColorHandler
42
#include <pcl/PCLPointCloud2.h>
43
44
#include <vtkLODActor.h>
45
#include <vtkSmartPointer.h>
46
#include <vtkIdTypeArray.h>
47
48
#include <unordered_map>
49
#include <vector>
50
51
template
<
typename
T>
class
vtkSmartPointer
;
52
class
vtkLODActor;
53
class
vtkProp;
54
55
namespace
pcl
56
{
57
namespace
visualization
58
{
59
class
PCL_EXPORTS
CloudActor
60
{
61
using
GeometryHandler =
PointCloudGeometryHandler<pcl::PCLPointCloud2>
;
62
using
GeometryHandlerPtr =
GeometryHandler::Ptr
;
63
using
GeometryHandlerConstPtr =
GeometryHandler::ConstPtr
;
64
65
using
ColorHandler =
PointCloudColorHandler<pcl::PCLPointCloud2>
;
66
using
ColorHandlerPtr =
ColorHandler::Ptr
;
67
using
ColorHandlerConstPtr =
ColorHandler::ConstPtr
;
68
69
public
:
70
CloudActor
() =
default
;
71
72
virtual
~CloudActor
() =
default
;
73
74
/** \brief The actor holding the data to render. */
75
vtkSmartPointer<vtkLODActor>
actor
;
76
77
/** \brief A vector of geometry handlers that can be used for rendering the data. */
78
std::vector<GeometryHandlerConstPtr>
geometry_handlers
;
79
80
/** \brief A vector of color handlers that can be used for rendering the data. */
81
std::vector<ColorHandlerConstPtr>
color_handlers
;
82
83
/** \brief The active color handler. */
84
int
color_handler_index_
{0};
85
86
/** \brief The active geometry handler. */
87
int
geometry_handler_index_
{0};
88
89
/** \brief The viewpoint transformation matrix. */
90
vtkSmartPointer<vtkMatrix4x4>
viewpoint_transformation_
;
91
92
/** \brief Internal cell array. Used for optimizing updatePointCloud. */
93
vtkSmartPointer<vtkIdTypeArray>
cells
;
94
};
95
96
using
CloudActorMap
= std::unordered_map<std::string, CloudActor>;
97
using
CloudActorMapPtr
= shared_ptr<CloudActorMap>;
98
99
using
ShapeActorMap
= std::unordered_map<std::string, vtkSmartPointer<vtkProp> >;
100
using
ShapeActorMapPtr
= shared_ptr<ShapeActorMap>;
101
102
using
CoordinateActorMap
= std::unordered_map<std::string, vtkSmartPointer<vtkProp> >;
103
using
CoordinateActorMapPtr
= shared_ptr<CoordinateActorMap>;
104
}
105
}
pcl::visualization::CloudActor::actor
vtkSmartPointer< vtkLODActor > actor
The actor holding the data to render.
Definition
actor_map.h:75
pcl::visualization::CloudActor::CloudActor
CloudActor()=default
pcl::visualization::CloudActor::cells
vtkSmartPointer< vtkIdTypeArray > cells
Internal cell array.
Definition
actor_map.h:93
pcl::visualization::CloudActor::color_handlers
std::vector< ColorHandlerConstPtr > color_handlers
A vector of color handlers that can be used for rendering the data.
Definition
actor_map.h:81
pcl::visualization::CloudActor::color_handler_index_
int color_handler_index_
The active color handler.
Definition
actor_map.h:84
pcl::visualization::CloudActor::~CloudActor
virtual ~CloudActor()=default
pcl::visualization::CloudActor::viewpoint_transformation_
vtkSmartPointer< vtkMatrix4x4 > viewpoint_transformation_
The viewpoint transformation matrix.
Definition
actor_map.h:90
pcl::visualization::CloudActor::geometry_handlers
std::vector< GeometryHandlerConstPtr > geometry_handlers
A vector of geometry handlers that can be used for rendering the data.
Definition
actor_map.h:78
pcl::visualization::CloudActor::geometry_handler_index_
int geometry_handler_index_
The active geometry handler.
Definition
actor_map.h:87
pcl::visualization::PointCloudColorHandler< pcl::PCLPointCloud2 >::ConstPtr
shared_ptr< const PointCloudColorHandler< PointCloud > > ConstPtr
Definition
point_cloud_color_handlers.h:533
pcl::visualization::PointCloudColorHandler< pcl::PCLPointCloud2 >::Ptr
shared_ptr< PointCloudColorHandler< PointCloud > > Ptr
Definition
point_cloud_color_handlers.h:532
pcl::visualization::PointCloudColorHandler
Base Handler class for PointCloud colors.
Definition
point_cloud_color_handlers.h:66
pcl::visualization::PointCloudGeometryHandler< pcl::PCLPointCloud2 >::Ptr
shared_ptr< PointCloudGeometryHandler< PointCloud > > Ptr
Definition
point_cloud_geometry_handlers.h:328
pcl::visualization::PointCloudGeometryHandler< pcl::PCLPointCloud2 >::ConstPtr
shared_ptr< const PointCloudGeometryHandler< PointCloud > > ConstPtr
Definition
point_cloud_geometry_handlers.h:329
pcl::visualization::PointCloudGeometryHandler
Base handler class for PointCloud geometry.
Definition
point_cloud_geometry_handlers.h:63
vtkSmartPointer
Definition
actor_map.h:51
pcl::visualization::CoordinateActorMapPtr
shared_ptr< CoordinateActorMap > CoordinateActorMapPtr
Definition
actor_map.h:103
pcl::visualization::CoordinateActorMap
std::unordered_map< std::string, vtkSmartPointer< vtkProp > > CoordinateActorMap
Definition
actor_map.h:102
pcl::visualization::CloudActorMap
std::unordered_map< std::string, CloudActor > CloudActorMap
Definition
actor_map.h:96
pcl::visualization::CloudActorMapPtr
shared_ptr< CloudActorMap > CloudActorMapPtr
Definition
actor_map.h:97
pcl::visualization::ShapeActorMapPtr
shared_ptr< ShapeActorMap > ShapeActorMapPtr
Definition
actor_map.h:100
pcl::visualization::ShapeActorMap
std::unordered_map< std::string, vtkSmartPointer< vtkProp > > ShapeActorMap
Definition
actor_map.h:99
pcl
Definition
convolution.h:46