1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0023654: Problem with displaying vertices in OCC view after closing all OCC views and opening new one

Fixed graphic structure recompute after closing view.
Removed collector and all corresponding logic and methods from AIS_InteractiveContext.
Method AIS_InteractiveContext::Erase() now hide object from viewer without deleting resources.
Erased objects now properly recomputed after closing view.
Samples update
Removed useless method AIS_InteractiveContext::EraseMode()
Documentation update
Warnings fix
Regressions fix
This commit is contained in:
dbv
2013-10-03 14:11:13 +04:00
committed by bugmaster
parent 3ed30348aa
commit eb4320f2d9
45 changed files with 826 additions and 1256 deletions

View File

@@ -66,9 +66,6 @@ static Standard_Integer StructureManager_CurrentId = 0;
// -- les structures mises en evidence
// MyHighlightedStructure : SequenceOfStructure;
// -- les structures visibles
// MyVisibleStructure : SequenceOfStructure;
// -- les structures detectables
// MyPickStructure : SequenceOfStructure;
@@ -80,7 +77,6 @@ static Standard_Integer StructureManager_CurrentId = 0;
Graphic3d_StructureManager::Graphic3d_StructureManager (const Handle(Graphic3d_GraphicDriver)& theDriver):
MyDisplayedStructure (),
MyHighlightedStructure (),
MyVisibleStructure (),
MyPickStructure () {
Standard_Real Coef;
@@ -145,7 +141,6 @@ void Graphic3d_StructureManager::Destroy () {
MyDisplayedStructure.Clear ();
MyHighlightedStructure.Clear ();
MyVisibleStructure.Clear ();
MyPickStructure.Clear ();
StructureManager_ArrayId[MyId] = 0;
@@ -232,18 +227,6 @@ void Graphic3d_StructureManager::Remove (const Standard_Integer AnId) {
}
void Graphic3d_StructureManager::Visible (const Handle(Graphic3d_Structure)& AStructure) {
MyVisibleStructure.Add(AStructure);
}
void Graphic3d_StructureManager::Invisible (const Handle(Graphic3d_Structure)& AStructure) {
MyVisibleStructure.Remove(AStructure);
}
void Graphic3d_StructureManager::Detectable (const Handle(Graphic3d_Structure)& AStructure) {
MyPickStructure.Add(AStructure);
@@ -293,13 +276,6 @@ void Graphic3d_StructureManager::PickStructures (Graphic3d_MapOfStructure& SG) c
}
void Graphic3d_StructureManager::VisibleStructures (Graphic3d_MapOfStructure& SG) const {
SG.Assign(MyVisibleStructure);
}
void Graphic3d_StructureManager::MinMaxValues (Standard_Real& XMin, Standard_Real& YMin, Standard_Real& ZMin, Standard_Real& XMax, Standard_Real& YMax, Standard_Real& ZMax) const {
Standard_Boolean Flag = Standard_True;
@@ -397,3 +373,14 @@ const Handle(Graphic3d_GraphicDriver)& Graphic3d_StructureManager::GraphicDriver
return (MyGraphicDriver);
}
void Graphic3d_StructureManager::ReComputeStructures()
{
for (Graphic3d_MapIteratorOfMapOfStructure anIter(MyDisplayedStructure); anIter.More(); anIter.Next())
{
Handle(Graphic3d_Structure) aStructure = anIter.Key();
aStructure->Clear();
aStructure->Compute();
}
}