X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff_plain;f=src%2FOpenGl%2FOpenGl_StructureShadow.cxx;h=64672018d60de5583916ad63314323d45ad7324d;hp=790058cff6ae552a7b40c07bc612b7c8969fdc8e;hb=0c33a0bf4d320a4afef435687477636a570100b3;hpb=ec357c5cbbde89c0814d71d83a658e2166a33181 diff --git a/src/OpenGl/OpenGl_StructureShadow.cxx b/src/OpenGl/OpenGl_StructureShadow.cxx index 790058cff6..64672018d6 100644 --- a/src/OpenGl/OpenGl_StructureShadow.cxx +++ b/src/OpenGl/OpenGl_StructureShadow.cxx @@ -15,6 +15,10 @@ #include +#include +#include + +IMPLEMENT_STANDARD_RTTIEXT(OpenGl_StructureShadow,OpenGl_Structure) //======================================================================= //function : OpenGl_StructureShadow @@ -27,19 +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.IsSet = myParent->TransformPersistence.IsSet; - TransformPersistence.Flag = myParent->TransformPersistence.Flag; - TransformPersistence.Point = myParent->TransformPersistence.Point; + 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!"); }