mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0024358: TKV3d - connected structures are not re-computed on device lost
Graphic3d_StructureManager::ReComputeStructures() method was corrected to consider all child (connected) structures. Corrected remarks: added image dump in test case; corrected method name.
This commit is contained in:
@@ -369,13 +369,26 @@ const Handle(Graphic3d_GraphicDriver)& Graphic3d_StructureManager::GraphicDriver
|
||||
|
||||
}
|
||||
|
||||
void Graphic3d_StructureManager::ReComputeStructures()
|
||||
void Graphic3d_StructureManager::RecomputeStructures()
|
||||
{
|
||||
// Go through all unique structures including child (connected) ones and ensure that they are computed.
|
||||
Graphic3d_MapOfStructure aStructNetwork;
|
||||
|
||||
for (Graphic3d_MapIteratorOfMapOfStructure anIter(MyDisplayedStructure); anIter.More(); anIter.Next())
|
||||
{
|
||||
Handle(Graphic3d_Structure) aStructure = anIter.Key();
|
||||
anIter.Key()->Network (anIter.Key(), Graphic3d_TOC_DESCENDANT, aStructNetwork);
|
||||
}
|
||||
|
||||
aStructure->Clear();
|
||||
aStructure->Compute();
|
||||
RecomputeStructures (aStructNetwork);
|
||||
}
|
||||
|
||||
void Graphic3d_StructureManager::RecomputeStructures (const Graphic3d_MapOfStructure& theStructures)
|
||||
{
|
||||
for (Graphic3d_MapIteratorOfMapOfStructure anIter (theStructures); anIter.More(); anIter.Next())
|
||||
{
|
||||
Handle(Graphic3d_Structure) aStruct = anIter.Key();
|
||||
aStruct->Clear();
|
||||
aStruct->Compute();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user