0031642: Visualization - crash in Graphic3d_Structure::SetVisual() on redisplaying...
[occt.git] / src / IGESGraph / IGESGraph.hxx
1 // Created on: 1993-01-11
2 // Created by: CKY / Contract Toubro-Larsen (TCD)
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 #ifndef _IGESGraph_HeaderFile
18 #define _IGESGraph_HeaderFile
19
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
23
24 class IGESGraph_Protocol;
25 class IGESGraph_LineFontDefTemplate;
26 class IGESGraph_LineFontDefPattern;
27 class IGESGraph_TextFontDef;
28 class IGESGraph_TextDisplayTemplate;
29 class IGESGraph_Color;
30 class IGESGraph_DefinitionLevel;
31 class IGESGraph_NominalSize;
32 class IGESGraph_DrawingSize;
33 class IGESGraph_DrawingUnits;
34 class IGESGraph_IntercharacterSpacing;
35 class IGESGraph_LineFontPredefined;
36 class IGESGraph_HighLight;
37 class IGESGraph_Pick;
38 class IGESGraph_UniformRectGrid;
39 class IGESGraph_ToolLineFontDefTemplate;
40 class IGESGraph_ToolLineFontDefPattern;
41 class IGESGraph_ToolTextFontDef;
42 class IGESGraph_ToolTextDisplayTemplate;
43 class IGESGraph_ToolColor;
44 class IGESGraph_ToolDefinitionLevel;
45 class IGESGraph_ToolNominalSize;
46 class IGESGraph_ToolDrawingSize;
47 class IGESGraph_ToolDrawingUnits;
48 class IGESGraph_ToolIntercharacterSpacing;
49 class IGESGraph_ToolLineFontPredefined;
50 class IGESGraph_ToolHighLight;
51 class IGESGraph_ToolPick;
52 class IGESGraph_ToolUniformRectGrid;
53 class IGESGraph_Protocol;
54 class IGESGraph_ReadWriteModule;
55 class IGESGraph_GeneralModule;
56 class IGESGraph_SpecificModule;
57
58
59 //! This package contains the group of classes necessary
60 //! to define Graphic data among Structure Entities.
61 //! (e.g., Fonts, Colors, Screen management ...)
62 class IGESGraph 
63 {
64 public:
65
66   DEFINE_STANDARD_ALLOC
67
68   
69   //! Prepares dynamic data (Protocol, Modules) for this package
70   Standard_EXPORT static void Init();
71   
72   //! Returns the Protocol for this Package
73   Standard_EXPORT static Handle(IGESGraph_Protocol) Protocol();
74
75
76
77
78 protected:
79
80
81
82
83
84 private:
85
86
87
88
89 friend class IGESGraph_LineFontDefTemplate;
90 friend class IGESGraph_LineFontDefPattern;
91 friend class IGESGraph_TextFontDef;
92 friend class IGESGraph_TextDisplayTemplate;
93 friend class IGESGraph_Color;
94 friend class IGESGraph_DefinitionLevel;
95 friend class IGESGraph_NominalSize;
96 friend class IGESGraph_DrawingSize;
97 friend class IGESGraph_DrawingUnits;
98 friend class IGESGraph_IntercharacterSpacing;
99 friend class IGESGraph_LineFontPredefined;
100 friend class IGESGraph_HighLight;
101 friend class IGESGraph_Pick;
102 friend class IGESGraph_UniformRectGrid;
103 friend class IGESGraph_ToolLineFontDefTemplate;
104 friend class IGESGraph_ToolLineFontDefPattern;
105 friend class IGESGraph_ToolTextFontDef;
106 friend class IGESGraph_ToolTextDisplayTemplate;
107 friend class IGESGraph_ToolColor;
108 friend class IGESGraph_ToolDefinitionLevel;
109 friend class IGESGraph_ToolNominalSize;
110 friend class IGESGraph_ToolDrawingSize;
111 friend class IGESGraph_ToolDrawingUnits;
112 friend class IGESGraph_ToolIntercharacterSpacing;
113 friend class IGESGraph_ToolLineFontPredefined;
114 friend class IGESGraph_ToolHighLight;
115 friend class IGESGraph_ToolPick;
116 friend class IGESGraph_ToolUniformRectGrid;
117 friend class IGESGraph_Protocol;
118 friend class IGESGraph_ReadWriteModule;
119 friend class IGESGraph_GeneralModule;
120 friend class IGESGraph_SpecificModule;
121
122 };
123
124
125
126
127
128
129
130 #endif // _IGESGraph_HeaderFile