0030675: Visualization - remove redundant proxy classes in hierarchy of PrsMgr_Presen...
authorkgv <kgv@opencascade.com>
Wed, 24 Apr 2019 16:53:17 +0000 (19:53 +0300)
committerbugmaster <bugmaster@opencascade.com>
Mon, 6 May 2019 12:57:56 +0000 (15:57 +0300)
commit7dd7c146e8b1cc67e848e95ecff57243d9ae0b53
tree7ea7a6f364065bd7707cf9334b6b1efc97137fe2
parentfaa0a9113319f1715de7ec53881f8384a353a25e
0030675: Visualization - remove redundant proxy classes in hierarchy of PrsMgr_Presentation

Removed redundant proxy class Prs3d_Presentation - Graphic3d_Structure now should be used directly.
Removed auxiliary class PrsMgr_ModedPresentation holding Structure and Display Mode index (field has been moved to Structure itself),
so that PrsMgr_Presentations (AIS_InteractiveObject::Presentations()) now holds Structures directly.
PrsMgr_Prs proxy class has been removed, and PrsMgr_Presentation now inherits Graphic3d_Structure.

Graphic3d_Structure, maps declarations have been corrected to use class instead of void*, which allowed to avoid redundant casts.
Several methods have been also modified to avoid creating Handle from this pointer.
AIS package headers have been cleaned up from forward declaration of Prs3d_Presentation class.

Fixed dereference of destroyed presentations within connected and HLR computed objects:
- AIS_InteractiveContext::Disconnect() now erases connected presentation.
- Graphic3d_CView::Clear() now removes destructed structures from Computed list.

