8 #include <pcl/outofcore/visualization/object.h>
9 #include <pcl/common/eigen.h>
10 #include <pcl/memory.h>
11 #include <pcl/pcl_macros.h>
15 #include <vtkCamera.h>
16 #include <vtkCameraActor.h>
17 #include <vtkPolyData.h>
18 #include <vtkSmartPointer.h>
63 this->display_ = display;
69 for (
int i = 0; i < 24; i++)
70 frustum[i] = frustum_[i];
76 projection_matrix_ = projection_matrix;
82 return projection_matrix_;
88 model_view_matrix_ = model_view_matrix;
94 return model_view_matrix_;
104 return Eigen::Matrix4d (projection_matrix_ * model_view_matrix_);
111 Eigen::Matrix4d inverse_model_view_matrix = model_view_matrix_.inverse ();
112 Eigen::Vector3d position;
113 for (
int i = 0; i < 3; i++)
115 position (i) = inverse_model_view_matrix (i, 3);
124 camera_->SetClippingRange (near_value, far_value);
128 render (vtkRenderer* renderer)
override;
153 Eigen::Matrix4d projection_matrix_;
154 Eigen::Matrix4d model_view_matrix_;
157 double prevFocal_[3];
vtkSmartPointer< vtkActor > getHullActor() const
void setProjectionMatrix(const Eigen::Matrix4d &projection_matrix)
void setModelViewMatrix(const Eigen::Matrix4d &model_view_matrix)
Eigen::Matrix4d getProjectionMatrix()
Eigen::Vector3d getPosition()
vtkSmartPointer< vtkCameraActor > getCameraActor() const
void setDisplay(bool display)
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
Eigen::Matrix4d getViewProjectionMatrix()
void render(vtkRenderer *renderer) override
void getFrustum(double frustum[])
void setClippingRange(float near_value=0.0001f, float far_value=100000.f)
vtkSmartPointer< vtkCamera > getCamera() const
Eigen::Matrix4d getModelViewMatrix()