0022819: Redesign of OpenGl driver
[occt.git] / src / OpenGl / OpenGl_Workspace_1.cxx
diff --git a/src/OpenGl/OpenGl_Workspace_1.cxx b/src/OpenGl/OpenGl_Workspace_1.cxx
new file mode 100644 (file)
index 0000000..0a523fc
--- /dev/null
@@ -0,0 +1,55 @@
+// File:      OpenGl_Workspace_1.cxx
+// Created:   20 September 2011
+// Author:    Sergey ZERCHANINOV
+// Copyright: OPEN CASCADE 2011
+
+#include <OpenGl_Workspace.hxx>
+
+#include <OpenGl_tgl_all.hxx>
+#include <GL/gl.h>
+
+#include <InterfaceGraphic_Labels.hxx>
+#include <InterfaceGraphic_Graphic3d.hxx>
+#include <InterfaceGraphic_Visual3d.hxx>
+
+/*----------------------------------------------------------------------*/
+
+//call_togl_begin_animation
+void OpenGl_Workspace::BeginAnimation (const Standard_Boolean UseDegeneration, const Standard_Boolean UpdateAM)
+{
+  NamedStatus   |= OPENGL_NS_ANIMATION;
+  if (UseDegeneration)
+    NamedStatus |= OPENGL_NS_DEGENERATION;
+  else
+    NamedStatus &= ~OPENGL_NS_DEGENERATION;
+  if (UpdateAM)
+    NamedStatus |= OPENGL_NS_UPDATEAM;
+  else
+    NamedStatus &= ~OPENGL_NS_UPDATEAM;
+  NamedStatus &= ~OPENGL_NS_FLIST;
+}
+
+/*----------------------------------------------------------------------*/
+
+//call_togl_end_animation
+void OpenGl_Workspace::EndAnimation ()
+{
+  if( (NamedStatus & OPENGL_NS_ANIMATION) == 0 ) return;
+
+  NamedStatus &= ~(OPENGL_NS_ANIMATION | OPENGL_NS_DEGENERATION | OPENGL_NS_UPDATEAM);
+  myIsUpdated = Standard_False;
+}
+
+/*----------------------------------------------------------------------*/
+/*
+* Permet de terminer effectivement le mode Animation.
+* Ceci est realise des qu'une structure a ete modifiee.
+*/
+
+//call_togl_erase_animation_mode
+void OpenGl_Workspace::EraseAnimation ()
+{
+  NamedStatus &= ~(OPENGL_NS_ANIMATION | OPENGL_NS_DEGENERATION | OPENGL_NS_UPDATEAM | OPENGL_NS_FLIST);
+}
+
+/*----------------------------------------------------------------------*/