mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
0025059: Visualization - mutable transformed structure still invalidates BVH tree for culling
Take into account IsMutable flag within Visual3d_View::ReCompute() method.
This commit is contained in:
parent
7ed22e71e0
commit
2a40d51c15
@ -1635,12 +1635,12 @@ Standard_Integer Index = IsComputed (AStructure);
|
|||||||
MyCOMPUTEDSequence.Value (Index)->GraphicTransform (ATrsf);
|
MyCOMPUTEDSequence.Value (Index)->GraphicTransform (ATrsf);
|
||||||
}
|
}
|
||||||
|
|
||||||
Standard_Integer aLayerId = AStructure->GetZLayer();
|
AStructure->CalculateBoundBox();
|
||||||
if (!AStructure->IsMutable()
|
if (!AStructure->IsMutable()
|
||||||
&& !AStructure->CStructure()->IsForHighlight
|
&& !AStructure->CStructure()->IsForHighlight
|
||||||
&& !AStructure->CStructure()->IsInfinite)
|
&& !AStructure->CStructure()->IsInfinite)
|
||||||
{
|
{
|
||||||
AStructure->CalculateBoundBox();
|
Standard_Integer aLayerId = AStructure->GetZLayer();
|
||||||
MyGraphicDriver->InvalidateBVHData (MyCView, aLayerId);
|
MyGraphicDriver->InvalidateBVHData (MyCView, aLayerId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2104,9 +2104,11 @@ Graphic3d_SequenceOfStructure FooSequence;
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Visual3d_View::ReCompute (const Handle(Graphic3d_Structure)& AStructure) {
|
void Visual3d_View::ReCompute (const Handle(Graphic3d_Structure)& AStructure) {
|
||||||
if (MyCView.IsCullingEnabled)
|
AStructure->CalculateBoundBox();
|
||||||
|
if (!AStructure->IsMutable()
|
||||||
|
&& !AStructure->CStructure()->IsForHighlight
|
||||||
|
&& !AStructure->CStructure()->IsInfinite)
|
||||||
{
|
{
|
||||||
AStructure->CalculateBoundBox();
|
|
||||||
Standard_Integer aLayerId = AStructure->DisplayPriority();
|
Standard_Integer aLayerId = AStructure->DisplayPriority();
|
||||||
MyGraphicDriver->InvalidateBVHData(MyCView, aLayerId);
|
MyGraphicDriver->InvalidateBVHData(MyCView, aLayerId);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user