View Issue Details

IDProjectCategoryView StatusLast Update
0030675Open CASCADEOCCT:Visualizationpublic2020-11-23 17:47
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030675: Visualization - remove redundant proxy classes in hierarchy of PrsMgr_Presentation
DescriptionClass PrsMgr_ModedPresentation does nothing but stores display mode index and PrsMgr_Presentation instance.

It is suggested removing dummy class.
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot required

Relationships

related to 0030674 closedbugmaster Open CASCADE Visualization, AIS_InteractiveObject - fix accessibility of several properties 
related to 0025341 closedapn Open CASCADE Visualization - disallow displaying object as part of connected one and as a free one at the same time 
parent of 0031642 closedbugmaster Community Visualization - crash in Graphic3d_Structure::SetVisual() on redisplaying edge in AIS_Shape 
related to 0030687 closedkgv Open CASCADE Visualization - remove redundant interfaces SelectBasics_EntityOwner and SelectBasics_SensitiveEntity 

Activities

git

2019-04-24 19:59

administrator   ~0083972

Branch CR30675 has been created by kgv.

SHA-1: 8529f71038b866e10effb6d73fe5ea3fb8e60fb8


Detailed log of new commits:

Author: kgv
Date: Wed Apr 24 19:53:17 2019 +0300

    0030675: Visualization - remove redundant class PrsMgr_ModedPresentation

Author: kgv
Date: Wed Apr 24 18:50:29 2019 +0300

    0030669: Visualization - AIS_Manipulator ignores parent transformation
    
    AIS_Manipulator::Transform() now considers object parent transformation.
    
    Added new command vchild for easier testing of low-level connections between presentations.

Author: kgv
Date: Thu Apr 4 09:44:16 2019 +0300

    0030674: Visualization, AIS_InteractiveObject - fix accessibility of several properties
    
    AIS_InteractiveObject/SelectMgr_SelectableObject/PrsMgr_PresentableObject
    - added missing getters;
    - removed redundant private sections;
    - improved documentation;
    - AIS_InteractiveObject::Compute() marked as pure interface;
    - methods within this hierarchy have been moved to the base class, when reasonable.
    
    Removed redundant typedefs to pointers (PrsMgr_PresentationPointer, PrsMgr_PresentableObjectPointer).

git

2019-04-24 20:48

administrator   ~0083974

Branch CR30675 has been updated by kgv.

SHA-1: 4ef91599ef488f73ef6903904994c9b62f37f117


Detailed log of new commits:

Author: kgv
Date: Wed Apr 24 20:42:15 2019 +0300

    PrsMgr_Prs proxy class has been removed and PrsMgr_Presentation now inherits Prs3d_Presentation.

git

2019-04-24 21:58

administrator   ~0083978

Branch CR30675 has been updated forcibly by kgv.

SHA-1: 725b0a0b759b708bacde2ff7d47c7357a4778217

git

2019-04-25 01:19

administrator   ~0083980

Branch CR30675 has been updated forcibly by kgv.

SHA-1: 8446ed4016d85a3dce5fa2a98c79ec5bf783ea9a

git

2019-04-25 13:14

administrator   ~0083985

Branch CR30675 has been updated forcibly by kgv.

SHA-1: 2971c3c8fa576dde0b31203f4a1c0bd1d33a6d8b

git

2019-04-25 13:23

administrator   ~0083986

Branch CR30675 has been updated by kgv.

SHA-1: 3e2c9369a291c007409e622eae5c57b878071270


Detailed log of new commits:

Author: kgv
Date: Thu Apr 25 13:16:49 2019 +0300

    Graphic3d_Structure - avoid redundant casts

git

2019-04-25 18:26

administrator   ~0083991

Branch CR30675 has been updated forcibly by kgv.

SHA-1: 1593a53cf6b9585ebfd1158950649c52f36990d7

git

2019-04-25 18:26

administrator   ~0083992

Branch CR30675 has been updated by kgv.

SHA-1: 82d9305b9a97674a90712a2ef3a2eefdf79b678e


Detailed log of new commits:

Author: kgv
Date: Thu Apr 25 18:19:57 2019 +0300

    Avoid forward declaration of Prs3d_Presentation class.

git

2019-04-25 18:29

administrator   ~0083993

Branch CR30675 has been updated forcibly by kgv.

SHA-1: 330a3c6d27bc465b22d95474fc2987cdc9b87e63

git

2019-04-25 18:49

administrator   ~0083994

Branch CR30675 has been updated by kgv.

SHA-1: 8de7b42a106cb451f58cf8d41003fe063d92f848


