1 // File: OpenGl_GraphicDriver_1.cxx
2 // Created: 20 October 2011
3 // Author: Sergey ZERCHANINOV
4 // Copyright: OPEN CASCADE 2011
6 #include <OpenGl_GraphicDriver.hxx>
8 #include <Standard_ErrorHandler.hxx>
9 #include <Standard_Failure.hxx>
11 #include <OpenGl_CView.hxx>
12 #include <OpenGl_Display.hxx>
14 //=======================================================================
17 //=======================================================================
19 Standard_Boolean OpenGl_GraphicDriver::Begin (const Standard_CString ADisplay)
23 openglDisplay = new OpenGl_Display(ADisplay);
26 catch (Standard_Failure)
29 return Standard_False;
32 //=======================================================================
35 //=======================================================================
37 Standard_Boolean OpenGl_GraphicDriver::Begin (const Aspect_Display ADisplay)
41 openglDisplay = new OpenGl_Display(ADisplay);
44 catch (Standard_Failure)
47 return Standard_False;
50 //=======================================================================
53 //=======================================================================
55 void OpenGl_GraphicDriver::End ()
57 openglDisplay.Nullify();
60 //=======================================================================
61 //function : BeginAnimation
63 //=======================================================================
65 void OpenGl_GraphicDriver::BeginAnimation (const Graphic3d_CView& ACView)
67 const OpenGl_CView *aCView = (const OpenGl_CView *)ACView.ptrView;
70 const Standard_Boolean UpdateAM = (ACView.IsDegenerates && !ACView.IsDegeneratesPrev) || (!ACView.IsDegenerates && ACView.IsDegeneratesPrev);
71 aCView->WS->BeginAnimation(ACView.IsDegenerates != 0,UpdateAM);
72 ((Graphic3d_CView*)(&ACView))->IsDegeneratesPrev = ACView.IsDegenerates; //szvgl: temporary
76 //=======================================================================
77 //function : EndAnimation
79 //=======================================================================
81 void OpenGl_GraphicDriver::EndAnimation (const Graphic3d_CView& ACView)
83 const OpenGl_CView *aCView = (const OpenGl_CView *)ACView.ptrView;
85 aCView->WS->EndAnimation();