Ocean
Loading...
Searching...
No Matches
GLESTransform.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_TRANSFORM_H
9#define META_OCEAN_RENDERING_GLES_TRANSFORM_H
10
13
15
16namespace Ocean
17{
18
19namespace Rendering
20{
21
22namespace GLESceneGraph
23{
24
25/**
26 * This class implements a GLESceneGraph transform object.
27 * @ingroup renderinggles
28 */
29class OCEAN_RENDERING_GLES_EXPORT GLESTransform :
30 virtual public GLESGroup,
31 virtual public Transform
32{
33 friend class GLESFactory;
34
35 public:
36
37 /**
38 * Returns the bounding box of this node.
39 * @see Node::boundingBox().
40 */
41 BoundingBox boundingBox(const bool involveLocalTransformation) const override;
42
43 /**
44 * Returns the transformation of this node relative to the parent node.
45 * @see Transform::transformation().
46 */
48
49 /**
50 * Returns the TransformModifier object of this transform.
51 * @see Transform::transformModifier().
52 */
54
55 /**
56 * Sets the transformation of this node relative to the parent node.
57 * @see Transform::setTransformation().
58 */
59 void setTransformation(const HomogenousMatrix4& parent_T_transform) override;
60
61 /**
62 * Sets the TransformModifier object for this transformation.
63 * @see Transform::setTransformModifier().
64 */
65 void setTransformModifier(SharedTransformModifier transformModifier) override;
66
67 /**
68 * Adds this node and all child node to a traverser.
69 * @see GLESNode::addToTraverser().
70 */
71 void addToTraverser(const GLESFramebuffer& framebuffer, const SquareMatrix4& projectionMatrix, const HomogenousMatrix4& camera_T_parent, const Lights& lights, GLESTraverser& traverser) const override;
72
73 protected:
74
75 /**
76 * Creates a new GLESceneGraph transform node.
77 */
79
80 /**
81 * Destructs a GLESceneGraph transform node.
82 */
83 ~GLESTransform() override;
84
85 protected:
86
87 /// The transformation between this object and the parent.
89
90 /// The optional transform modifier.
92};
93
94}
95
96}
97
98}
99
100#endif // META_OCEAN_RENDERING_GLES_TRANSFORM_H
This class implements a 3D bounding box.
Definition BoundingBox.h:23
This class implements a class factory for all GLESceneGraph objects.
Definition GLESFactory.h:30
This class implements a base for all GLESceneGraph framebuffers.
Definition rendering/glescenegraph/GLESFramebuffer.h:34
This class implements a GLESceneGraph group object.
Definition GLESGroup.h:32
This class implements a GLESceneGraph transform object.
Definition GLESTransform.h:32
GLESTransform()
Creates a new GLESceneGraph transform node.
void setTransformModifier(SharedTransformModifier transformModifier) override
Sets the TransformModifier object for this transformation.
HomogenousMatrix4 parent_T_object_
The transformation between this object and the parent.
Definition GLESTransform.h:88
SharedTransformModifier transformModifier() const override
Returns the TransformModifier object of this transform.
~GLESTransform() override
Destructs a GLESceneGraph transform node.
HomogenousMatrix4 transformation() const override
Returns the transformation of this node relative to the parent node.
void setTransformation(const HomogenousMatrix4 &parent_T_transform) override
Sets the transformation of this node relative to the parent node.
void addToTraverser(const GLESFramebuffer &framebuffer, const SquareMatrix4 &projectionMatrix, const HomogenousMatrix4 &camera_T_parent, const Lights &lights, GLESTraverser &traverser) const override
Adds this node and all child node to a traverser.
SharedTransformModifier transformModifier_
The optional transform modifier.
Definition GLESTransform.h:91
BoundingBox boundingBox(const bool involveLocalTransformation) const override
Returns the bounding box of this node.
This class implements a traverser for renderables.
Definition GLESTraverser.h:39
This class is the base class for all transform nodes.
Definition rendering/Transform.h:43
std::shared_ptr< TransformModifier > SharedTransformModifier
Definition of a shared pointer holding a TransformModifier object.
Definition rendering/Transform.h:89
std::vector< LightPair > Lights
Definition of a set holding light sources.
Definition GLESLightSource.h:44
The namespace covering the entire Ocean framework.
Definition Accessor.h:15