Detailed log of new commits:

Author: kgv
Date: Thu Apr 25 18:42:56 2019 +0300

    Remove redundant proxy class Prs3d_Presentation.

git

2019-04-25 21:16

administrator   ~0083998

Branch CR30675 has been updated by kgv.

SHA-1: 4bd0da7d091f58679e3f4ae4243f19758007c644


Detailed log of new commits:

Author: kgv
Date: Thu Apr 25 21:10:00 2019 +0300

    # workaround crash

git

2019-04-25 23:52

administrator   ~0084001

Branch CR30675 has been updated forcibly by kgv.

SHA-1: 7f6f5685c7d2ecb2ba0dbb7d701864b89ae40220

git

2019-04-26 02:11

administrator   ~0084002

Branch CR30675_1 has been created by kgv.

SHA-1: 42da91c536f88fbd2fa93ebb666b910bda25cec1


Detailed log of new commits:

Author: kgv
Date: Wed Apr 24 19:53:17 2019 +0300

    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.

kgv

2019-04-26 02:12

developer   ~0084003

Patch is ready for review.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30675-CR30675-2-KGV/

san

2019-04-29 20:23

developer   ~0084055

Branch CR30675_1 in occt and branch CR30675 in occt-products reviewed without remarks.

bugmaster

2019-04-30 14:02

administrator   ~0084070

