0022819: Redesign of OpenGl driver
[occt.git] / src / OpenGl / OpenGl_AspectLine.cxx
1 // File:      OpenGl_AspectLine.cxx
2 // Created:   13 July 2011
3 // Author:    Sergey ZERCHANINOV
4 // Copyright: OPEN CASCADE 2011
5
6 #include <OpenGl_AspectLine.hxx>
7
8 static const TEL_COLOUR myDefaultColor = {{ 1.0F, 1.0F, 1.0F, 1.0F }};
9
10 /*----------------------------------------------------------------------*/
11
12 OpenGl_AspectLine::OpenGl_AspectLine ()
13  : myColor(myDefaultColor),
14    myType(Aspect_TOL_SOLID),
15    myWidth(1.0F)
16 {}
17
18 /*----------------------------------------------------------------------*/
19
20 OpenGl_AspectLine::OpenGl_AspectLine (const OpenGl_AspectLine &AnOther)
21  : myColor(AnOther.myColor),
22    myType(AnOther.myType),
23    myWidth(AnOther.myWidth)
24 {}
25
26 /*----------------------------------------------------------------------*/
27
28 void OpenGl_AspectLine::SetContext (const CALL_DEF_CONTEXTLINE &AContext)
29 {
30   myColor.rgb[0] = (float) AContext.Color.r;
31   myColor.rgb[1] = (float) AContext.Color.g;
32   myColor.rgb[2] = (float) AContext.Color.b;
33   myColor.rgb[3] = 1.0f;
34   myType = (Aspect_TypeOfLine) AContext.LineType;
35   myWidth = (float) AContext.Width;
36 }
37
38 /*----------------------------------------------------------------------*/
39
40 void OpenGl_AspectLine::Render (const Handle(OpenGl_Workspace) &AWorkspace) const
41 {
42   AWorkspace->SetAspectLine(this);
43 }
44
45 /*----------------------------------------------------------------------*/