#include <OpenGl_StructureShadow.hxx>
#include <Graphic3d_GraphicDriver.hxx>
+#include <Standard_ProgramError.hxx>
+
+IMPLEMENT_STANDARD_RTTIEXT(OpenGl_StructureShadow,OpenGl_Structure)
//=======================================================================
//function : OpenGl_StructureShadow
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];
- }
- }
-
- UpdateTransformation();
+ myBndBox = myParent->BoundingBox();
+
+ OpenGl_Structure::SetTransformation (myParent->Transformation());
myInstancedStructure = const_cast<OpenGl_Structure*> (myParent->InstancedStructure());
- TransformPersistence = myParent->TransformPersistence;
+ 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!");
}