0022819: Redesign of OpenGl driver Additional integration
[occt.git] / src / OpenGl / OpenGl_Polyline.hxx
1 // File:      OpenGl_Polyline.hxx
2 // Created:   13 July 2011
3 // Author:    Sergey ZERCHANINOV
4 // Copyright: OPEN CASCADE 2011
5
6 #ifndef OpenGl_Polyline_Header
7 #define OpenGl_Polyline_Header
8
9 #include <InterfaceGraphic_telem.hxx>
10
11 #include <OpenGl_Element.hxx>
12
13 #include <Graphic3d_Array1OfVertex.hxx>
14 #include <Graphic3d_Array1OfVertexC.hxx>
15
16 class OpenGl_Polyline : public OpenGl_Element
17 {
18  public:
19
20   OpenGl_Polyline (const Graphic3d_Array1OfVertex& AListVertex);
21   OpenGl_Polyline (const Graphic3d_Array1OfVertexC& AListVertex);
22   OpenGl_Polyline (const Standard_Real X1,const Standard_Real Y1,const Standard_Real Z1,
23                   const Standard_Real X2,const Standard_Real Y2,const Standard_Real Z2);
24   virtual ~OpenGl_Polyline ();
25
26   virtual void Render (const Handle(OpenGl_Workspace) &AWorkspace) const;
27
28  protected:
29
30   Tint       myNbVertices;    // Number of vertices in vertices array
31   tel_point  myVertices;      // Vertices array of length myNbVertices
32   tel_colour myColors;        // Vertex color values for each vertex
33
34  public:
35   IMPLEMENT_MEMORY_OPERATORS
36 };
37
38 #endif //OpenGl_Polyline_Header