0026146: Visualization, Select3D_ISensitivePointSet - eliminate crash when clearing...
[occt.git] / src / SelectMgr / SelectMgr_FrustumBuilder.hxx
index 1d4cd80..8480454 100644 (file)
 #ifndef _SelectMgr_FrustumBuilder_HeaderFile
 #define _SelectMgr_FrustumBuilder_HeaderFile
 
+#include <Standard_DefineHandle.hxx>
+
 #include <Graphic3d_Camera.hxx>
-#include <NCollection_Handle.hxx>
 #include <Precision.hxx>
 #include <SelectMgr_VectorTypes.hxx>
 
 //! The purpose of this class is to provide unified interface for building
 //! selecting frustum depending on current camera projection and orientation
 //! matrices, window size and viewport parameters.
-class SelectMgr_FrustumBuilder
+class SelectMgr_FrustumBuilder : public Standard_Transient
 {
 public:
   //! Creates new frustum builder with empty matrices
   SelectMgr_FrustumBuilder();
 
-  ~SelectMgr_FrustumBuilder() {};
-
   //! Stores current orientation matrix
   void SetOrientation (const Graphic3d_Mat4d& theOrientation);
 
@@ -62,6 +61,8 @@ public:
                                         const Standard_Real& theY,
                                         const Standard_Real& theZ) const;
 
+  DEFINE_STANDARD_RTTI(SelectMgr_FrustumBuilder)
+
 private:
 
   //! Unprojects point from NDC coords to 3d world space
@@ -77,4 +78,6 @@ private:
   Standard_Boolean                  myIsViewportSet;
 };
 
+DEFINE_STANDARD_HANDLE(SelectMgr_FrustumBuilder, Standard_Transient)
+
 #endif // _SelectMgr_FrustumBuilder_HeaderFile