0022819: Redesign of OpenGl driver
[occt.git] / src / OpenGl / OpenGl_Workspace_1.cxx
1 // File:      OpenGl_Workspace_1.cxx
2 // Created:   20 September 2011
3 // Author:    Sergey ZERCHANINOV
4 // Copyright: OPEN CASCADE 2011
5
6 #include <OpenGl_Workspace.hxx>
7
8 #include <OpenGl_tgl_all.hxx>
9 #include <GL/gl.h>
10
11 #include <InterfaceGraphic_Labels.hxx>
12 #include <InterfaceGraphic_Graphic3d.hxx>
13 #include <InterfaceGraphic_Visual3d.hxx>
14
15 /*----------------------------------------------------------------------*/
16
17 //call_togl_begin_animation
18 void OpenGl_Workspace::BeginAnimation (const Standard_Boolean UseDegeneration, const Standard_Boolean UpdateAM)
19 {
20   NamedStatus   |= OPENGL_NS_ANIMATION;
21   if (UseDegeneration)
22     NamedStatus |= OPENGL_NS_DEGENERATION;
23   else
24     NamedStatus &= ~OPENGL_NS_DEGENERATION;
25   if (UpdateAM)
26     NamedStatus |= OPENGL_NS_UPDATEAM;
27   else
28     NamedStatus &= ~OPENGL_NS_UPDATEAM;
29   NamedStatus &= ~OPENGL_NS_FLIST;
30 }
31
32 /*----------------------------------------------------------------------*/
33
34 //call_togl_end_animation
35 void OpenGl_Workspace::EndAnimation ()
36 {
37   if( (NamedStatus & OPENGL_NS_ANIMATION) == 0 ) return;
38
39   NamedStatus &= ~(OPENGL_NS_ANIMATION | OPENGL_NS_DEGENERATION | OPENGL_NS_UPDATEAM);
40   myIsUpdated = Standard_False;
41 }
42
43 /*----------------------------------------------------------------------*/
44 /*
45 * Permet de terminer effectivement le mode Animation.
46 * Ceci est realise des qu'une structure a ete modifiee.
47 */
48
49 //call_togl_erase_animation_mode
50 void OpenGl_Workspace::EraseAnimation ()
51 {
52   NamedStatus &= ~(OPENGL_NS_ANIMATION | OPENGL_NS_DEGENERATION | OPENGL_NS_UPDATEAM | OPENGL_NS_FLIST);
53 }
54
55 /*----------------------------------------------------------------------*/