0027191: Documentation - redesign of information architecture -- revision (build) Revised documentation of building OCCT and third-parties; some related tags updated
0027191: Documentation - redesign of information architecture -- renaming (3) Move guides on documentation, tests, coding rules, contribution workflow to dox/contribution
0027191: Documentation - redesign of information architecture -- renaming (2) Move debug and upgrade user guides to corresponding folders on upper level Related: remove "debug" pattern from .gitignore to avoid ignoring relevant folder in dox
0031785: [REGRESSION] Application Framework - application crashes on reading XBF document in background thread Class CDF_Session is removed. Integrated previously but not described: 0029195: OCAF - ensure thread safety for different documents. Static local variables are eliminated in PCDM package. Global documents metadata look-up table and directory of opened documents are removed. Look-up table is maintained now as field in instances of the CDM_Application class. Methods providing iteration by components are removed from class CDF_Store; signature of methods returned Standard_ExtString is changed to return Handle(TCollection_HExtendedString). Support of different "Presentations" of documents is eliminated.
0031763: Foundation Classes - reporting of progress within parallel algorithms Classes Message_ProgressRange and Message_ProgressScope are improved to store start point of the range. Method Message_ProgressScope::Value() is improved to compute the value in the current scope from the actual current value of the global progress. Description of Message_ProgressScope class is improved. Off-topic: - method Message_ProgressScope::Relieve() is renamed to Close() for semantic consistency - article in Upgrade Guide is revised and corrected
0025748: Parallel version of progress indicator Progress indication mechanism is refactored to support incrementing progress within multithreaded algorithms. The class Message_ProgressIndicator is only an interface to the user application. It accumulates the progress provided by progress scopes. The counter is protected by mutex for thread-safety. The new class Message_ProgressScope replacing Message_ProgressSentry should be used to advance the progress. The scopes are nested to each other to reflect the nested nature of operations. The new class Message_ProgressRange should be used to pass the progress to sub-scopes. All OCCT algorithms involving progress indication have been updated to new API. Improvements in Draw_ProgressIndicator: - Separate console mode has been added in order to make possible to put the progress into std::cout instead or in addition to the draw interpreter, instead of trigger option "-tclOutput". - Treatment of Ctrl-Break signal has been added. Now any operation can be aborted by Ctrl-C or Ctrl-Break keystroke. Added new test case 'perf fclasses progr_par' for testing of parallel work of the progress.
0031621: Draw Harness - handle navigation keys AIS_ViewController::handleNavigationKeys() - added an interface for processing navigation keys. ViewerTest_EventManager now maps WASD+Arrows navigation keys. Axonometric view hotkey A has been replaced by Backspace. Shaded/Wireframe are now mapped with hotkeys W+Ctrl/S+Ctrl. Hotkey D (reset view to undefined default state) has been removed.
0031501: Foundation Classes, Message_Printer - remove theToPutEndl argument The argument putEndl has been removed from Message_Messenger::Send() and Message_Printer::Send() methods. Message_Printer interface has been changed, so that sub-classes have to implement new method Message_Printer::send() accepting TCollection_AsciiString. Old three Message_Printer::Send() methods remain available without putEndl argument and redirecting to new send() method by default. Removed dummy Message_PrinterOStream::GetUseUtf8() property. Message_PrinterOStream, Message_PrinterSystemLog and Draw_Printer now implement single method Message_Printer::send() instead of triplet.
0031458: Visualization - refine classes across Prs3d and StdPrs packages Prs3d::GetDeflection() has been moved to StdPrs_ToolTriangulatedShape::GetDeflection(). Prs3d_ShapeTool has been moved to StdPrs_ShapeTool. Code collecting free edges on Poly_Triangulation has been moved out from StdPrs_WFShape to Prs3d::AddFreeEdges(). StdPrs_BndBox has been moved to Prs3d_BndBox. Geom_Transformation has been replaced by TopLoc_Datum3D within visualization classes. Select3D_SensitiveCircle constructor now takes gp_Circ instead of Geom_Circle. StdSelect_ViewerSelector3d has been moved to SelectMgr_ViewerSelector3d. Methods ::GetPoint3d() and ::ArrayBounds() has been moved from subclass Select3D_SensitiveCircle to the base class Select3D_SensitiveCurve. StdSelect_ViewerSelector3d::computeSensitivePrs() has been moved to SelectMgr::ComputeSensitivePrs(). Removed unused declarations StdSelect_Prs, StdSelect_DisplayMode, StdSelect_SensitivityMode, StdSelect_TypeOfResult, SelectMgr_SOPtr, TColQuantity. Package Graphic3d has been moved from TKV3d to TKService.
0031456: Visualization - move out Dimensions and Relations from package AIS to PrsDims The following classes and their subclasses within AIS package have been moved to new package PrsDim and renamed: - AIS_Relation -> PrsDim_Relation; - AIS_Dimension -> PrsDim_Dimension,
0031424: Visualization - stop using Prs3d_Drawer::HLRAngle() parameter Prs3d_Drawer, AIS_Shape, AIS_InteractiveContext - removed properties HLRDeviationCoefficient() and HLRAngle(). Prs3d_Drawer::HLRAngle() is kept as alias to Prs3d_Drawer::DeviationAngle() with deprecated flag. Prs3d_Drawer::DeviationAngle() default value is changed from 12 to 20 degrees to match Prs3d_Drawer::HLRAngle() which has been previously used in majority of cases. Removed unused property HLRBRep_PolyAlgo::Angle().
0031431: Visualization, PrsMgr_PresentableObject - simplify HLR computing interface Multiple PrsMgr_PresentableObject::Compute() methods have been replaced by single one PrsMgr_PresentableObject::computeHLR(). Dummy implementations of previously declared methods have been removed from AIS classes not implementng HLR presentation. Class Prs3d_Projector has been removed and Graphic3d_Camera is now passed directly, so that redundant dependency from HLRAlgo_Projector in Prs3d interfaces has been eliminated. StdPrs_HLRShape and StdPrs_HLRPolyShape now implement common interface StdPrs_HLRShapeI.
0031303: Different calculation of offset direction in Adaptor2d_OffsetCurve and Geom2d_OffsetCurve Calculations in Adaptor2d_OffsetCurve are unified with similar calculations in Geom2d_OffsetCurve using methods extracted from Geom2dEvaluator_OffsetCurve to Geom2dEvaluator.cxx BRepFill_OffsetWire.cxx, Geom2dGcc_Circ2d2TanRadGeo.cxx, Geom2dGcc_Circ2dTanOnRadGeo.cxx, MAT2d_Circuit.cxx are modified to satisfy changing offset direction.
0031313: Foundation Classes - Dump improvement for classes - 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