DiscussionsIssue archiveOCCT:Visualization

Archived issue #0025808

Visualization - Initialization of Prs3d_PointAspect by custom Graphic3d_AspectMarker3d

Open CASCADEOCCT:Visualizationclosed20 public notes

Search issues

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.

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.

01Commenter 2
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
02Commenter 2
The constructor is implemented in the branch CR25808
03Commenter 3
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.
04Commenter 2
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

05Commenter 5
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.
06Commenter 3
+Prs3d_ArrowAspect::Prs3d_ArrowAspect( const Handle( Graphic3d_AspectLine3d )& theAspect )
+{
+  myArrowAspect = theAspect;
+}

not all class fields have been initialized.
07Commenter 2
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

08Commenter 8
Class fields are initialized now
09Commenter 2
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

10Commenter 3
    Merge branch 'CR25808' of git.dev.opencascade.org:occt into CR25808

please prepare the patch following OCCT bug processing rules.
11Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
12Commenter 12
Done
13Commenter 3
Please use gitweb interface to see how your branch is looks alike:
http://git.dev.opencascade.org/gitweb/?p=occt.git;a=summary
14Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
15Commenter 15
The commit history is cleaned
16Commenter 3
Please test the patch.
17Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
18Commenter 18
Branch [archived branch] has been rebased on the current master
19Commenter 19
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
20Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]