Ocean
GLESFactory.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_RENDERING_GLES_FACTORY_H
9 #define META_OCEAN_RENDERING_GLES_FACTORY_H
10 
12 
14 
15 namespace Ocean
16 {
17 
18 namespace Rendering
19 {
20 
21 namespace GLESceneGraph
22 {
23 
24 /**
25  * This class implements a class factory for all GLESceneGraph objects.<br>
26  * Only the factory is able to create any GLESceneGraph object.
27  * @ingroup renderinggles
28  */
29 class OCEAN_RENDERING_GLES_EXPORT GLESFactory : public Factory
30 {
31  public:
32 
33  /**
34  * Creates a new absolute transform.
35  * @see Factory::createAbsoluteTransform().
36  */
38 
39  /**
40  * Creates a new attribute set object.
41  * @see Factory::createAttributeSet().
42  */
43  ObjectRef createAttributeSet() const override;
44 
45  /**
46  * Creates a new billboard object.
47  * @see Factory::createBillboard().
48  */
49  NodeRef createBillboard() const override;
50 
51  /**
52  * Creates a new blend attribute object.
53  * @return New blend attribute
54  */
55  ObjectRef createBlendAttribute() const override;
56 
57  /**
58  * Creates a new box object.
59  * @see Factory::createBox().
60  */
61  ObjectRef createBox() const override;
62 
63  /**
64  * Creates a new cone object.
65  * @see Factory::createCone().
66  */
67  ObjectRef createCone() const override;
68 
69  /**
70  * Creates a new cylinder object.
71  * @see Factory::createCylinder().
72  */
73  ObjectRef createCylinder() const override;
74 
75  /**
76  * Creates a new depth attribute object.
77  * @see Factory::createDepthAttribute().
78  */
79  ObjectRef createDepthAttribute() const override;
80 
81  /**
82  * Creates a new directional light object.
83  * @see Factory::createDirectionalLight().
84  */
86 
87  /**
88  * Creates a new frame texture object.
89  * @see Factory::createFrameTexture2D().
90  */
91  ObjectRef createFrameTexture2D() const override;
92 
93  /**
94  * Creates a new geometry object.
95  * @see Factory::createGeometry().
96  */
97  NodeRef createGeometry() const override;
98 
99  /**
100  * Creates a new group object.
101  * @see Factory::createGroup().
102  */
103  NodeRef createGroup() const override;
104 
105  /**
106  * Creates a new lines object.
107  * @see Factory::createLines().
108  */
109  ObjectRef createLines() const override;
110 
111  /**
112  * Creates a new line strips object.
113  * @see Factory::createLineStrips().
114  */
115  ObjectRef createLineStrips() const override;
116 
117  /**
118  * Creates a new LOD object.
119  * @see Factory::createLOD().
120  */
121  NodeRef createLOD() const override;
122 
123  /**
124  * Creates a new material object.
125  * @see Factory::createMaterial().
126  */
127  ObjectRef createMaterial() const override;
128 
129  /**
130  * Creates a new texture object.
131  * @see Factory::createMediaTexture2D().
132  */
133  ObjectRef createMediaTexture2D() const override;
134 
135  /**
136  * Creates a new perspective view object.
137  * @see Factory::createPerspectiveView().
138  */
140 
141  /**
142  * Creates a new phantom attribute.
143  * @see Factory::createPhantomAttribute().
144  */
146 
147  /**
148  * Creates a new point light object.
149  * @see Factory::createPointLight().
150  */
151  ObjectRef createPointLight() const override;
152 
153  /**
154  * Creates a new points object.
155  * @see Factory::createPoints().
156  */
157  ObjectRef createPoints() const override;
158 
159  /**
160  * Creates a new primitive attribute object.
161  * @see Factory::createPrimitiveAttribute().
162  */
164 
165  /**
166  * Creates a new scene object.
167  * @see Factory::createScene().
168  */
169  NodeRef createScene() const override;
170 
171  /**
172  * Creates a new shader program object.
173  * @see Factory::createShaderProgram().
174  */
175  ObjectRef createShaderProgram() const override;
176 
177  /**
178  * Creates a new sphere object.
179  * @see Factory::createSphare().
180  */
181  ObjectRef createSphere() const override;
182 
183  /**
184  * Creates a new stereo attribute.
185  * @see Factory::createStereoAttribute().
186  */
188 
189  /**
190  * Creates a new switch object.
191  * @see Factory::createSwitch().
192  */
193  NodeRef createSwitch() const override;
194 
195  /**
196  * Creates a new spot light object.
197  * @see Factroy::createSpotLight().
198  */
199  ObjectRef createSpotLight() const override;
200 
201  /**
202  * Creates a new stereo view object.
203  * @see Factroy::createStereoView().
204  */
205  ObjectRef createStereoView() const override;
206 
207  /**
208  * Creates a new text framebuffer object.
209  * @see Factory::createText().
210  */
211  ObjectRef createText() const override;
212 
213  /**
214  * Creates a new texture framebuffer object.
215  * @see Factory::createTextureFramebuffer().
216  */
218 
219  /**
220  * Creates a new texture attribute object.
221  * @see Factory::createTextures().
222  */
223  ObjectRef createTextures() const override;
224 
225  /**
226  * Creates a new transform object.
227  * @see Factory::createTransform().
228  */
229  NodeRef createTransform() const override;
230 
231  /**
232  * Creates a new triangle fans object.
233  * @see Factory::createTriangleFans().
234  */
235  ObjectRef createTriangleFans() const override;
236 
237  /**
238  * Creates a new triangles object.
239  * @see Factory::createTriangles().
240  */
241  ObjectRef createTriangles() const override;
242 
243  /**
244  * Creates a new triangle strips object.
245  * @see Factory::createTriangleStrips().
246  */
247  ObjectRef createTriangleStrips() const override;
248 
249  /**
250  * Creates a new undistorted background object.
251  * @see Factory::createUndistortedBackground().
252  */
254 
255  /**
256  * Creates a new vertex set object.
257  * @see Factory::createVertexSet().
258  */
259  ObjectRef createVertexSet() const override;
260 };
261 
262 }
263 
264 }
265 
266 }
267 
268 #endif // META_OCEAN_RENDERING_GLES_FACTORY_H
This class implements a node and object factory.
Definition: rendering/Factory.h:30
This class implements a class factory for all GLESceneGraph objects.
Definition: GLESFactory.h:30
NodeRef createSwitch() const override
Creates a new switch object.
ObjectRef createAbsoluteTransform() const override
Creates a new absolute transform.
ObjectRef createDirectionalLight() const override
Creates a new directional light object.
ObjectRef createShaderProgram() const override
Creates a new shader program object.
ObjectRef createMediaTexture2D() const override
Creates a new texture object.
NodeRef createScene() const override
Creates a new scene object.
NodeRef createBillboard() const override
Creates a new billboard object.
ObjectRef createTriangleStrips() const override
Creates a new triangle strips object.
ObjectRef createPrimitiveAttribute() const override
Creates a new primitive attribute object.
NodeRef createTransform() const override
Creates a new transform object.
NodeRef createUndistortedBackground() const override
Creates a new undistorted background object.
ObjectRef createSphere() const override
Creates a new sphere object.
ObjectRef createCone() const override
Creates a new cone object.
NodeRef createGroup() const override
Creates a new group object.
ObjectRef createText() const override
Creates a new text framebuffer object.
ObjectRef createStereoView() const override
Creates a new stereo view object.
ObjectRef createVertexSet() const override
Creates a new vertex set object.
ObjectRef createBox() const override
Creates a new box object.
ObjectRef createPhantomAttribute() const override
Creates a new phantom attribute.
ObjectRef createStereoAttribute() const override
Creates a new stereo attribute.
ObjectRef createTextureFramebuffer() const override
Creates a new texture framebuffer object.
ObjectRef createMaterial() const override
Creates a new material object.
ObjectRef createBlendAttribute() const override
Creates a new blend attribute object.
ObjectRef createCylinder() const override
Creates a new cylinder object.
ObjectRef createPoints() const override
Creates a new points object.
ObjectRef createLines() const override
Creates a new lines object.
ObjectRef createAttributeSet() const override
Creates a new attribute set object.
ObjectRef createFrameTexture2D() const override
Creates a new frame texture object.
ObjectRef createPerspectiveView() const override
Creates a new perspective view object.
ObjectRef createTriangles() const override
Creates a new triangles object.
ObjectRef createSpotLight() const override
Creates a new spot light object.
ObjectRef createTriangleFans() const override
Creates a new triangle fans object.
NodeRef createGeometry() const override
Creates a new geometry object.
NodeRef createLOD() const override
Creates a new LOD object.
ObjectRef createLineStrips() const override
Creates a new line strips object.
ObjectRef createDepthAttribute() const override
Creates a new depth attribute object.
ObjectRef createTextures() const override
Creates a new texture attribute object.
ObjectRef createPointLight() const override
Creates a new point light object.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15