42cf5bc1 |
1 | // Created on: 1996-12-23 |
2 | // Created by: Alexander BRIVIN and Dmitry TARASOV |
3 | // Copyright (c) 1996-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 _Vrml_HeaderFile |
18 | #define _Vrml_HeaderFile |
19 | |
20 | #include <Standard.hxx> |
21 | #include <Standard_DefineAlloc.hxx> |
22 | #include <Standard_Handle.hxx> |
23 | |
24 | #include <Standard_OStream.hxx> |
25 | #include <Standard_CString.hxx> |
26 | class Vrml_SFImage; |
27 | class Vrml_SFRotation; |
28 | class Vrml_AsciiText; |
29 | class Vrml_Cone; |
30 | class Vrml_Cube; |
31 | class Vrml_Cylinder; |
32 | class Vrml_IndexedFaceSet; |
33 | class Vrml_IndexedLineSet; |
34 | class Vrml_PointSet; |
35 | class Vrml_Sphere; |
36 | class Vrml_Coordinate3; |
37 | class Vrml_FontStyle; |
38 | class Vrml_Info; |
39 | class Vrml_LOD; |
40 | class Vrml_Material; |
41 | class Vrml_MaterialBinding; |
42 | class Vrml_Normal; |
43 | class Vrml_NormalBinding; |
44 | class Vrml_Texture2; |
45 | class Vrml_Texture2Transform; |
46 | class Vrml_TextureCoordinate2; |
47 | class Vrml_ShapeHints; |
48 | class Vrml_MatrixTransform; |
49 | class Vrml_Rotation; |
50 | class Vrml_Scale; |
51 | class Vrml_Transform; |
52 | class Vrml_Translation; |
53 | class Vrml_OrthographicCamera; |
54 | class Vrml_PerspectiveCamera; |
55 | class Vrml_DirectionalLight; |
56 | class Vrml_PointLight; |
57 | class Vrml_SpotLight; |
58 | class Vrml_Group; |
59 | class Vrml_Separator; |
60 | class Vrml_Switch; |
61 | class Vrml_TransformSeparator; |
62 | class Vrml_WWWAnchor; |
63 | class Vrml_WWWInline; |
64 | class Vrml_Instancing; |
65 | |
66 | |
67 | //! Vrml package implements the specification of the |
68 | //! VRML ( Virtual Reality Modeling Language ). VRML |
69 | //! is a standard language for describing interactive |
70 | //! 3-D objects and worlds delivered across Internet. |
71 | //! Actual version of Vrml package have made for objects |
72 | //! of VRML version 1.0. |
73 | //! This package is used by VrmlConverter package. |
74 | //! The developer should already be familiar with VRML |
75 | //! specification before using this package. |
76 | class Vrml |
77 | { |
78 | public: |
79 | |
80 | DEFINE_STANDARD_ALLOC |
81 | |
82 | |
83 | //! Writes a header in anOStream (VRML file). |
84 | //! Writes one line of commentary in anOStream (VRML file). |
85 | Standard_EXPORT static Standard_OStream& VrmlHeaderWriter (Standard_OStream& anOStream); |
86 | |
87 | Standard_EXPORT static Standard_OStream& CommentWriter (const Standard_CString aComment, Standard_OStream& anOStream); |
88 | |
89 | |
90 | |
91 | |
92 | protected: |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | private: |
99 | |
100 | |
101 | |
102 | |
103 | friend class Vrml_SFImage; |
104 | friend class Vrml_SFRotation; |
105 | friend class Vrml_AsciiText; |
106 | friend class Vrml_Cone; |
107 | friend class Vrml_Cube; |
108 | friend class Vrml_Cylinder; |
109 | friend class Vrml_IndexedFaceSet; |
110 | friend class Vrml_IndexedLineSet; |
111 | friend class Vrml_PointSet; |
112 | friend class Vrml_Sphere; |
113 | friend class Vrml_Coordinate3; |
114 | friend class Vrml_FontStyle; |
115 | friend class Vrml_Info; |
116 | friend class Vrml_LOD; |
117 | friend class Vrml_Material; |
118 | friend class Vrml_MaterialBinding; |
119 | friend class Vrml_Normal; |
120 | friend class Vrml_NormalBinding; |
121 | friend class Vrml_Texture2; |
122 | friend class Vrml_Texture2Transform; |
123 | friend class Vrml_TextureCoordinate2; |
124 | friend class Vrml_ShapeHints; |
125 | friend class Vrml_MatrixTransform; |
126 | friend class Vrml_Rotation; |
127 | friend class Vrml_Scale; |
128 | friend class Vrml_Transform; |
129 | friend class Vrml_Translation; |
130 | friend class Vrml_OrthographicCamera; |
131 | friend class Vrml_PerspectiveCamera; |
132 | friend class Vrml_DirectionalLight; |
133 | friend class Vrml_PointLight; |
134 | friend class Vrml_SpotLight; |
135 | friend class Vrml_Group; |
136 | friend class Vrml_Separator; |
137 | friend class Vrml_Switch; |
138 | friend class Vrml_TransformSeparator; |
139 | friend class Vrml_WWWAnchor; |
140 | friend class Vrml_WWWInline; |
141 | friend class Vrml_Instancing; |
142 | |
143 | }; |
144 | |
145 | |
146 | |
147 | |
148 | |
149 | |
150 | |
151 | #endif // _Vrml_HeaderFile |