0032632: Visualization, AIS_ViewCube - the class AIS_ViewCubeSensitive is hidden...
[occt.git] / src / AIS / AIS_ViewCube.hxx
index 4da9de2..32428cf 100644 (file)
@@ -24,6 +24,7 @@
 #include <Prs3d_TextAspect.hxx>
 #include <SelectMgr_EntityOwner.hxx>
 #include <V3d_TypeOfOrientation.hxx>
+#include <Select3D_SensitivePrimitiveArray.hxx>
 
 class AIS_AnimationCamera;
 class AIS_ViewCubeOwner;
@@ -724,4 +725,25 @@ protected:
 
 };
 
+//! Simple sensitive element for picking by point only.
+class AIS_ViewCubeSensitive : public Select3D_SensitivePrimitiveArray
+{
+  DEFINE_STANDARD_RTTIEXT(AIS_ViewCubeSensitive, Select3D_SensitivePrimitiveArray)
+public:
+
+  //! Constructor.
+  Standard_EXPORT AIS_ViewCubeSensitive (const Handle(SelectMgr_EntityOwner)& theOwner,
+                                         const Handle(Graphic3d_ArrayOfTriangles)& theTris);
+
+  //! Checks whether element overlaps current selecting volume.
+  Standard_EXPORT virtual Standard_Boolean Matches (SelectBasics_SelectingVolumeManager& theMgr,
+                                                    SelectBasics_PickResult& thePickResult) Standard_OVERRIDE;
+
+protected:
+
+  //! Checks if picking ray can be used for detection.
+  Standard_EXPORT bool isValidRay (const SelectBasics_SelectingVolumeManager& theMgr) const;
+
+};
+
 #endif // _AIS_ViewCube_HeaderFile