0031322: Visualization, Select3D_SensitiveEntity - method NbSubElements() should... WEEK-5
authornds <nds@opencascade.com>
Thu, 30 Jan 2020 07:47:55 +0000 (10:47 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 30 Jan 2020 15:58:32 +0000 (18:58 +0300)
Set constant state for the method NbSubElement to be able to call it from other constant methods (e.g. DumpJson of Select3D_SensitiveEntity).

31 files changed:
dox/dev_guides/upgrade/upgrade.md
src/MeshVS/MeshVS_CommonSensitiveEntity.cxx
src/MeshVS/MeshVS_CommonSensitiveEntity.hxx
src/MeshVS/MeshVS_DummySensitiveEntity.cxx
src/MeshVS/MeshVS_DummySensitiveEntity.hxx
src/MeshVS/MeshVS_SensitiveMesh.cxx
src/MeshVS/MeshVS_SensitiveMesh.hxx
src/MeshVS/MeshVS_SensitivePolyhedron.cxx
src/MeshVS/MeshVS_SensitivePolyhedron.hxx
src/MeshVS/MeshVS_SensitiveQuad.hxx
src/Select3D/Select3D_InteriorSensitivePointSet.cxx
src/Select3D/Select3D_InteriorSensitivePointSet.hxx
src/Select3D/Select3D_SensitiveBox.cxx
src/Select3D/Select3D_SensitiveBox.hxx
src/Select3D/Select3D_SensitiveEntity.hxx
src/Select3D/Select3D_SensitiveFace.cxx
src/Select3D/Select3D_SensitiveFace.hxx
src/Select3D/Select3D_SensitiveGroup.cxx
src/Select3D/Select3D_SensitiveGroup.hxx
src/Select3D/Select3D_SensitivePoint.cxx
src/Select3D/Select3D_SensitivePoint.hxx
src/Select3D/Select3D_SensitivePoly.cxx
src/Select3D/Select3D_SensitivePoly.hxx
src/Select3D/Select3D_SensitivePrimitiveArray.hxx
src/Select3D/Select3D_SensitiveSegment.cxx
src/Select3D/Select3D_SensitiveSegment.hxx
src/Select3D/Select3D_SensitiveTriangle.hxx
src/Select3D/Select3D_SensitiveTriangulation.cxx
src/Select3D/Select3D_SensitiveTriangulation.hxx
src/Select3D/Select3D_SensitiveWire.cxx
src/Select3D/Select3D_SensitiveWire.hxx

index 35df92f..2ee0ba2 100644 (file)
@@ -1888,3 +1888,7 @@ Unexpected const-ness of Aspect_Window::DoResize() method has been removed, so t
 @subsection upgrade_750_rename Renaming of types
 
 Enumeration BRepOffset_Type is renamed to ChFiDS_TypeOfConcavity.
+
+@subsection upgrade_750_sensitiveEntity Select3D_SensitiveEntity interface change
+
+The method Select3D_SensitiveEntity::NbSubElements() has been changed to be constant. Select3D_SensitiveEntity subclasses at application level should be updated accordingly.
index c0165fc..01ea125 100644 (file)
@@ -118,7 +118,7 @@ MeshVS_CommonSensitiveEntity::~MeshVS_CommonSensitiveEntity()
 //function : NbSubElements
 //purpose  :
 //=======================================================================
-Standard_Integer MeshVS_CommonSensitiveEntity::NbSubElements()
+Standard_Integer MeshVS_CommonSensitiveEntity::NbSubElements() const
 {
   return myItemIndexes.Size();
 }
index fd87f9e..21dca5e 100644 (file)
@@ -36,7 +36,7 @@ public:
   Standard_EXPORT virtual ~MeshVS_CommonSensitiveEntity();
 
   //! Number of elements.
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   //! Returns the amount of sub-entities of the complex entity
   Standard_EXPORT virtual Standard_Integer Size() const Standard_OVERRIDE;
index b02f25a..ed8b974 100644 (file)
@@ -29,7 +29,7 @@ MeshVS_DummySensitiveEntity::MeshVS_DummySensitiveEntity (const Handle(SelectMgr
 // Function : NbSubElements
 // Purpose  :
 //================================================================
-Standard_Integer MeshVS_DummySensitiveEntity::NbSubElements()
+Standard_Integer MeshVS_DummySensitiveEntity::NbSubElements() const
 {
   return -1;
 }
index 729cad7..049e5f4 100644 (file)
@@ -36,7 +36,7 @@ public:
   Standard_EXPORT virtual Standard_Boolean Matches (SelectBasics_SelectingVolumeManager& theMgr,
                                                     SelectBasics_PickResult& thePickResult) Standard_OVERRIDE;
 
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   Standard_EXPORT virtual Select3D_BndBox3d BoundingBox() Standard_OVERRIDE;
 
index 3feb84d..b5bfed9 100644 (file)
@@ -77,7 +77,7 @@ Handle(Select3D_SensitiveEntity) MeshVS_SensitiveMesh::GetConnected()
 // function : NbSubElements
 // purpose  : Returns the amount of mesh nodes
 //=======================================================================
-Standard_Integer MeshVS_SensitiveMesh::NbSubElements()
+Standard_Integer MeshVS_SensitiveMesh::NbSubElements() const
 {
   Handle(MeshVS_MeshOwner) anOwner = Handle(MeshVS_MeshOwner)::DownCast (OwnerId());
   if (anOwner.IsNull())
index c24ec2a..3bedd05 100644 (file)
@@ -48,7 +48,7 @@ public:
   }
 
   //! Returns the amount of mesh nodes
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   //! Returns bounding box of mesh
   Standard_EXPORT virtual Select3D_BndBox3d BoundingBox() Standard_OVERRIDE;
index f367406..d64f322 100644 (file)
@@ -104,7 +104,7 @@ Standard_Boolean MeshVS_SensitivePolyhedron::Matches (SelectBasics_SelectingVolu
 // function : NbSubElements
 // purpose  : Returns the amount of nodes of polyhedron
 //=======================================================================
-Standard_Integer MeshVS_SensitivePolyhedron::NbSubElements()
+Standard_Integer MeshVS_SensitivePolyhedron::NbSubElements() const
 {
   return myNodes->Length();
 }
index 0aac9cc..2283b6d 100644 (file)
@@ -55,7 +55,7 @@ public:
                                                     SelectBasics_PickResult& thePickResult) Standard_OVERRIDE;
 
   //! Returns the amount of nodes of polyhedron
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   Standard_EXPORT virtual Select3D_BndBox3d BoundingBox() Standard_OVERRIDE;
 
index 07cbf3d..d4306f6 100644 (file)
@@ -38,7 +38,7 @@ public:
                                         const gp_Pnt& thePnt4);
 
   //! Returns the amount of sub-entities in sensitive
-  virtual Standard_Integer NbSubElements() Standard_OVERRIDE
+  virtual Standard_Integer NbSubElements() const Standard_OVERRIDE
   {
     return 1;
   };
index bc7d0a9..8064077 100644 (file)
@@ -319,7 +319,7 @@ gp_Pnt Select3D_InteriorSensitivePointSet::CenterOfGeometry() const
 // function : NbSubElements
 // purpose  : Returns the amount of points in set
 //=======================================================================
-Standard_Integer Select3D_InteriorSensitivePointSet::NbSubElements()
+Standard_Integer Select3D_InteriorSensitivePointSet::NbSubElements() const
 {
   return myPlanarPolygons.Length();
 }
index b9c7d65..614fce9 100644 (file)
@@ -68,7 +68,7 @@ public:
   Standard_EXPORT virtual gp_Pnt CenterOfGeometry() const Standard_OVERRIDE;
 
   //! Returns the amount of points in set
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   DEFINE_STANDARD_RTTIEXT(Select3D_InteriorSensitivePointSet,Select3D_SensitiveSet)
 
index d5f1695..989e127 100644 (file)
@@ -59,7 +59,7 @@ Select3D_SensitiveBox::Select3D_SensitiveBox (const Handle(SelectMgr_EntityOwner
 // function : NbSubElements
 // purpose  : Returns the amount of sub-entities in sensitive
 //=======================================================================
-Standard_Integer Select3D_SensitiveBox::NbSubElements()
+Standard_Integer Select3D_SensitiveBox::NbSubElements() const
 {
   return 1;
 }
index 06f91d0..c2a578d 100644 (file)
@@ -45,7 +45,7 @@ public:
                                          const Standard_Real theZMax);
 
   //! Returns the amount of sub-entities in sensitive
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   Standard_EXPORT virtual Handle(Select3D_SensitiveEntity) GetConnected() Standard_OVERRIDE;
 
index 506acd5..b19cd5d 100644 (file)
@@ -70,7 +70,7 @@ public:
   //! Returns the number of sub-entities or elements in sensitive entity.
   //! Is used to determine if entity is complex and needs to pre-build BVH at the creation of sensitive entity step
   //! or is light-weighted so the tree can be build on demand with unnoticeable delay.
-  virtual Standard_Integer NbSubElements() = 0;
+  virtual Standard_Integer NbSubElements() const = 0;
 
   //! Returns bounding box of a sensitive with transformation applied
   virtual Select3D_BndBox3d BoundingBox() = 0;
index 0ae25ae..710a654 100644 (file)
@@ -139,7 +139,7 @@ gp_Pnt Select3D_SensitiveFace::CenterOfGeometry() const
 // purpose  : Returns the amount of sub-entities (points or planar convex
 //            polygons)
 //=======================================================================
-Standard_Integer Select3D_SensitiveFace::NbSubElements()
+Standard_Integer Select3D_SensitiveFace::NbSubElements() const
 {
   return myFacePoints->NbSubElements();
 }
index 5567c9f..b407542 100644 (file)
@@ -71,7 +71,7 @@ public:
   Standard_EXPORT virtual void BVH() Standard_OVERRIDE;
 
   //! Returns the amount of sub-entities (points or planar convex polygons)
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
 private:
 
index d01499d..85fce6b 100644 (file)
@@ -164,7 +164,7 @@ void Select3D_SensitiveGroup::Clear()
 // function : NbSubElements
 // purpose  : Returns the amount of sub-entities
 //=======================================================================
-Standard_Integer Select3D_SensitiveGroup::NbSubElements()
+Standard_Integer Select3D_SensitiveGroup::NbSubElements() const
 {
   return myEntities.Size();
 }
index 37efcf6..a2194af 100644 (file)
@@ -113,7 +113,7 @@ public:
                                                     SelectBasics_PickResult& thePickResult) Standard_OVERRIDE;
 
   //! Returns the amount of sub-entities
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   Standard_EXPORT virtual Handle(Select3D_SensitiveEntity) GetConnected() Standard_OVERRIDE;
 
index 39bca11..a486c75 100644 (file)
@@ -81,7 +81,7 @@ Select3D_BndBox3d Select3D_SensitivePoint::BoundingBox()
 // function : NbSubElements
 // purpose  : Returns the amount of sub-entities in sensitive
 //=======================================================================
-Standard_Integer Select3D_SensitivePoint::NbSubElements()
+Standard_Integer Select3D_SensitivePoint::NbSubElements() const
 {
   return 1;
 }
index a8c6e8c..8a451b0 100644 (file)
@@ -31,7 +31,7 @@ public:
   Standard_EXPORT Select3D_SensitivePoint (const Handle(SelectMgr_EntityOwner)& theOwnerId, const gp_Pnt& thePoint);
 
   //! Returns the amount of sub-entities in sensitive
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   Standard_EXPORT virtual Handle(Select3D_SensitiveEntity) GetConnected() Standard_OVERRIDE;
 
index 61a02bf..df133ef 100644 (file)
@@ -284,7 +284,7 @@ Standard_Real Select3D_SensitivePoly::distanceToCOG (SelectBasics_SelectingVolum
 // Function: NbSubElements
 // Purpose : Returns the amount of segments in poly
 //==================================================
-Standard_Integer Select3D_SensitivePoly::NbSubElements()
+Standard_Integer Select3D_SensitivePoly::NbSubElements() const
 {
   return myPolyg.Size();
 }
index e530093..a035d9b 100644 (file)
@@ -56,7 +56,7 @@ public:
                                           const Standard_Integer theNbPnts = 6);
 
   //! Returns the amount of segments in poly
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   //! Returns the 3D points of the array used at construction time.
   void Points3D (Handle(TColgp_HArray1OfPnt)& theHArrayOfPnt)
index f579d7d..ebeb913 100644 (file)
@@ -209,7 +209,7 @@ public:
   Standard_EXPORT virtual Standard_Integer Size() const Standard_OVERRIDE;
 
   //! Returns the amount of nodes in triangulation
-  virtual Standard_Integer NbSubElements() Standard_OVERRIDE
+  virtual Standard_Integer NbSubElements() const Standard_OVERRIDE
   {
     return !myGroups.IsNull() ? myGroups->Size() : myBvhIndices.NbElements;
   }
index 8d51376..b43b271 100644 (file)
@@ -98,7 +98,7 @@ Select3D_BndBox3d Select3D_SensitiveSegment::BoundingBox()
 // function : NbSubElements
 // purpose  : Returns the amount of points
 //=======================================================================
-Standard_Integer Select3D_SensitiveSegment::NbSubElements()
+Standard_Integer Select3D_SensitiveSegment::NbSubElements() const
 {
   return 2;
 }
index 3aefcca..81dfe78 100644 (file)
@@ -46,7 +46,7 @@ public:
   const gp_Pnt& EndPoint() const { return myEnd; }
 
   //! Returns the amount of points
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   Standard_EXPORT virtual Handle(Select3D_SensitiveEntity) GetConnected() Standard_OVERRIDE;
 
index a9e04da..bfcd848 100644 (file)
@@ -63,7 +63,7 @@ public:
   Standard_EXPORT virtual Select3D_BndBox3d BoundingBox() Standard_OVERRIDE;
 
   //! Returns the amount of points
-  virtual Standard_Integer NbSubElements() Standard_OVERRIDE { return 3; }
+  virtual Standard_Integer NbSubElements() const Standard_OVERRIDE { return 3; }
 
   virtual gp_Pnt CenterOfGeometry() const Standard_OVERRIDE { return myCentroid; }
 
index 859019a..284ad20 100644 (file)
@@ -421,7 +421,7 @@ gp_Pnt Select3D_SensitiveTriangulation::CenterOfGeometry() const
 // function : NbSubElements
 // purpose  : Returns the amount of nodes in triangulation
 //=======================================================================
-Standard_Integer Select3D_SensitiveTriangulation::NbSubElements()
+Standard_Integer Select3D_SensitiveTriangulation::NbSubElements() const
 {
   return myTriangul->Nodes().Length();
 }
index 2d384f3..7232978 100644 (file)
@@ -55,7 +55,7 @@ public:
                                                    const Standard_Boolean theIsInterior);
 
   //! Returns the amount of nodes in triangulation
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   Standard_EXPORT Handle(Select3D_SensitiveEntity) GetConnected() Standard_OVERRIDE;
 
index 6f0128b..f902f03 100644 (file)
@@ -54,7 +54,7 @@ void Select3D_SensitiveWire::Add (const Handle(Select3D_SensitiveEntity)& theSen
 // function : NbSubElements
 // purpose  : Returns the amount of sub-entities
 //=======================================================================
-Standard_Integer Select3D_SensitiveWire::NbSubElements()
+Standard_Integer Select3D_SensitiveWire::NbSubElements() const
 {
   return myEntities.Length();
 }
index 3b4f76e..539330f 100644 (file)
@@ -33,7 +33,7 @@ public:
   Standard_EXPORT void Add (const Handle(Select3D_SensitiveEntity)& theSensitive);
 
   //! Returns the amount of sub-entities
-  Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer NbSubElements() const Standard_OVERRIDE;
 
   Standard_EXPORT virtual Handle(Select3D_SensitiveEntity) GetConnected() Standard_OVERRIDE;