65 getQVtkWidget()->toWorldPoint(input2D, output3D);
69 getQVtkWidget()->toWorldPoint(input2D, output3D);
74 getQVtkWidget()->toDisplayPoint(worldPos, displayPos);
78 getQVtkWidget()->toDisplayPoint(worldPos, displayPos);
97 bool checkEntityNeedUpdate(std::string& viewID,
const ccHObject* obj);
100 const ccBBox* bbox)
override;
127 int& viewport)
override {
128 m_visualizer3D->createViewPort(xmin, ymin, xmax, ymax, viewport);
132 const std::string& viewID)
override {
133 m_visualizer3D->resetCameraViewpoint(viewID);
138 getQVtkWidget()->setBackgroundColor(
141 context.drawBackgroundGradient);
145 m_visualizer3D->showPclMarkerAxes(
146 m_visualizer3D->getRenderWindowInteractor());
150 const std::string&
id =
"reference",
151 int viewport = 0)
override {
152 m_visualizer3D->addCoordinateSystem(scale,
id, viewport);
158 int viewport = 0)
override {
159 m_visualizer3D->rotateWithAxis(pos, axis, angle, viewport);
165 m_visualizer3D->resetCamera();
168 m_visualizer3D->resetCamera(bbox);
173 #if defined(PCL_VERSION_COMPARE)
174 #if PCL_VERSION_COMPARE(<, 1, 13, 0)
175 m_visualizer3D->updateCamera();
177 #elif defined(PCL_MAJOR_VERSION) && defined(PCL_MINOR_VERSION)
178 #if (PCL_MAJOR_VERSION < 1) || \
179 (PCL_MAJOR_VERSION == 1 && PCL_MINOR_VERSION < 13)
180 m_visualizer3D->updateCamera();
190 getQVtkWidget()->updateScene();
194 if (this->m_visualizer3D) {
195 this->m_visualizer3D->setAutoUpateCameraPos(state);
203 if (this->m_visualizer3D) {
204 this->m_visualizer3D->getCenterOfRotation(center);
212 if (this->m_visualizer3D) {
213 this->m_visualizer3D->resetCenterOfRotation(viewport);
226 if (this->m_visualizer3D) {
227 this->m_visualizer3D->setCenterOfRotation(
x,
y,
z);
235 if (this->m_visualizer3D) {
236 this->m_visualizer3D->setCenterAxesVisibility(state);
241 if (m_visualizer3D) {
242 m_visualizer3D->resetCameraClippingRange(viewport);
247 if (m_visualizer3D) {
248 return m_visualizer3D->getGLDepth(
x,
y);
255 int viewport = 0)
override {
256 m_visualizer3D->zoomCamera(zoomFactor, viewport);
260 return m_visualizer3D->getCameraFocalDistance(viewport);
263 int viewport = 0)
override {
264 m_visualizer3D->setCameraFocalDistance(focal_distance, viewport);
267 inline virtual void getCameraPos(
double* pos,
int viewport = 0)
override {
268 const pcl::visualization::Camera& cam =
269 m_visualizer3D->getCamera(viewport);
275 int viewport = 0)
override {
276 const pcl::visualization::Camera& cam =
277 m_visualizer3D->getCamera(viewport);
278 focal[0] = cam.focal[0];
279 focal[1] = cam.focal[1];
280 focal[2] = cam.focal[2];
282 inline virtual void getCameraUp(
double* up,
int viewport = 0)
override {
283 const pcl::visualization::Camera& cam =
284 m_visualizer3D->getCamera(viewport);
291 int viewport = 0)
override {
292 getQVtkWidget()->setCameraPosition(pos);
298 int viewport = 0)
override {
299 m_visualizer3D->setCameraPosition(pos[0], pos[1], pos[2], focal[0],
300 focal[1], focal[2], up[0], up[1],
306 int viewport = 0)
override {
307 m_visualizer3D->setCameraPosition(pos[0], pos[1], pos[2], up[0], up[1],
320 int viewport = 0)
override {
321 m_visualizer3D->setCameraPosition(pos_x, pos_y, pos_z, view_x, view_y,
322 view_z, up_x, up_y, up_z, viewport);
326 getQVtkWidget()->GetRenderWindow()->SetPosition(0, 0);
327 getQVtkWidget()->GetRenderWindow()->SetSize(xw, yw);
331 m_visualizer3D->setFullScreen(state);
335 if (m_visualizer3D) {
336 m_visualizer3D->setOrthoProjection(viewport);
337 m_visualizer3D->resetCameraClippingRange(viewport);
341 if (m_visualizer3D) {
342 m_visualizer3D->setPerspectiveProjection(viewport);
343 m_visualizer3D->resetCameraClippingRange(viewport);
349 int viewport = 0)
override {
350 const pcl::visualization::Camera& cam =
351 m_visualizer3D->getCamera(viewport);
352 clipPlanes[0] = cam.clip[0];
353 clipPlanes[1] = cam.clip[1];
357 int viewport = 0)
override {
358 if (m_visualizer3D) {
359 m_visualizer3D->setCameraClipDistances(znear, zfar, viewport);
366 m_visualizer3D->getCamera(viewport).fovy);
369 m_visualizer3D->setCameraFieldOfView(fovy, viewport);
380 m_visualizer3D->saveScreenshot(file);
387 m_visualizer3D->saveCameraParameters(file);
390 m_visualizer3D->loadCameraParameters(file);
399 m_visualizer3D->setUseVbos(useVbos);
406 m_visualizer3D->setLookUpTableID(viewID);
410 int viewport = 0)
override;
411 virtual void getViewMatrix(
double* ViewArray,
int viewport = 0)
override;
413 int viewport = 0)
override;
416 const std::string& viewID,
417 int viewport = 0)
override;
425 virtual QString
pick3DItem(
int x = -1,
int y = -1)
override;
426 virtual QString
pickObject(
double x = -1,
double y = -1)
override;
429 bool renderOverlayItems =
false,
431 int viewport = 0)
override;
434 if (getQVtkWidget()) getQVtkWidget()->setScaleBarVisible(visible);
456 const std::array<double, 3>&
color,
469 std::array<double, 3>&
color,
474 double& opacity)
const;
518 int viewport = 0)
override;
528 int viewport = 0)
const override;
550 bool stereoMode =
false)
override;
std::shared_ptr< core::Tensor > image
Double version of ccGLMatrixTpl.
Hierarchical CLOUDVIEWER Object.
A 3D cloud and its associated features (color, normals, scalar fields, etc.)
Generic sensor interface.
LineSet define a sets of lines in 3D. A typical application is to display the point cloud corresponde...
Generic visualizer 2D interface.
Generic visualizer 3D interface.
std::shared_ptr< ImageVis > ImageVisPtr
std::shared_ptr< PCLVis > PCLVisPtr
Generic file read and write utility for python interface.
float RadiansToDegrees(int radians)
Convert radians to degrees.
#define QPCL_ENGINE_LIB_API
Data Axes Grid properties structure Encapsulates all properties for vtkCubeAxesActor configuration.