1 /****************************************************************************
2 **
3 ** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the Qt3D module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 3 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL3 included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 3 requirements
23 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24 **
25 ** GNU General Public License Usage
26 ** Alternatively, this file may be used under the terms of the GNU
27 ** General Public License version 2.0 or (at your option) the GNU General
28 ** Public license version 3 or any later version approved by the KDE Free
29 ** Qt Foundation. The licenses are as published by the Free Software
30 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31 ** included in the packaging of this file. Please review the following
32 ** information to ensure the GNU General Public License requirements will
33 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34 ** https://www.gnu.org/licenses/gpl-3.0.html.
35 **
36 ** $QT_END_LICENSE$
37 **
38 ****************************************************************************/
39 
40 #ifndef QT3DRENDER_RENDER_HANDLE_TYPES_P_H
41 #define QT3DRENDER_RENDER_HANDLE_TYPES_P_H
42 
43 //
44 //  W A R N I N G
45 //  -------------
46 //
47 // This file is not part of the Qt API.  It exists for the convenience
48 // of other Qt classes.  This header file may change from version to
49 // version without notice, or even be removed.
50 //
51 // We mean it.
52 //
53 
54 #include <Qt3DRender/qt3drender_global.h>
55 #include <Qt3DCore/private/qhandle_p.h>
56 #include <Qt3DCore/private/matrix4x4_p.h>
57 
58 QT_BEGIN_NAMESPACE
59 
60 namespace Qt3DRender {
61 
62 class QTextureImageData;
63 
64 namespace Render {
65 
66 class RenderTargetOutput;
67 class CameraLens;
68 class FilterKey;
69 class Effect;
70 class Entity;
71 class Shader;
72 class ShaderBuilder;
73 class FrameGraphNode;
74 class Layer;
75 class LevelOfDetail;
76 class Material;
77 class Technique;
78 class Texture;
79 class Transform;
80 class RenderTarget;
81 class RenderPass;
82 class Parameter;
83 class ShaderData;
84 class TextureImage;
85 class Buffer;
86 class Attribute;
87 class Geometry;
88 class GeometryRenderer;
89 class ObjectPicker;
90 class RayCaster;
91 class BoundingVolumeDebug;
92 class Light;
93 class EnvironmentLight;
94 class ComputeCommand;
95 class RenderStateNode;
96 class Armature;
97 class Skeleton;
98 class Joint;
99 class ShaderImage;
100 
101 typedef Qt3DCore::QHandle<RenderTargetOutput> HAttachment;
102 typedef Qt3DCore::QHandle<CameraLens> HCamera;
103 typedef Qt3DCore::QHandle<FilterKey> HFilterKey;
104 typedef Qt3DCore::QHandle<Effect> HEffect;
105 typedef Qt3DCore::QHandle<Entity> HEntity;
106 typedef Qt3DCore::QHandle<FrameGraphNode *> HFrameGraphNode;
107 typedef Qt3DCore::QHandle<Layer> HLayer;
108 typedef Qt3DCore::QHandle<LevelOfDetail> HLevelOfDetail;
109 typedef Qt3DCore::QHandle<Material> HMaterial;
110 typedef Qt3DCore::QHandle<Matrix4x4> HMatrix;
111 typedef Qt3DCore::QHandle<Shader> HShader;
112 typedef Qt3DCore::QHandle<ShaderBuilder> HShaderBuilder;
113 typedef Qt3DCore::QHandle<Technique> HTechnique;
114 typedef Qt3DCore::QHandle<Texture> HTexture;
115 typedef Qt3DCore::QHandle<Transform> HTransform;
116 typedef Qt3DCore::QHandle<RenderTarget> HTarget;
117 typedef Qt3DCore::QHandle<RenderPass> HRenderPass;
118 typedef Qt3DCore::QHandle<QTextureImageData> HTextureData;
119 typedef Qt3DCore::QHandle<Parameter> HParameter;
120 typedef Qt3DCore::QHandle<ShaderData> HShaderData;
121 typedef Qt3DCore::QHandle<TextureImage> HTextureImage;
122 typedef Qt3DCore::QHandle<Buffer> HBuffer;
123 typedef Qt3DCore::QHandle<Attribute> HAttribute;
124 typedef Qt3DCore::QHandle<Geometry> HGeometry;
125 typedef Qt3DCore::QHandle<GeometryRenderer> HGeometryRenderer;
126 typedef Qt3DCore::QHandle<ObjectPicker> HObjectPicker;
127 typedef Qt3DCore::QHandle<RayCaster> HRayCaster;
128 typedef Qt3DCore::QHandle<BoundingVolumeDebug> HBoundingVolumeDebug;
129 typedef Qt3DCore::QHandle<Light> HLight;
130 typedef Qt3DCore::QHandle<EnvironmentLight> HEnvironmentLight;
131 typedef Qt3DCore::QHandle<ComputeCommand> HComputeCommand;
132 typedef Qt3DCore::QHandle<RenderStateNode> HRenderState;
133 typedef Qt3DCore::QHandle<Armature> HArmature;
134 typedef Qt3DCore::QHandle<Skeleton> HSkeleton;
135 typedef Qt3DCore::QHandle<Joint> HJoint;
136 typedef Qt3DCore::QHandle<ShaderImage> HShaderImage;
137 
138 } // namespace Render
139 
140 } // namespace Qt3DRender
141 
142 QT_END_NAMESPACE
143 
144 #endif // QT3DRENDER_RENDER_HANDLE_TYPES_P_H
145