DiscussionsIssue archiveOCCT:Inspectors

Archived issue #0031362

Inspectors - MessageView plugin for message alerts

Open CASCADEOCCT:Inspectorsclosed19 public notes

Search issues

Description

Implement plugin in Inspector to visualize content of Message_Report.

Public activity

19 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: Tue Apr 20 13:03:15 2021 +0300

    dfbrowser: dumpjson possibility by state

Author: Author
Date: Tue Oct 27 19:24:59 2020 +0300

    0031362: Inspectors - MessageView plugin for message alerts
    
    - OSD_Timer in message alert,
    - DumpJson correction,
    - Selection owner should be dumped in selector. Sensitive entities might be used in the same owner, that leads to lots of the same dump in the result stream.
    - Inspector tools improvements
    - 0031959: Inspectors - Statistics by name,
    - 0032068: Inspectors - Last command don't have the time value
    
    (cherry picked from [revision removed])
    (cherry picked from [revision removed])
02Commenter 2
Branch [archived branch] has been deleted by Author.

[revision removed]
03Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Mon Apr 26 18:01:38 2021 +0300

    0031362: Inspectors - MessageView plugin for message alerts
    
    - append new MessageView plugin to display content of Message_Report;
    
    - correct DumpJson of TDataStd array attributes to print Lower/Upper values;
    - correct remove level of Message_Report to store stop time during removing all levels;
    - append DumpJson for TFunction, TPrsStd attributes;
    - correct DumpJson of XCAFDoc tools due to simplify performance of it;
    - move AttributeInfo into public method to call it outside;
    - remove obsolete pane classes in DFBrowser plugin, now we may use DumpJSon panel to visualize this content of attributes;
    - add new property panel in DFBrowser (synchronized with the same in other plugins);
    - add button to switch ON DumpJson in DFBrowser(OFF by default, for better performance), also there is a context menu item in tree view;
    - rename in DFBrowser "Property Panel" into "Property Panel (custom)";
    - implement ViewControl_ColorSeletor and setting color in TreeModel_ItemProperties. Use only for light in VInspector now;
    - implement setting false for all created AIS_Shape presentation to don't modify source TopoDS_Shape;
    - remove not use VInspector_CallBack. It's possible using Message_Report/MessageView to track commands way;
    - remove History panel in VInspector as not used, MessageView will be better solution for this;
    - implement item and actions in VInspector for setting Lights in the view.
04Author
Dear Kirill,

could you please, review.

[signature removed]Natalia
05Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
06Commenter 3
+    di << anInfo.ToCString();
...
+      anInfo += TCollection_AsciiString (" ==> ") + ref.ToCString();
...
+    anInfo += TCollection_AsciiString ( myCentroid.X() ).ToCString();

Redundant .ToCString() in several places within this function.

+      anInfo += TCollection_AsciiString ( "," );

These TCollection_AsciiString() looks redundant too, but I guess they are used for consistency.

+  Standard_EXPORT static TCollection_AsciiString AttributeInfo (Handle(TDF_Attribute) att);

const Handle(TDF_Attribute)& theAtt

+  Standard_EXPORT static void CreatePresentation (const Handle(Geom_Line)& theLine,
+    NCollection_List<Handle(Standard_Transient)>& thePresentations);

Is it intended design, or maybe replacing NCollection_List<Handle(Standard_Transient)> with NCollection_List<Handle(AIS_InteractiveObject)>?

+  //! \param thePresentations container to collect new presentation/s

Misprint in "presentation/s".

--- /dev/null
+++ b/tools/VInspector/VInspector_PresentationLight.hxx

If this tool is really necessary (e.g. AIS_LightSource is not suitable for some reason), could you please move this feature to a dedicated patch?
And it would be helpful to document the difference from AIS class in VInspector_PresentationLight description to avoid confusion.

