InitFromJson method implementation for some simple classes.
OCCT_INIT_* defines introduction to do automatic parsing of the stream into values.
Inspector is extended to visualize objects created on the dump stream if it might be created.
(cherry picked from commit 6b63dc83c3)
# Conflicts:
# src/Standard/Standard_Dump.hxx
- Added possibility to send stream information and transient object into Message_Messenger. Message_Printer will process it if needed.
- Add Message_PrinterToReport to send messenger information into Message_Report.
- Extended Message_Report to collect hierarchical alerts, to be able to collect some metrics during alerts processing.
- Added Message_AlertExtended to prepare hierarchical alerts with custom attributes. One attribute for one alert.
- Added Message_CompositeAlerts class to handle a container of alerts.
- Added Message_Level to start a new hierarchical level by creating an instance, stop by destricting.
- Added Message_Attribute and inheritors to store custom information about alert like object, stream, shape, some metrics.
- Implement Message_AttributeAlert to collect start/stop information about active metrics of Message_Report. This kind of attribute is created if at least one metric is active in the report.
- Add Message_MetricType enumeration with possible kinds of metrics in report.
- Implement DumpJson for Message_Report to store all collected alerts into stream.
- Added draw commands for Message_Report, Message_Messenger.
(cherry picked from commit 6522304c17)
# Conflicts:
# src/Message/FILES
# src/Message/Message.hxx
# src/Message/Message_Messenger.hxx
# src/Message/Message_Printer.hxx
- Convert package creation. It is used to prepare some auxiliary presentations/methods to prepare variables for inspector based on occt classes.
- ViewControl package improvement:
Classes for property view, table, table model are implemented to visualize view of properties.
This view is filled by selection in tree if the selected object has implemented DumpJson functionality.
- TreeModel package improvements:
Method InitColumn is implemented in TreeModel_TreeModel to fill default columns in base model. The default columns are:
Name, Visibility, Rows. Additional columns should be added in successors.
Container of root items is moved into the base class
- View package imrovements:
Store preferences: display mode, fit all checked state and type of external context
View_DisplayPreview is added to process preview for selected in tree view objects
hide actions Clear, Multi, Single by default (as selection in tree view or Visibility state of item define which presentations should be displayed or erased)
- ShapeView plugin improvements:
Property View content based on DumpJson (columns in tree view for properties are removed),
Properties for TopoDS_Shape are displayed
Explode shape action in tree view to see content of shape by selected shape type. Type of displayed shapes is only preview, it is not used in export action.
Export shape into BREP. The previous implementation about BREP files in some directory and default view is removed.
- VInspector plugin imrovements:
Property View content based on DumpJson (columns in tree view for properties are removed),
Properties for AIS_InteractiveContext and AIS_InteractiveObject are displayed
obsolete classes to provide properties are removed.
- DFBrowser plugin improvements:
Property View content based on DumpJson is not used yet. But there is the USE_DUMPJSON macro. It's switch off by default.
If switch ON, it creates a Property View filled with DumpJson. It's a way of DFBrowser moving on this property view.
Init uses static variable CDF_Session::CurrentSession()->CurrentApplication to fill plugin if application in plugin is not set but OCAF application exists
- OCC_VERSION_HEX variable used for previous OCCT versions support (before 6.9.0 or 7.2.0) is removed
(cherry picked from commit 7e1c1e4869)
(cherry picked from commit 8a7e728175d13baf6d5e1ddc7663fdec8f4ed842)
- Provide DumpJson for geometrical, ocaf and visualization classes;
- Change depth parameter of DumpJson (constant is not obligate here)
- Introduce a new macro for transient objects to be called as the first row in DumpJson: OCCT_DUMP_TRANSIENT_CLASS_BEGIN. We need not put the class name in the macro, using get_type_name of Standard_Transient for it.
- change implementation of OCCT_DUMP_CLASS_BEGIN and OCCT_DUMP_TRANSIENT_CLASS_BEGIN. It is not an sentry more and it does not create a new hierarchy level. It appends a new row into the output stream: "className": <className>
- OCCT_DUMP_* does not require semicolon
- class header is included first in source files of TDataStd, TDocStd, TCAFDoc
(cherry picked from commit bc73b00672)
# Conflicts:
# src/AIS/AIS_Trihedron.cxx
# src/Geom/Geom_Conic.cxx
# src/Geom/Geom_Conic.hxx
# src/Geom/Geom_ElementarySurface.cxx
# src/Geom/Geom_ElementarySurface.hxx
# src/Geom2d/Geom2d_Conic.hxx
# src/Graphic3d/Graphic3d_BSDF.cxx
# src/Graphic3d/Graphic3d_MaterialAspect.hxx
# src/Graphic3d/Graphic3d_PBRMaterial.cxx
# src/Graphic3d/Graphic3d_PBRMaterial.hxx
# src/OpenGl/OpenGl_GraduatedTrihedron.hxx
# src/OpenGl/OpenGl_StencilTest.hxx
# src/Poly/Poly_Polygon2D.cxx
# src/Poly/Poly_Polygon2D.hxx
# src/Poly/Poly_Polygon3D.cxx
# src/Poly/Poly_PolygonOnTriangulation.cxx
# src/Quantity/Quantity_Color.cxx
# src/TDataStd/TDataStd_NamedData.hxx
# src/V3d/V3d_Viewer.hxx
# src/XCAFDoc/XCAFDoc_AssemblyItemId.cxx
# src/XCAFDoc/XCAFDoc_NoteBinData.cxx
# src/XCAFDoc/XCAFDoc_NoteComment.cxx
# src/XCAFDoc/XCAFDoc_NotesTool.cxx
# src/XCAFDoc/XCAFDoc_NotesTool.hxx
# src/XCAFDoc/XCAFDoc_VisMaterial.cxx
# src/XCAFDoc/XCAFDoc_VisMaterial.hxx
# src/XCAFDoc/XCAFDoc_VisMaterialCommon.hxx
# src/XCAFDoc/XCAFDoc_VisMaterialPBR.hxx
-Create a new package BRepPreviewAPI, inherited from BRepPrimAPI to create both, valid and degenerative shapes
-Create a new class BRepPreviewAPI_MakeBox for working with a box
Preview can be vertex, edge, rectangle or box
-BRepPrim_GWedge: in the case of non-valid data, the exception does not happen in the constructor, but at the moment of access to the shape
-BRepPrimAPI_MakeBox: myWedge is now not private, but protected, because used in BRepPreviewAPI_MakeBox which inherits from BRepPrimAPI_MakeBox
-Add tests for checking of a creation a preview in tests/geometry/preview (vertex, edge, rectangle, box)
-Update a command "box": add new parameters
(cherry picked from commit 10ac040338)
(cherry picked from commit e926516509df095cd9f1ddfd774b7e54df923c90)
1. new file Standard_Dump to prepare and parse Dump in JSON format for OCCT objects
2. some presentations cover the proposed dump functionality.
3. 'bounding', 'vaspects' has '-dumpJson' field to see the DumpJson result
4. Bnd_Box constructor with min/max points is implemented to use Dump of this class in Dump BVH_Box
5. Limitation (some classes of Graphic3d, Prs3d has not full filling for DumpJson)
(cherry picked from commit 0904aa6395)
# Conflicts:
# src/OpenGl/OpenGl_Group.hxx
# src/SelectMgr/SelectMgr_ViewerSelector.cxx
Added method OSD_MemInfo::SetActive() for disabling specific counter.
(cherry picked from commit eeeb58738f)
(cherry picked from commit 8ba570a1b6140ff2bf47d9c87baca8b846ffa755)
(cherry picked from commit 30ed014a3e726d75082c35519e3c6fbe29742dec)
(cherry picked from commit 82afec25b64d04d5d0b7cfa5aca20e9556495ef6)
(cherry picked from commit 157ba236509ca28aaed3eca18dedb72186ff1191)
(cherry picked from commit 851779a01e421d19ce4c683a4fcad513118b30ec)
Poly_Connect::Load() now uses NCollection_IncAllocator instead of new/delete
for allocation temporary sequence elements.
StdPrs_ShadedShape, fillFaceBoundaries() now uses NCollection_IncAllocator for temporary points.
(cherry picked from commit 26a8852696a6311eb9f8d19d556aa40e506750ab)
(cherry picked from commit 841b43a3785687b6496f76d8e03a7fb2a3b61e78)
- Fixed the exception
(cherry picked from commit e0d75dd7ab4938f9bb15aea1fc75c7f9290ceacb)
(cherry picked from commit 22cf5903afa0d88de856b30fdf9bf836c333951a)
Refactoring of BRepMesh_Delaun::isBoundToFrontier() to unwind the recursion loop.
(cherry picked from commit 012157a272)
(cherry picked from commit 5e79b5279e0f6a7a9fbb8e978f3fdcd0b766e051)
(cherry picked from commit 919432a8ed)
(cherry picked from commit 4477f12c4364729611674f2b388506fb2fb6cf23)
(cherry picked from commit 71b4fb4b10d050440971ca12af6d25e8989ec8ba)
(cherry picked from commit 7b296f0230)
(cherry picked from commit 93d0334ed84c0ea9163a55da791ab148bb14d0a4)
Font_TextFormatter inherits Standard_Transient, now it is given as a handle in functions.
Graphic3d_Text - extended with Font_TextFormatter to be able to have it filled out of text render. If it is not defined here, the default text formatter of context is used.
OpenGl_Context - has default Font_TextFormatter for rendering OpenGl_Text.
(cherry picked from commit 088d118ab9e3693a01c4c41e2bdad57c69d17bc9)
(cherry picked from commit 6131065fae)
(cherry picked from commit 713624228050b8f7db4d8b2e22c7edfd8c832471)
(cherry picked from commit b7fb7db6ae)
(cherry picked from commit 68be9e7b9c)
(cherry picked from commit 4401d8b29ba0fcc7d14ff0456a7204fe0ae5d29b)
(cherry picked from commit d9a231a9ce2499615952944cae1a0db6552db2e4)
(cherry picked from commit ab078490cd)
(cherry picked from commit 277ea0a15e589efd7128f915959a18a59ebdfd1c)
(cherry picked from commit 89d8a85dd8)
(cherry picked from commit 7bc6dba60c)
(cherry picked from commit d50043348c2ff6d755e3b41579a0686286e07649)
- Improve performance of the storage of the transparent state of the assembly leafs
(cherry picked from commit b050e0a15c06403adfa545ad793555491a0b6b9f)
(cherry picked from commit 7099619e5d)
(cherry picked from commit ccd4b101f5ab18ab3518b9779e88d687e2db6ff1)
Refactoring of the Line-Line intersection method strengthening the parallel and coincidence criteria to allow almost parallel lines have an intersection point.
Fixed license statements within files BRepGProp_MeshProps.cxx, BRepGProp_MeshProps.hxx,
OSD_ThreadPool.cxx and OSD_ThreadPool.hxx.
Removed non-ASCII char from BRepMesh_ModelHealer.hxx.
Graphic3d_Group::Text(...) are obsolete, AddText() should be used instead of these methods.
Graphic3d_Text is a new class for parameters necessary to fill OpenGl_Text. All parameters of Graphic3d_Group::Text() are moved into this class.
OpenGl_TextParam is removed, these fields were moved into Graphic3d_Text.
OpenGl_Text constructors/Init with OpenGl_TextParam parameter were removed. Constructor with Graphic3d_Text should be used instead of it.
Using OpenGl_Text Init() with OpenGl_TextParam should be now replaced on two cases. The first case is setting values into Graphic3d_Text and the second case is calling Reset() after. As example, look at modification in OpenGl_FrameStatsPrs.
- Fixed condition to allow proceeding of nested compounds;
- Added new key to "reshape" draw command to state a level of type until which requests are taken into account;
- Test case added.
Clipping range has been moved from SelectMgr_RectangularFrustum to SelectMgr_SelectingVolumeManager
and passed to frustum as an argument to Overlap() methods.
This fixes an issue when Clipping is customized per-object within SelectMgr_ViewerSelector::traverseObject()
in case when shallow copy of SelectMgr_SelectingVolumeManager is created
(frustums are copied from global frustum manager by Handle).