1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0024752: Visualization - inherit OpenGl_Group from Graphic3d_Group

Graphic3d_Group is now abstract class and should be instantiated
using Graphic3d_Structure::NewGroup() method.
Graphic3d_CGroup has been removed.

The groups list is no more duplicated within Graphic3d_Structure and OpenGl_Structure.
Removed unused/duplicated fields from Graphic3d_Group.

Prs3d_Presentation - remove redundnant field myCurrentGroup.
PrsMgr_Presentation3d::Erase(), ::Clear() - avoid possible NULL dereference.
OpenGl_GraphicDriver/Graphic3d_GraphicDriver - group management methods have been removed
(moved to Graphic3d_CStructure and Graphic3d_Group interfaces).

Graphic3d_Group::GroupPrimitivesAspect() - copy IsEmission flag
Fix wrong iterator
Fix compilation issues
This commit is contained in:
kgv
2014-03-27 17:12:18 +04:00
committed by bugmaster
parent 6b1fe48c8a
commit b64d84be99
62 changed files with 1959 additions and 3004 deletions

View File

@@ -370,12 +370,12 @@ namespace OpenGl_Raytrace
// function : IsRaytracedStructure
// purpose : Checks to see if the structure contains ray-trace geometry
// =======================================================================
Standard_Boolean IsRaytracedStructure (const OpenGl_Structure *theStructure)
Standard_Boolean IsRaytracedStructure (const OpenGl_Structure* theStructure)
{
for (OpenGl_ListOfGroup::Iterator anItg (theStructure->Groups());
anItg.More(); anItg.Next())
for (OpenGl_Structure::GroupIterator aGroupIter (theStructure->DrawGroups());
aGroupIter.More(); aGroupIter.Next())
{
if (anItg.Value()->IsRaytracable())
if (aGroupIter.Value()->IsRaytracable())
return Standard_True;
}
for (OpenGl_ListOfStructure::Iterator anIts (theStructure->ConnectedStructures());