mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0027180: Visualization - improve selection logic of MeshVS_Mesh
MeshVS_Mesh selection logic in MeshVS_SMF_Mesh mode (entire mesh) has been optimized. MeshVS_Mesh::ComputeSelection() now creates single sensitive entity MeshVS_CommonSensitiveEntity (new class) instead of small sensitive entity on each element. MeshVS_SensitiveQuad (new class) and Select3D_SensitiveTriangle are used instead of Select3D_SensitiveFace for local selection to reduce memory consumption when possible.
This commit is contained in:
@@ -66,12 +66,12 @@
|
||||
#define BVH_PRIMITIVE_LIMIT 800000
|
||||
|
||||
//==================================================
|
||||
// function: preBuildBVH
|
||||
// function: PreBuildBVH
|
||||
// purpose : Pre-builds BVH tree for heavyweight
|
||||
// sensitive entities with sub-elements
|
||||
// amount more than BVH_PRIMITIVE_LIMIT
|
||||
//==================================================
|
||||
void StdSelect_BRepSelectionTool::preBuildBVH (const Handle(SelectMgr_Selection)& theSelection)
|
||||
void StdSelect_BRepSelectionTool::PreBuildBVH (const Handle(SelectMgr_Selection)& theSelection)
|
||||
{
|
||||
for (theSelection->Init(); theSelection->More(); theSelection->Next())
|
||||
{
|
||||
@@ -196,7 +196,7 @@ void StdSelect_BRepSelectionTool
|
||||
anOwner->Set (theSelectableObj);
|
||||
}
|
||||
|
||||
preBuildBVH (theSelection);
|
||||
PreBuildBVH (theSelection);
|
||||
}
|
||||
|
||||
//==================================================
|
||||
|
Reference in New Issue
Block a user