0030058: Visualization, Select3D_SensitivePrimitiveArray - the selection is not fast...
[occt.git] / src / Select3D / Select3D_InteriorSensitivePointSet.hxx
index 8742a5d..4375f22 100644 (file)
@@ -18,7 +18,6 @@
 
 #include <NCollection_Vector.hxx>
 
-#include <Handle_SelectBasics_EntityOwner.hxx>
 #include <TColgp_HArray1OfPnt.hxx>
 #include <TColStd_HArray1OfInteger.hxx>
 
@@ -71,19 +70,21 @@ public:
   //! Returns the amount of points in set
   Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
 
-  DEFINE_STANDARD_RTTI(Select3D_InteriorSensitivePointSet, Select3D_SensitiveSet)
+  DEFINE_STANDARD_RTTIEXT(Select3D_InteriorSensitivePointSet,Select3D_SensitiveSet)
 
 protected:
 
   //! Checks whether the planar convex polygon with index theIdx
   //! in myPlanarPolygons overlaps the current selecting volume
-  Standard_EXPORT virtual Standard_Boolean overlapsElement (SelectBasics_SelectingVolumeManager& theMgr,
+  Standard_EXPORT virtual Standard_Boolean overlapsElement (SelectBasics_PickResult& thePickResult,
+                                                            SelectBasics_SelectingVolumeManager& theMgr,
                                                             Standard_Integer theElemIdx,
-                                                            Standard_Real& theMatchDepth) Standard_OVERRIDE;
+                                                            Standard_Boolean theIsFullInside) Standard_OVERRIDE;
 
   //! Checks whether the entity with index theIdx is inside the current selecting volume
   Standard_EXPORT virtual Standard_Boolean elementIsInside (SelectBasics_SelectingVolumeManager& theMgr,
-                                                            const Standard_Integer               theElemIdx) Standard_OVERRIDE;
+                                                            Standard_Integer theElemIdx,
+                                                            Standard_Boolean theIsFullInside) Standard_OVERRIDE;
 
   //! Calculates distance from the 3d projection of used-picked
   //! screen point to center of the geometry
@@ -92,7 +93,7 @@ protected:
 protected:
 
   Select3D_VectorOfHPoly          myPlanarPolygons;     //!< Vector of planar polygons
-  Handle_TColStd_HArray1OfInteger myPolygonsIdxs;       //!< Indexes array for BVH calculation
+  Handle(TColStd_HArray1OfInteger) myPolygonsIdxs;       //!< Indexes array for BVH calculation
   gp_Pnt                          myCOG;                //!< Center of the point set
   Select3D_BndBox3d               myBndBox;             //!< Bounding box of the point set
 };