37 #ifndef PCL_PCL_VISUALIZER_COMMON_H_
38 #define PCL_PCL_VISUALIZER_COMMON_H_
41 #pragma GCC system_header
44 #include <pcl/pcl_macros.h>
45 #include <pcl/visualization/eigen.h>
46 #include <vtkMatrix4x4.h>
52 namespace visualization
62 getRandomColors (
double &r,
double &g,
double &b,
double min = 0.2,
double max = 2.8);
72 PCL_EXPORTS Eigen::Matrix4d
75 PCL_EXPORTS Eigen::Vector2i
76 worldToView (
const Eigen::Vector4d &world_pt,
const Eigen::Matrix4d &view_projection_matrix,
int width,
int height);
79 getViewFrustum (
const Eigen::Matrix4d &view_projection_matrix,
double planes[24]);
89 cullFrustum (
double planes[24],
const Eigen::Vector3d &min_bb,
const Eigen::Vector3d &max_bb);
92 viewScreenArea (
const Eigen::Vector3d &eye,
const Eigen::Vector3d &min_bb,
const Eigen::Vector3d &max_bb,
const Eigen::Matrix4d &view_projection_matrix,
int width,
int height);
147 double window_size[2];
148 double window_pos[2];
155 computeViewMatrix (Eigen::Matrix4d& view_mat)
const;
161 computeProjectionMatrix (Eigen::Matrix4d& proj)
const;
170 template<
typename Po
intT>
void
171 cvtWindowCoordinates (
const PointT& pt, Eigen::Vector4d& window_cord)
const;
183 template<
typename Po
intT>
void
184 cvtWindowCoordinates (
const PointT& pt, Eigen::Vector4d& window_cord,
const Eigen::Matrix4d& composite_mat)
const;
189 #include <pcl/visualization/common/impl/common.hpp>
PCL_EXPORTS Eigen::Vector2i worldToView(const Eigen::Vector4d &world_pt, const Eigen::Matrix4d &view_projection_matrix, int width, int height)
PCL_EXPORTS Eigen::Matrix4d vtkToEigen(vtkMatrix4x4 *vtk_matrix)
PCL_EXPORTS float viewScreenArea(const Eigen::Vector3d &eye, const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb, const Eigen::Matrix4d &view_projection_matrix, int width, int height)
ShadingRepresentationProperties
A point structure representing Euclidean xyz coordinates, and the RGB color.
Camera class holds a set of camera parameters together with the window pos/size.
RenderingRepresentationProperties
double fovy
Field of view angle in y direction (radians).
PCL_EXPORTS int cullFrustum(double planes[24], const Eigen::Vector3d &min_bb, const Eigen::Vector3d &max_bb)
A structure representing RGB color information.
PCL_EXPORTS void getRandomColors(double &r, double &g, double &b, double min=0.2, double max=2.8)
Get (good) random values for R/G/B.
PCL_EXPORTS void getViewFrustum(const Eigen::Matrix4d &view_projection_matrix, double planes[24])