X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff_plain;f=src%2FOpenGl%2FOpenGl_StructureShadow.cxx;h=64672018d60de5583916ad63314323d45ad7324d;hp=3b56b0ac8f96d94ee3d209609424704371ddd446;hb=0c33a0bf4d320a4afef435687477636a570100b3;hpb=825aa485a3546bb2fa7a9978bd83592f25adbacb diff --git a/src/OpenGl/OpenGl_StructureShadow.cxx b/src/OpenGl/OpenGl_StructureShadow.cxx index 3b56b0ac8f..64672018d6 100644 --- a/src/OpenGl/OpenGl_StructureShadow.cxx +++ b/src/OpenGl/OpenGl_StructureShadow.cxx @@ -16,6 +16,9 @@ #include #include +#include + +IMPLEMENT_STANDARD_RTTIEXT(OpenGl_StructureShadow,OpenGl_Structure) //======================================================================= //function : OpenGl_StructureShadow @@ -28,17 +31,32 @@ OpenGl_StructureShadow::OpenGl_StructureShadow (const Handle(Graphic3d_Structure Handle(OpenGl_StructureShadow) aShadow = Handle(OpenGl_StructureShadow)::DownCast (theStructure); myParent = aShadow.IsNull() ? theStructure : aShadow->myParent; - - Composition = myParent->Composition; ContainsFacet = myParent->ContainsFacet; IsInfinite = myParent->IsInfinite; - for (Standard_Integer i = 0; i <= 3; ++i) - { - for (Standard_Integer j = 0; j <= 3; ++j) - { - Graphic3d_CStructure::Transformation[i][j] = myParent->Graphic3d_CStructure::Transformation[i][j]; - } - } - - TransformPersistence = myParent->TransformPersistence; + myBndBox = myParent->BoundingBox(); + + OpenGl_Structure::SetTransformation (myParent->Transformation()); + myInstancedStructure = const_cast (myParent->InstancedStructure()); + myTrsfPers = myParent->TransformPersistence(); + + // reuse instanced structure API + myInstancedStructure = myParent.operator->(); +} + +// ======================================================================= +// function : Connect +// purpose : +// ======================================================================= +void OpenGl_StructureShadow::Connect (Graphic3d_CStructure& ) +{ + throw Standard_ProgramError("Error! OpenGl_StructureShadow::Connect() should not be called!"); +} + +// ======================================================================= +// function : Disconnect +// purpose : +// ======================================================================= +void OpenGl_StructureShadow::Disconnect (Graphic3d_CStructure& ) +{ + throw Standard_ProgramError("Error! OpenGl_StructureShadow::Disconnect() should not be called!"); }