0031687: Draw Harness, ViewerTest - extend command vrenderparams with option updating...
[occt.git] / src / IGESGeom / IGESGeom.hxx
1 // Created on: 1993-01-11
2 // Created by: CKY / Contract Toubro-Larsen ( Kiran )
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 _IGESGeom_HeaderFile
18 #define _IGESGeom_HeaderFile
19
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
23
24 class IGESGeom_Protocol;
25 class IGESGeom_CircularArc;
26 class IGESGeom_CompositeCurve;
27 class IGESGeom_ConicArc;
28 class IGESGeom_CopiousData;
29 class IGESGeom_Plane;
30 class IGESGeom_Line;
31 class IGESGeom_SplineCurve;
32 class IGESGeom_SplineSurface;
33 class IGESGeom_Point;
34 class IGESGeom_RuledSurface;
35 class IGESGeom_SurfaceOfRevolution;
36 class IGESGeom_TabulatedCylinder;
37 class IGESGeom_Direction;
38 class IGESGeom_TransformationMatrix;
39 class IGESGeom_Flash;
40 class IGESGeom_BSplineCurve;
41 class IGESGeom_BSplineSurface;
42 class IGESGeom_OffsetCurve;
43 class IGESGeom_OffsetSurface;
44 class IGESGeom_Boundary;
45 class IGESGeom_CurveOnSurface;
46 class IGESGeom_BoundedSurface;
47 class IGESGeom_TrimmedSurface;
48 class IGESGeom_ToolCircularArc;
49 class IGESGeom_ToolCompositeCurve;
50 class IGESGeom_ToolConicArc;
51 class IGESGeom_ToolCopiousData;
52 class IGESGeom_ToolPlane;
53 class IGESGeom_ToolLine;
54 class IGESGeom_ToolSplineCurve;
55 class IGESGeom_ToolSplineSurface;
56 class IGESGeom_ToolPoint;
57 class IGESGeom_ToolRuledSurface;
58 class IGESGeom_ToolSurfaceOfRevolution;
59 class IGESGeom_ToolTabulatedCylinder;
60 class IGESGeom_ToolDirection;
61 class IGESGeom_ToolTransformationMatrix;
62 class IGESGeom_ToolFlash;
63 class IGESGeom_ToolBSplineCurve;
64 class IGESGeom_ToolBSplineSurface;
65 class IGESGeom_ToolOffsetCurve;
66 class IGESGeom_ToolOffsetSurface;
67 class IGESGeom_ToolBoundary;
68 class IGESGeom_ToolCurveOnSurface;
69 class IGESGeom_ToolBoundedSurface;
70 class IGESGeom_ToolTrimmedSurface;
71 class IGESGeom_Protocol;
72 class IGESGeom_ReadWriteModule;
73 class IGESGeom_GeneralModule;
74 class IGESGeom_SpecificModule;
75
76
77 //! This package consists of B-Rep and CSG Solid entities
78 class IGESGeom 
79 {
80 public:
81
82   DEFINE_STANDARD_ALLOC
83
84   
85   //! Prepares dymanic data (Protocol, Modules) for this package
86   Standard_EXPORT static void Init();
87   
88   //! Returns the Protocol for this Package
89   Standard_EXPORT static Handle(IGESGeom_Protocol) Protocol();
90
91
92
93
94 protected:
95
96
97
98
99
100 private:
101
102
103
104
105 friend class IGESGeom_CircularArc;
106 friend class IGESGeom_CompositeCurve;
107 friend class IGESGeom_ConicArc;
108 friend class IGESGeom_CopiousData;
109 friend class IGESGeom_Plane;
110 friend class IGESGeom_Line;
111 friend class IGESGeom_SplineCurve;
112 friend class IGESGeom_SplineSurface;
113 friend class IGESGeom_Point;
114 friend class IGESGeom_RuledSurface;
115 friend class IGESGeom_SurfaceOfRevolution;
116 friend class IGESGeom_TabulatedCylinder;
117 friend class IGESGeom_Direction;
118 friend class IGESGeom_TransformationMatrix;
119 friend class IGESGeom_Flash;
120 friend class IGESGeom_BSplineCurve;
121 friend class IGESGeom_BSplineSurface;
122 friend class IGESGeom_OffsetCurve;
123 friend class IGESGeom_OffsetSurface;
124 friend class IGESGeom_Boundary;
125 friend class IGESGeom_CurveOnSurface;
126 friend class IGESGeom_BoundedSurface;
127 friend class IGESGeom_TrimmedSurface;
128 friend class IGESGeom_ToolCircularArc;
129 friend class IGESGeom_ToolCompositeCurve;
130 friend class IGESGeom_ToolConicArc;
131 friend class IGESGeom_ToolCopiousData;
132 friend class IGESGeom_ToolPlane;
133 friend class IGESGeom_ToolLine;
134 friend class IGESGeom_ToolSplineCurve;
135 friend class IGESGeom_ToolSplineSurface;
136 friend class IGESGeom_ToolPoint;
137 friend class IGESGeom_ToolRuledSurface;
138 friend class IGESGeom_ToolSurfaceOfRevolution;
139 friend class IGESGeom_ToolTabulatedCylinder;
140 friend class IGESGeom_ToolDirection;
141 friend class IGESGeom_ToolTransformationMatrix;
142 friend class IGESGeom_ToolFlash;
143 friend class IGESGeom_ToolBSplineCurve;
144 friend class IGESGeom_ToolBSplineSurface;
145 friend class IGESGeom_ToolOffsetCurve;
146 friend class IGESGeom_ToolOffsetSurface;
147 friend class IGESGeom_ToolBoundary;
148 friend class IGESGeom_ToolCurveOnSurface;
149 friend class IGESGeom_ToolBoundedSurface;
150 friend class IGESGeom_ToolTrimmedSurface;
151 friend class IGESGeom_Protocol;
152 friend class IGESGeom_ReadWriteModule;
153 friend class IGESGeom_GeneralModule;
154 friend class IGESGeom_SpecificModule;
155
156 };
157
158
159
160
161
162
163
164 #endif // _IGESGeom_HeaderFile