- fix inaccessibility of PrsMgr_Presentation methods
105 files changed:
dox/dev_guides/upgrade/upgrade.md
src/AIS/AIS.cxx
src/AIS/AIS.hxx
src/AIS/AIS_Chamf2dDimension.hxx
src/AIS/AIS_Chamf3dDimension.hxx
src/AIS/AIS_ConcentricRelation.hxx
src/AIS/AIS_ConnectedInteractive.cxx
src/AIS/AIS_EqualDistanceRelation.hxx
src/AIS/AIS_EqualRadiusRelation.hxx
src/AIS/AIS_FixRelation.hxx
src/AIS/AIS_InteractiveContext.cxx
src/AIS/AIS_InteractiveContext_2.cxx
src/AIS/AIS_InteractiveObject.cxx
src/AIS/AIS_InteractiveObject.hxx
src/AIS/AIS_LengthDimension.hxx
src/AIS/AIS_MaxRadiusDimension.hxx
src/AIS/AIS_MidPointRelation.hxx
src/AIS/AIS_MinRadiusDimension.hxx
src/AIS/AIS_MultipleConnectedInteractive.cxx
src/AIS/AIS_OffsetDimension.hxx
src/AIS/AIS_ParallelRelation.hxx
src/AIS/AIS_PerpendicularRelation.hxx
src/AIS/AIS_PointCloud.cxx
src/AIS/AIS_Relation.hxx
src/AIS/AIS_Shape.cxx
src/AIS/AIS_SymmetricRelation.hxx
src/AIS/AIS_TangentRelation.hxx
src/AIS/AIS_TexturedShape.cxx
src/AIS/AIS_Triangulation.cxx
src/AIS/AIS_Triangulation.hxx
src/DsgPrs/DsgPrs.cxx
src/DsgPrs/DsgPrs.hxx
src/DsgPrs/DsgPrs_AnglePresentation.hxx
src/DsgPrs/DsgPrs_Chamf2dPresentation.hxx
src/DsgPrs/DsgPrs_ConcentricPresentation.hxx
src/DsgPrs/DsgPrs_DiameterPresentation.hxx
src/DsgPrs/DsgPrs_EllipseRadiusPresentation.hxx
src/DsgPrs/DsgPrs_EqualDistancePresentation.hxx
src/DsgPrs/DsgPrs_EqualRadiusPresentation.hxx
src/DsgPrs/DsgPrs_FilletRadiusPresentation.hxx
src/DsgPrs/DsgPrs_FixPresentation.hxx
src/DsgPrs/DsgPrs_IdenticPresentation.hxx
src/DsgPrs/DsgPrs_LengthPresentation.hxx
src/DsgPrs/DsgPrs_MidPointPresentation.hxx
src/DsgPrs/DsgPrs_OffsetPresentation.hxx
src/DsgPrs/DsgPrs_ParalPresentation.hxx
src/DsgPrs/DsgPrs_PerpenPresentation.hxx
src/DsgPrs/DsgPrs_RadiusPresentation.hxx
src/DsgPrs/DsgPrs_ShadedPlanePresentation.hxx
src/DsgPrs/DsgPrs_ShapeDirPresentation.hxx
src/DsgPrs/DsgPrs_SymbPresentation.hxx
src/DsgPrs/DsgPrs_SymmetricPresentation.hxx
src/DsgPrs/DsgPrs_TangentPresentation.hxx
src/DsgPrs/DsgPrs_XYZAxisPresentation.hxx
src/DsgPrs/DsgPrs_XYZPlanePresentation.hxx
src/Graphic3d/FILES
src/Graphic3d/Graphic3d_CView.cxx
src/Graphic3d/Graphic3d_CView.hxx
src/Graphic3d/Graphic3d_IndexedMapOfAddress.hxx [deleted file]
src/Graphic3d/Graphic3d_Structure.cxx
src/Graphic3d/Graphic3d_Structure.hxx
src/Graphic3d/Graphic3d_StructureManager.cxx
src/Graphic3d/Graphic3d_StructureManager.hxx
src/MeshVS/MeshVS_ElementalColorPrsBuilder.hxx
src/MeshVS/MeshVS_Mesh.cxx
src/MeshVS/MeshVS_Mesh.hxx
src/MeshVS/MeshVS_MeshPrsBuilder.hxx
src/MeshVS/MeshVS_NodalColorPrsBuilder.hxx
src/MeshVS/MeshVS_PrsBuilder.hxx
src/MeshVS/MeshVS_TextPrsBuilder.hxx
src/MeshVS/MeshVS_VectorPrsBuilder.hxx
src/Prs3d/FILES
src/Prs3d/Prs3d.hxx
src/Prs3d/Prs3d_Presentation.cxx [deleted file]
src/Prs3d/Prs3d_Presentation.hxx
src/Prs3d/Prs3d_PresentationShadow.cxx
src/Prs3d/Prs3d_PresentationShadow.hxx
src/PrsMgr/FILES
src/PrsMgr/PrsMgr_ModedPresentation.cxx [deleted file]
src/PrsMgr/PrsMgr_ModedPresentation.hxx [deleted file]
src/PrsMgr/PrsMgr_PresentableObject.cxx
src/PrsMgr/PrsMgr_PresentableObject.hxx
src/PrsMgr/PrsMgr_Presentation.cxx
src/PrsMgr/PrsMgr_Presentation.hxx
src/PrsMgr/PrsMgr_PresentationManager.cxx
src/PrsMgr/PrsMgr_PresentationManager.hxx
src/PrsMgr/PrsMgr_Presentations.hxx
src/PrsMgr/PrsMgr_Prs.cxx [deleted file]
src/PrsMgr/PrsMgr_Prs.hxx [deleted file]
src/QABugs/QABugs_PresentableObject.hxx
src/SelectMgr/SelectMgr_SelectableObject.hxx
src/StdPrs/StdPrs_Curve.hxx
src/StdPrs/StdPrs_DeflectionCurve.hxx
src/StdPrs/StdPrs_HLRPolyShape.hxx
src/StdPrs/StdPrs_Plane.hxx
src/StdPrs/StdPrs_PoleCurve.hxx
src/StdPrs/StdPrs_ShadedShape.hxx
src/StdPrs/StdPrs_ShadedSurface.hxx
src/StdPrs/StdPrs_WFDeflectionRestrictedFace.hxx
src/StdPrs/StdPrs_WFDeflectionSurface.hxx
src/StdPrs/StdPrs_WFPoleSurface.hxx
src/StdPrs/StdPrs_WFSurface.hxx
src/StdSelect/StdSelect_Shape.hxx
src/ViewerTest/ViewerTest.cxx
src/XCAFPrs/XCAFPrs_AISObject.cxx