Combination -
OCCT branch : CR30675
master SHA - 7f6f5685c7d2ecb2ba0dbb7d701864b89ae40220
d67d4b811012eef8913d3c535c29654d0acf3c4c
Products branch : CR30675 SHA - 97dbf29f29d1c384199547002bb8af7375776740
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16530.159999999938 / 16536.609999999906 [-0.04%]
Products
Total CPU difference: 10554.980000000041 / 10546.95000000005 [+0.08%]
Windows-64-VC14:
OCCT
Total CPU difference: 18076.59375 / 17960.6875 [+0.65%]
Products
Total CPU difference: 12145.296875 / 12065.3125 [+0.66%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2019-04-30 14:12

administrator   ~0084071

Branch CR30675_1 has been updated by kgv.

SHA-1: 7d0057a4423b7eff3a9e15c40a4f2c5f72d91c22


Detailed log of new commits:

Author: kgv
Date: Tue Apr 30 14:05:45 2019 +0300

    # remarks: make Graphic3d_StructureManager::Connect() definition symmetric to Disconnect()
    # passing structure by pointer.

git

2019-04-30 14:23

administrator   ~0084072

Branch CR30675_2 has been created by kgv.

SHA-1: 46d46e24785337b24f04e096981025930597eba4


Detailed log of new commits:

Author: kgv
Date: Wed Apr 24 19:53:17 2019 +0300

    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.

git

2019-05-04 13:32

administrator   ~0084129

Branch CR30675_3 has been created by kgv.

SHA-1: 9309fc6da27ba137f014021a45dabe9cfc625379


Detailed log of new commits:

Author: kgv
Date: Sat May 4 13:25:10 2019 +0300

    # 0030675 - fix inaccessibility of PrsMgr_Presentation methods

kgv

2019-05-04 13:34

developer   ~0084130

Dear bugmaster,

please amend a correction pushed to CR30675_3 branch (based on IR-WEEK18).

git

2019-05-08 13:41

administrator   ~0084245

Branch CR30675_3 has been deleted by inv.

SHA-1: 9309fc6da27ba137f014021a45dabe9cfc625379

git

2019-05-08 13:41

administrator   ~0084248

Branch CR30675_2 has been deleted by inv.

SHA-1: 46d46e24785337b24f04e096981025930597eba4

git

2019-05-08 13:41

administrator   ~0084249

Branch CR30675_1 has been deleted by inv.

SHA-1: 7d0057a4423b7eff3a9e15c40a4f2c5f72d91c22

git

2019-05-08 13:42

administrator   ~0084254

Branch CR30675 has been deleted by inv.

SHA-1: 7f6f5685c7d2ecb2ba0dbb7d701864b89ae40220

Related Changesets

occt: master 7dd7c146

2019-04-24 16:53:17

kgv


Committer: bugmaster Details Diff
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
Affected Issues
0030675
mod - dox/dev_guides/upgrade/upgrade.md Diff File
mod - src/AIS/AIS.cxx Diff File
mod - src/AIS/AIS.hxx Diff File
mod - src/AIS/AIS_Chamf2dDimension.hxx Diff File
mod - src/AIS/AIS_Chamf3dDimension.hxx Diff File
mod - src/AIS/AIS_ConcentricRelation.hxx Diff File
mod - src/AIS/AIS_ConnectedInteractive.cxx Diff File
mod - src/AIS/AIS_EqualDistanceRelation.hxx Diff File
mod - src/AIS/AIS_EqualRadiusRelation.hxx Diff File
mod - src/AIS/AIS_FixRelation.hxx Diff File
mod - src/AIS/AIS_InteractiveContext.cxx Diff File
mod - src/AIS/AIS_InteractiveContext_2.cxx Diff File
mod - src/AIS/AIS_InteractiveObject.cxx Diff File
mod - src/AIS/AIS_InteractiveObject.hxx Diff File
mod - src/AIS/AIS_LengthDimension.hxx Diff File
mod - src/AIS/AIS_MaxRadiusDimension.hxx Diff File
mod - src/AIS/AIS_MidPointRelation.hxx Diff File
mod - src/AIS/AIS_MinRadiusDimension.hxx Diff File
mod - src/AIS/AIS_MultipleConnectedInteractive.cxx Diff File
mod - src/AIS/AIS_OffsetDimension.hxx Diff File
mod - src/AIS/AIS_ParallelRelation.hxx Diff File
mod - src/AIS/AIS_PerpendicularRelation.hxx Diff File
mod - src/AIS/AIS_PointCloud.cxx Diff File
mod - src/AIS/AIS_Relation.hxx Diff File
mod - src/AIS/AIS_Shape.cxx Diff File
mod - src/AIS/AIS_SymmetricRelation.hxx Diff File
mod - src/AIS/AIS_TangentRelation.hxx Diff File
mod - src/AIS/AIS_TexturedShape.cxx Diff File
mod - src/AIS/AIS_Triangulation.cxx Diff File
mod - src/AIS/AIS_Triangulation.hxx Diff File
mod - src/DsgPrs/DsgPrs.cxx Diff File
mod - src/DsgPrs/DsgPrs.hxx Diff File
mod - src/DsgPrs/DsgPrs_AnglePresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_Chamf2dPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_ConcentricPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_DiameterPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_EllipseRadiusPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_EqualDistancePresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_EqualRadiusPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_FilletRadiusPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_FixPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_IdenticPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_LengthPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_MidPointPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_OffsetPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_ParalPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_PerpenPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_RadiusPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_ShadedPlanePresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_ShapeDirPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_SymbPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_SymmetricPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_TangentPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_XYZAxisPresentation.hxx Diff File
mod - src/DsgPrs/DsgPrs_XYZPlanePresentation.hxx Diff File
mod - src/Graphic3d/FILES Diff File
mod - src/Graphic3d/Graphic3d_CView.cxx Diff File
mod - src/Graphic3d/Graphic3d_CView.hxx Diff File
rm - src/Graphic3d/Graphic3d_IndexedMapOfAddress.hxx Diff File
mod - src/Graphic3d/Graphic3d_Structure.cxx Diff File
mod - src/Graphic3d/Graphic3d_Structure.hxx Diff File
mod - src/Graphic3d/Graphic3d_StructureManager.cxx Diff File
mod - src/Graphic3d/Graphic3d_StructureManager.hxx Diff File
mod - src/MeshVS/MeshVS_ElementalColorPrsBuilder.hxx Diff File
mod - src/MeshVS/MeshVS_Mesh.cxx Diff File
mod - src/MeshVS/MeshVS_Mesh.hxx Diff File
mod - src/MeshVS/MeshVS_MeshPrsBuilder.hxx Diff File
mod - src/MeshVS/MeshVS_NodalColorPrsBuilder.hxx Diff File
mod - src/MeshVS/MeshVS_PrsBuilder.hxx Diff File
mod - src/MeshVS/MeshVS_TextPrsBuilder.hxx Diff File
mod - src/MeshVS/MeshVS_VectorPrsBuilder.hxx Diff File
mod - src/Prs3d/FILES Diff File
mod - src/Prs3d/Prs3d.hxx Diff File
rm - src/Prs3d/Prs3d_Presentation.cxx Diff File
mod - src/Prs3d/Prs3d_Presentation.hxx Diff File
mod - src/Prs3d/Prs3d_PresentationShadow.cxx Diff File
mod - src/Prs3d/Prs3d_PresentationShadow.hxx Diff File
mod - src/PrsMgr/FILES Diff File
rm - src/PrsMgr/PrsMgr_ModedPresentation.cxx Diff File
rm - src/PrsMgr/PrsMgr_ModedPresentation.hxx Diff File
mod - src/PrsMgr/PrsMgr_PresentableObject.cxx Diff File
mod - src/PrsMgr/PrsMgr_PresentableObject.hxx Diff File
mod - src/PrsMgr/PrsMgr_Presentation.cxx Diff File
mod - src/PrsMgr/PrsMgr_Presentation.hxx Diff File
mod - src/PrsMgr/PrsMgr_PresentationManager.cxx Diff File
mod - src/PrsMgr/PrsMgr_PresentationManager.hxx Diff File
mod - src/PrsMgr/PrsMgr_Presentations.hxx Diff File
rm - src/PrsMgr/PrsMgr_Prs.cxx Diff File
rm - src/PrsMgr/PrsMgr_Prs.hxx Diff File
mod - src/QABugs/QABugs_PresentableObject.hxx Diff File
mod - src/SelectMgr/SelectMgr_SelectableObject.hxx Diff File
mod - src/StdPrs/StdPrs_Curve.hxx Diff File
mod - src/StdPrs/StdPrs_DeflectionCurve.hxx Diff File
mod - src/StdPrs/StdPrs_HLRPolyShape.hxx Diff File
mod - src/StdPrs/StdPrs_Plane.hxx Diff File
mod - src/StdPrs/StdPrs_PoleCurve.hxx Diff File
mod - src/StdPrs/StdPrs_ShadedShape.hxx Diff File
mod - src/StdPrs/StdPrs_ShadedSurface.hxx Diff File
mod - src/StdPrs/StdPrs_WFDeflectionRestrictedFace.hxx Diff File
mod - src/StdPrs/StdPrs_WFDeflectionSurface.hxx Diff File
mod - src/StdPrs/StdPrs_WFPoleSurface.hxx Diff File
mod - src/StdPrs/StdPrs_WFSurface.hxx Diff File
mod - src/StdSelect/StdSelect_Shape.hxx Diff File
mod - src/ViewerTest/ViewerTest.cxx Diff File
mod - src/XCAFPrs/XCAFPrs_AISObject.cxx Diff File

Issue History

Date Modified Username Field Change
2019-04-24 19:53 kgv New Issue
2019-04-24 19:53 kgv Assigned To => kgv
2019-04-24 19:53 kgv Relationship added related to 0030674
2019-04-24 19:59 git Note Added: 0083972
2019-04-24 20:48 git Note Added: 0083974
2019-04-24 21:58 git Note Added: 0083978
2019-04-25 01:19 git Note Added: 0083980
2019-04-25 13:14 git Note Added: 0083985
2019-04-25 13:23 git Note Added: 0083986
2019-04-25 18:26 git Note Added: 0083991
2019-04-25 18:26 git Note Added: 0083992
2019-04-25 18:29 git Note Added: 0083993
2019-04-25 18:49 git Note Added: 0083994
2019-04-25 21:16 git Note Added: 0083998
2019-04-25 23:52 git Note Added: 0084001
2019-04-26 02:09 kgv Summary Visualization - remove redundant class PrsMgr_ModedPresentation => Visualization - remove redundant proxy classes in hierarchy of PrsMgr_Presentation
2019-04-26 02:11 git Note Added: 0084002
2019-04-26 02:12 kgv Note Added: 0084003
2019-04-26 02:12 kgv Assigned To kgv => san
2019-04-26 02:12 kgv Status new => resolved
2019-04-26 12:23 kgv Relationship added related to 0025341
2019-04-29 20:23 san Note Added: 0084055
2019-04-29 20:23 san Assigned To san => bugmaster
2019-04-29 20:23 san Status resolved => reviewed
2019-04-30 13:59 bugmaster Test case number => Not required
2019-04-30 14:02 bugmaster Note Added: 0084070
2019-04-30 14:02 bugmaster Status reviewed => tested
2019-04-30 14:12 git Note Added: 0084071
2019-04-30 14:23 git Note Added: 0084072
2019-05-01 14:12 kgv Relationship added related to 0030687
2019-05-04 13:32 git Note Added: 0084129
2019-05-04 13:34 kgv Note Added: 0084130
2019-05-08 12:38 bugmaster Changeset attached => occt master 7dd7c146
2019-05-08 12:38 bugmaster Status tested => verified
2019-05-08 12:38 bugmaster Resolution open => fixed
2019-05-08 13:41 git Note Added: 0084245
2019-05-08 13:41 git Note Added: 0084248
2019-05-08 13:41 git Note Added: 0084249
2019-05-08 13:42 git Note Added: 0084254
2020-06-30 17:15 kgv Relationship added parent of 0031642