--- a/tools/TKDFBrowser/EXTERNLIB
+++ b/tools/TKDFBrowser/EXTERNLIB
@@ -24,4 +24,5 @@ TKV3d
 TKTInspectorAPI
 TKTreeModel
 TKShapeView
+TKXDEDRAW

This might be fine, but introducing DFBrowser dependency from Draw Harness might imply undesired side effects (like crashes somewhere in tcl.dll on application exit reported by some users) in applications not initializing Tcl interpretor, but depending on TKDraw/tcl libraries with their global variables.
It might be reasonable moving XDEDRAW::AttributeInfo() to some location not in Draw Harness.
07Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed May 12 21:20:33 2021 +0300

    fix for warnings on Debian

Author: Author
Date: Wed May 12 21:15:16 2021 +0300

    moving AttributeInfo from XDEDRAW to XCAFDoc.

Author: Author
Date: Wed May 12 19:57:20 2021 +0300

    fix for remarks

08Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
09Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Mon Apr 26 18:01:38 2021 +0300

    0031362: Inspectors - MessageView plugin for message alerts
    
    - append new MessageView plugin to display content of Message_Report;
    
    - correct DumpJson of TDataStd array attributes to print Lower/Upper values;
    - correct remove level of Message_Report to store stop time during removing all levels;
    - append DumpJson for TFunction, TPrsStd attributes;
    - correct DumpJson of XCAFDoc tools due to simplify performance of it;
    - move AttributeInfo functionality from XDEDRAW into a static public method of XCAFDoc to call it outside;
    - remove obsolete pane classes in DFBrowser plugin, now we may use DumpJSon panel to visualize this content of attributes;
    - add new property panel in DFBrowser (synchronized with the same in other plugins);
    - add button to switch ON DumpJson in DFBrowser(OFF by default, for better performance), also there is a context menu item in tree view;
    - rename in DFBrowser "Property Panel" into "Property Panel (custom)";
    - implement ViewControl_ColorSeletor and setting color in TreeModel_ItemProperties. Use only for light in VInspector now;
    - implement setting false for all created AIS_Shape presentation to don't modify source TopoDS_Shape;
    - remove not use VInspector_CallBack. It's possible using Message_Report/MessageView to track commands way;
    - remove History panel in VInspector as not used, MessageView will be better solution for this;
    - implement item and actions in VInspector for setting Lights in the view.
10Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
11Author
Dear Kirill,
remarks are corrected. Additional information:
- implementation of 'AttributeInfo' is moved into XCAFDoc (so, we needn't link in TKDFBrowser to TKDraw;
- 'Is it intended design... using Standard_Transient, not AIS_InteractiveObject'? Yes, firstly, it allows to avoid depending on uplevel V3d library (in TreeModel), secondly, any other Handle might be placed in Standard_Transient and later covered by e.g. AIS_InteractiveObject. It might be for example Convert_TransientShape, that covers TopoDS_Shape.
- modifications related to VInspector_PresentationLight is removed. AIS_LightSource also is not used now in Inspector.

Please, review it once again,
Jenkins job is: http://jenkins-test-occt.nnov.opencascade.com/view/CR31362-master-nds/view/ALL/

Thank you for help, Natalia
12Commenter 1
Assigning to NDS. Get results of compilation
13Commenter 1
14Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Mon May 17 16:57:57 2021 +0300

    0031362: correction compilation for qt 4.8.4.
15Author
Dear Igor,
please cherry pick the last integration from CR31362_4 and restart build procedure.

Thank you in advance, Natalia
16Commenter 1
Combination -
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
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: 17862.650000000373 / 17879.470000000332 [-0.09%]
Products
Total CPU difference: 11535.410000000107 / 11557.880000000083 [-0.19%]
Windows-64-VC14:
OCCT
Total CPU difference: 19361.25 / 19400.171875 [-0.20%]
Products
Total CPU difference: 12920.28125 / 12880.234375 [+0.31%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
17Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
18Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
19Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records