Archived issue #0025808
Visualization - Initialization of Prs3d_PointAspect by custom Graphic3d_AspectMarker3d
Description
It is necessary to have the possibility to initialize the Prs3d_PointAspect by custom Graphic3d_AspectMarker3d.
For example, it is necessary if Graphic3d aspect is custom (e.g. it uses point textures), but the object to which the aspect should be applied is AIS. But AIS objects aspects are managed via Prs3d classes, see for example, AIS_InterativeObject and AIS_Drawer classes.
Thus, it is proposed to implement a special constructor of the Prs3d_PointAspect class accepting the Graphic3d_AspectMarker3d instance and copying the handle into the internal class field.
For example, it is necessary if Graphic3d aspect is custom (e.g. it uses point textures), but the object to which the aspect should be applied is AIS. But AIS objects aspects are managed via Prs3d classes, see for example, AIS_InterativeObject and AIS_Drawer classes.
Thus, it is proposed to implement a special constructor of the Prs3d_PointAspect class accepting the Graphic3d_AspectMarker3d instance and copying the handle into the internal class field.
Steps to reproduce
Necessary constructors and SetAspect() methods are absent for Prs3d aspect classes.
Public activity
20 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Mon Feb 9 16:55:08 2015 +0300
the constructor accepting the Graphic3d_AspectMarker3d is implemented
[revision removed]
Detailed log of new commits:
Author: Author
Date: Mon Feb 9 16:55:08 2015 +0300
the constructor accepting the Graphic3d_AspectMarker3d is implemented
The constructor is implemented in the branch CR25808
Please make this functionality consistent within different aspect types.
For now Prs3d_ShadingAspect has method SetAspect(), your patch proposes new constructor for Prs3d_PointAspect, and there no alternatives for some other aspect classes.
For now Prs3d_ShadingAspect has method SetAspect(), your patch proposes new constructor for Prs3d_PointAspect, and there no alternatives for some other aspect classes.
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Feb 24 09:18:26 2015 +0300
0025808: constructor with graphic3d aspect and SetAspect() method are implemented for other aspect classes
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Feb 24 09:18:26 2015 +0300
0025808: constructor with graphic3d aspect and SetAspect() method are implemented for other aspect classes
For 5 aspect classes:
Prs3d_ArrowAspect
Prs3d_LineAspect
Prs3d_PointAspect
Prs3d_ShadingAspect
Prs3d_TextAspect
it has been implemented the constructor accepting the corresponding Graphic3d aspect and the method SetAspect() necessary to replace the current Graphic3d aspect by given one.
Prs3d_ArrowAspect
Prs3d_LineAspect
Prs3d_PointAspect
Prs3d_ShadingAspect
Prs3d_TextAspect
it has been implemented the constructor accepting the corresponding Graphic3d aspect and the method SetAspect() necessary to replace the current Graphic3d aspect by given one.
+Prs3d_ArrowAspect::Prs3d_ArrowAspect( const Handle( Graphic3d_AspectLine3d )& theAspect )
+{
+ myArrowAspect = theAspect;
+}
not all class fields have been initialized.
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Alexander SOLOVYOV
Date: Wed Feb 25 09:59:12 2015 +0300
0025808: patch for non-initialized variables
[revision removed]
Detailed log of new commits:
Author: Alexander SOLOVYOV
Date: Wed Feb 25 09:59:12 2015 +0300
0025808: patch for non-initialized variables
Class fields are initialized now
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Feb 25 13:34:26 2015 +0300
Merge branch 'CR25808' of git.dev.opencascade.org:occt into CR25808
Author: Author
Date: Wed Feb 25 13:33:57 2015 +0300
0025808: patch for non-initialized variables
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Feb 25 13:34:26 2015 +0300
Merge branch 'CR25808' of git.dev.opencascade.org:occt into CR25808
Author: Author
Date: Wed Feb 25 13:33:57 2015 +0300
0025808: patch for non-initialized variables
Merge branch 'CR25808' of git.dev.opencascade.org:occt into CR25808
please prepare the patch following OCCT bug processing rules.
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Done
Please use gitweb interface to see how your branch is looks alike:
http://git.dev.opencascade.org/gitweb/?p=occt.git;a=summary
http://git.dev.opencascade.org/gitweb/?p=occt.git;a=summary
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
The commit history is cleaned
Please test the patch.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been rebased on the current master
Dear Commenter 1,
Branch CR25808 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 18 (18 on master)
Windows: 2 (2 on master)
products component:
Linux: 11 (11 on master)
Windows: 4 (4 on master)
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 91547374 / 91877140
Total CPU difference: 56956.470000000256 / 59519.03999999998
Testing on Windows:
Total MEMORY difference: 57943339 / 57944267
Total CPU difference: 34583.84375 / 38926.375
Branch CR25808 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 18 (18 on master)
Windows: 2 (2 on master)
products component:
Linux: 11 (11 on master)
Windows: 4 (4 on master)
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 91547374 / 91877140
Total CPU difference: 56956.470000000256 / 59519.03999999998
Testing on Windows:
Total MEMORY difference: 57943339 / 57944267
Total CPU difference: 34583.84375 / 38926.375
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]