1) Add SelectMgr_EntityOwner::IsSelected() and SelectMgr_EntityOwner::SetSelected() methods to determine if corresponding entity is selected.
They replace functionality of SelectMgr_EntityOwner::State() methods that are deprecated now.
2) AIS_InteractiveContext::ToHilightSelected() and AIS_InteractiveContext::SetToHilightSelected() is to be used to enable highlighting of selected objects.
3) By default selected objects are highlighted (new behavior)
4) Add ViewerTest_ViewerCommands: vhighlightselected command to enable/disable 'highlight selected objects' mode.
5) AIS_LocalContext, AIS_InteractiveContext : style changes in Select and ShiftSelect methods.
6) Add test cases /bugs/vis bug23649_1 and /bugs/vis bug23649_2 to test highlighting of selected objects in local context.
7) Add test cases /bugs/vis bug23649_3 and /bugs/vis bug23649_4 to test highlighting of selected objects in neutral point.
Updated test case
class BOPTools_AlgoTools
method
Standard_Boolean BOPTools_AlgoTools::IsSplitToReverse
(const TopoDS_Face& theFSp,
const TopoDS_Face& theFSr,
Handle(IntTools_Context)& theContext)
Reverse normal direction for REVERSED faces.
Test case for issue CR25127
Warning was fixed.
Remarks were applied.
- class VMap in Draw was removed
- NCollection_DataMap is used to store objects
- name of object is used to associate Tcl variable with the object
- creation and changing of objects are correclty handled
Redundant casts were removed.
Initial value is restored if variable is protected.
Tests for bug #24863 were added.
Some test cases and tcl command "save" were improved.
Useless using of upvar was removed.
Add new mode of writing vertices and parameter to switch on this mode.
Add description of new parameter (write.step.vertex.mode) into documentation.
Small correction of draw-command and test case for issue CR25095
test case correction
Small correction of test case for issue CR23950
The patch changes the algorithm of choosing the initial approximation for Newton's method. Instead of searching for a point on the fine shifted grid, the algorithm performs initial search for candidate points in the original coarse grid (which is cached in new version). After that particle swarm optimization (PSO) is used to localize the global minimum. This algorithm optimizes a problem by having a population of candidate solutions ("particles"), and moving these particles around in the search-space according to simple mathematical formula over the particle's position and velocity. Each particle's movement is influenced by its local best known position but, is also guided toward the best known positions in the search-space, which are updated as better positions are found by other particles. This strategy has reported good results in solving complex global optimization problems.
Current patch implements initial version of PSO for using in Extrema_GenExtCS class. Typically new approach allows to reduce the number of evaluations by 5-10 times. There are only few cases there the numbers of evaluations are comparable.
camera movement
AutoZFit operation now may be applied on Visual3d_View level.
Visual3d_View tracks Graphic3d_Structure updates and call AutoZFit within
Visual3d_View::Redraw if necessary.
In order to get AutoZFit functionality on Visual3d_View level ZfitAll
method moved from V3d_View into Graphic3d_Camera. AutoZFit method and
AutoZFitMode flag now part of Visual3d_View.
Test case for issue CR24996
Aspect_GenId::Available(), include size of the queue with recently freed identifiers
Aspect_GenId.cxx - remove tabulation symbols
Test cases for issue CR25052
BRepMesh_Classifier: Two-pass approach for intersection check with possibility to run it in parallel mode.
First pass - bounding boxes of segments are checked for overlapping;
Second pass - intersection point is calculated in case if overlapping is detected.
Make NCollection_UBTree::ChangeLastNode() exported due to compilation error on Linux platform.
Reason: method does not depend on template parameters, so it should be available.
Revert previous change and try to use another trick for Linux
Fix compilation warning on MacOS: remove redundant constant
Fix regressions: do not consider insignificant loops in case of self intersections on the same wire.
More sugar solution for compilation errors on NCollection_EBTree on Linux
Test cases for issue CR24968
fix the notched edges twice per face - before checking for missing seam and after
Test case correction for issue CR24983
Add check for invalid Surface of linear extrusion (with basis curve - line and extrusion direction parallel to this line) during converting STEP surface
Small corrections of test cases for issue CR24983
class IntTools_FaceFace
method
static Standard_Boolean DecompositionOfWLine(const Handle(IntPatch_WLine)& theWLine,
const Handle(GeomAdaptor_HSurface)& theSurface1,
const Handle(GeomAdaptor_HSurface)& theSurface2,
const TopoDS_Face& theFace1,
const TopoDS_Face& theFace2,
const IntTools_LineConstructor& theLConstructor,
const Standard_Boolean theAvoidLConstructor,
IntPatch_SequenceOfLine& theNewLines,
Standard_Real& theReachedTol3d,
const Handle(IntTools_Context)& aContext)
Correct treatment of WLines with only one point before or after the boundary point.
Test case for issue CR25002
class IntTools_FaceFace
method
void IntTools_FaceFace::Perform(const TopoDS_Face& aF1,
const TopoDS_Face& aF2)
Change the approximation flags according to the order of faces.
Test case for issue CR25019
Implement SAT intersection tests and frustum culling algorithm using BVH trees.
New Draw command vfrustumculling to manage frustum culling.
Add test cases bugs/vis/bug24307_1 and bugs/vis/bug24307_2.
Remove CALL_DEF_BOUNDBOX and CALL_DEF_BOUNDS.
StdPrs_ShadedShape, add flag theToExploreSolids to method ::Add().
Previously the tool collected triagnulations from all Faces into single graphic group.
The automated algorithm for back-face culling activation has to disable culling
when within closed Solids single Compound contains also open Shells.
Now tool is able to optionally (enabled by default) split these two categories of primitives
into dedicated groups with independent back-face culling settings.
In addition, this closed flag is now stored in Graphic3d_Group::myIsClosed which allows
capping algorithm OpenGl_CappingAlgo to automatically filter improper groups.
Check is the shape to be meshed has correct poly data, i.e. PolygonOnTriangulation of particular edge connected to the same Triangulation data structure as stored inside a parent face.
Adding test cases for issue CR23631 bugs/mesh/bug23631
Parallel checking of faces/edges
Make BRepMesh_IncrementalMesh class imported from BRepMesh package.
Resolve GCC warnings on Linux platform
Fix compilation errors on MacOs: remove mutable modificator on reference fields.