Commit | Line | Data |
---|---|---|
2166f0fa SK |
1 | // File: OpenGl_Group.hxx |
2 | // Created: 1 August 2011 | |
3 | // Author: Sergey ZERCHANINOV | |
4 | // Copyright: OPEN CASCADE 2011 | |
5 | ||
6 | #ifndef _OpenGl_Group_Header | |
7 | #define _OpenGl_Group_Header | |
8 | ||
9 | #include <InterfaceGraphic_Graphic3d.hxx> | |
10 | ||
11 | #include <OpenGl_Element.hxx> | |
12 | ||
13 | #include <OpenGl_AspectLine.hxx> | |
14 | #include <OpenGl_AspectFace.hxx> | |
15 | #include <OpenGl_AspectMarker.hxx> | |
16 | #include <OpenGl_AspectText.hxx> | |
17 | ||
18 | #include <OpenGl_tsm.hxx> | |
19 | ||
20 | struct OpenGl_ElementNode | |
21 | { | |
22 | TelType type; | |
23 | OpenGl_Element *elem; | |
24 | OpenGl_ElementNode *next; | |
25 | IMPLEMENT_MEMORY_OPERATORS | |
26 | }; | |
27 | ||
28 | class OpenGl_Group : public OpenGl_Element | |
29 | { | |
30 | public: | |
31 | OpenGl_Group (); | |
32 | virtual ~OpenGl_Group(); | |
33 | ||
34 | void SetAspectLine (const CALL_DEF_CONTEXTLINE &AContext, const Standard_Boolean IsGlobal = Standard_True); | |
35 | void SetAspectFace (const CALL_DEF_CONTEXTFILLAREA &AContext, const Standard_Boolean IsGlobal = Standard_True); | |
36 | void SetAspectMarker (const CALL_DEF_CONTEXTMARKER &AContext, const Standard_Boolean IsGlobal = Standard_True); | |
37 | void SetAspectText (const CALL_DEF_CONTEXTTEXT &AContext, const Standard_Boolean IsGlobal = Standard_True); | |
38 | ||
39 | void AddElement (const TelType, OpenGl_Element * ); | |
40 | void Clear (); | |
41 | ||
42 | void RemovePrimitiveArray (CALL_DEF_PARRAY *APArray); | |
43 | ||
44 | virtual void Render (const Handle(OpenGl_Workspace) &AWorkspace) const; | |
45 | ||
46 | protected: | |
47 | ||
48 | OpenGl_AspectLine *myAspectLine; | |
49 | OpenGl_AspectFace *myAspectFace; | |
50 | OpenGl_AspectMarker *myAspectMarker; | |
51 | OpenGl_AspectText *myAspectText; | |
52 | ||
53 | OpenGl_ElementNode *myFirst, *myLast; | |
54 | ||
55 | public: | |
56 | IMPLEMENT_MEMORY_OPERATORS | |
57 | }; | |
58 | ||
59 | #endif //_OpenGl_Group_Header |