ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvOctreeProxy.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 // Local
11 #include "ecvHObject.h"
12 #include "ecvOctree.h"
13 
15 
19 public:
22  QString name = "Octree");
23 
25  virtual ~ccOctreeProxy();
26 
28  inline void setOctree(ccOctree::Shared octree) { m_octree = octree; }
29 
31  inline ccOctree::Shared getOctree() const { return m_octree; }
32 
33  inline void setOctreeVisibale(bool state) { m_octree->setVisible(state); }
34 
35  // Inherited from ccHObject
36  virtual CV_CLASS_ENUM getClassID() const override {
38  }
39  virtual ccBBox getOwnBB(bool withGLFeatures = false) override;
40 
41 protected:
42  // Inherited from ccHObject
43  virtual void drawMeOnly(CC_DRAW_CONTEXT& context) override;
44 
45 protected: // members
48 };
int64_t CV_CLASS_ENUM
Type of object type flags (64 bits)
Definition: CVTypes.h:97
#define CV_DB_LIB_API
Definition: CV_db.h:15
std::string name
Bounding box structure.
Definition: ecvBBox.h:25
Hierarchical CLOUDVIEWER Object.
Definition: ecvHObject.h:25
Octree structure proxy.
virtual ccBBox getOwnBB(bool withGLFeatures=false) override
Returns the entity's own bounding-box.
ccOctree::Shared m_octree
Associated octree.
ccOctreeProxy(ccOctree::Shared octree=ccOctree::Shared(0), QString name="Octree")
Default constructor.
virtual ~ccOctreeProxy()
Destructor.
void setOctree(ccOctree::Shared octree)
Sets the associated octree.
virtual CV_CLASS_ENUM getClassID() const override
Returns class ID.
void setOctreeVisibale(bool state)
ccOctree::Shared getOctree() const
Returns the associated octree.
virtual void drawMeOnly(CC_DRAW_CONTEXT &context) override
Draws the entity only (not its children)
QSharedPointer< ccOctree > Shared
Shared pointer.
Definition: ecvOctree.h:32
ImGuiContext * context
Definition: Window.cpp:76
@ POINT_OCTREE
Definition: CVTypes.h:110
cloudViewer::DgmOctree * octree
Display context.