1// Copyright (C) 2024 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QT3DQUICK3DEXTRASFOREIGN_P_H
5#define QT3DQUICK3DEXTRASFOREIGN_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtQml/qqml.h>
19
20#include <Qt3DExtras/qconegeometry.h>
21#include <Qt3DExtras/qconegeometryview.h>
22#include <Qt3DExtras/qconemesh.h>
23#include <Qt3DExtras/qcuboidgeometry.h>
24#include <Qt3DExtras/qcuboidgeometryview.h>
25#include <Qt3DExtras/qcuboidmesh.h>
26#include <Qt3DExtras/qcylindergeometry.h>
27#include <Qt3DExtras/qcylindergeometryview.h>
28#include <Qt3DExtras/qcylindermesh.h>
29#include <Qt3DExtras/qdiffusemapmaterial.h>
30#include <Qt3DExtras/qdiffusespecularmapmaterial.h>
31#include <Qt3DExtras/qextrudedtextgeometry.h>
32#include <Qt3DExtras/qextrudedtextmesh.h>
33#include <Qt3DExtras/qfirstpersoncameracontroller.h>
34#include <Qt3DExtras/qforwardrenderer.h>
35#include <Qt3DExtras/qgoochmaterial.h>
36#include <Qt3DExtras/qmetalroughmaterial.h>
37#include <Qt3DExtras/qdiffusespecularmaterial.h>
38#include <Qt3DExtras/qmorphphongmaterial.h>
39#include <Qt3DExtras/qnormaldiffusemapalphamaterial.h>
40#include <Qt3DExtras/qnormaldiffusemapmaterial.h>
41#include <Qt3DExtras/qnormaldiffusespecularmapmaterial.h>
42#include <Qt3DExtras/qorbitcameracontroller.h>
43#include <Qt3DExtras/qpervertexcolormaterial.h>
44#include <Qt3DExtras/qphongalphamaterial.h>
45#include <Qt3DExtras/qphongmaterial.h>
46#include <Qt3DExtras/qplanegeometry.h>
47#include <Qt3DExtras/qplanegeometryview.h>
48#include <Qt3DExtras/qplanemesh.h>
49#include <Qt3DExtras/qskyboxentity.h>
50#include <Qt3DExtras/qspheregeometry.h>
51#include <Qt3DExtras/qspheregeometryview.h>
52#include <Qt3DExtras/qspheremesh.h>
53#include <Qt3DExtras/qspritegrid.h>
54#include <Qt3DExtras/qtext2dentity.h>
55#include <Qt3DExtras/qtexturematerial.h>
56#include <Qt3DExtras/qtorusgeometry.h>
57#include <Qt3DExtras/qtorusgeometryview.h>
58#include <Qt3DExtras/qtorusmesh.h>
59
60#include <Qt3DQuickExtras/private/quick3dspritesheet_p.h>
61
62QT_BEGIN_NAMESPACE
63
64class QConeGeometryForeign
65{
66 Q_GADGET
67 QML_NAMED_ELEMENT(ConeGeometry)
68 QML_FOREIGN(Qt3DExtras::QConeGeometry)
69 QML_ADDED_IN_VERSION(2, 0)
70};
71
72class QConeGeometryViewForeign
73{
74 Q_GADGET
75 QML_NAMED_ELEMENT(ConeGeometryView)
76 QML_FOREIGN(Qt3DExtras::QConeGeometryView)
77 QML_ADDED_IN_VERSION(2, 16)
78};
79
80class QConeMeshForeign
81{
82 Q_GADGET
83 QML_NAMED_ELEMENT(ConeMesh)
84 QML_FOREIGN(Qt3DExtras::QConeMesh)
85 QML_ADDED_IN_VERSION(2, 0)
86};
87
88class QCuboidGeometryForeign
89{
90 Q_GADGET
91 QML_NAMED_ELEMENT(CuboidGeometry)
92 QML_FOREIGN(Qt3DExtras::QCuboidGeometry)
93 QML_ADDED_IN_VERSION(2, 0)
94};
95
96class QCuboidGeometryViewForeign
97{
98 Q_GADGET
99 QML_NAMED_ELEMENT(CuboidGeometryView)
100 QML_FOREIGN(Qt3DExtras::QCuboidGeometryView)
101 QML_ADDED_IN_VERSION(2, 16)
102};
103
104class QCuboidMeshForeign
105{
106 Q_GADGET
107 QML_NAMED_ELEMENT(CuboidMesh)
108 QML_FOREIGN(Qt3DExtras::QCuboidMesh)
109 QML_ADDED_IN_VERSION(2, 0)
110};
111
112class QCylinderGeometryForeign
113{
114 Q_GADGET
115 QML_NAMED_ELEMENT(CylinderGeometry)
116 QML_FOREIGN(Qt3DExtras::QCylinderGeometry)
117 QML_ADDED_IN_VERSION(2, 0)
118};
119
120class QCylinderGeometryViewForeign
121{
122 Q_GADGET
123 QML_NAMED_ELEMENT(CylinderGeometryView)
124 QML_FOREIGN(Qt3DExtras::QCylinderGeometryView)
125 QML_ADDED_IN_VERSION(2, 16)
126};
127
128class QCylinderMeshForeign
129{
130 Q_GADGET
131 QML_NAMED_ELEMENT(CylinderMesh)
132 QML_FOREIGN(Qt3DExtras::QCylinderMesh)
133 QML_ADDED_IN_VERSION(2, 0)
134};
135
136class QDiffuseMapMaterialForeign
137{
138 Q_GADGET
139 QML_NAMED_ELEMENT(DiffuseMapMaterial)
140 QML_FOREIGN(Qt3DExtras::QDiffuseMapMaterial)
141 QML_ADDED_IN_VERSION(2, 0)
142};
143
144class QDiffuseSpecularMapMaterialForeign
145{
146 Q_GADGET
147 QML_NAMED_ELEMENT(DiffuseSpecularMapMaterial)
148 QML_FOREIGN(Qt3DExtras::QDiffuseSpecularMapMaterial)
149 QML_ADDED_IN_VERSION(2, 0)
150};
151
152class QDiffuseSpecularMaterialForeign
153{
154 Q_GADGET
155 QML_NAMED_ELEMENT(DiffuseSpecularMaterial)
156 QML_FOREIGN(Qt3DExtras::QDiffuseSpecularMaterial)
157 QML_ADDED_IN_VERSION(2, 10)
158};
159
160class QExtrudedTextGeometryForeign
161{
162 Q_GADGET
163 QML_NAMED_ELEMENT(ExtrudedTextGeometry)
164 QML_FOREIGN(Qt3DExtras::QExtrudedTextGeometry)
165 QML_ADDED_IN_VERSION(2, 9)
166};
167
168class QExtrudedTextMeshForeign
169{
170 Q_GADGET
171 QML_NAMED_ELEMENT(ExtrudedTextMesh)
172 QML_FOREIGN(Qt3DExtras::QExtrudedTextMesh)
173 QML_ADDED_IN_VERSION(2, 9)
174};
175
176class QFirstPersonCameraControllerForeign
177{
178 Q_GADGET
179 QML_NAMED_ELEMENT(FirstPersonCameraController)
180 QML_FOREIGN(Qt3DExtras::QFirstPersonCameraController)
181 QML_ADDED_IN_VERSION(2, 0)
182};
183
184class QForwardRendererForeign
185{
186 Q_GADGET
187 QML_NAMED_ELEMENT(ForwardRenderer)
188 QML_FOREIGN(Qt3DExtras::QForwardRenderer)
189 QML_ADDED_IN_VERSION(2, 0)
190};
191
192class QGoochMaterialForeign
193{
194 Q_GADGET
195 QML_NAMED_ELEMENT(GoochMaterial)
196 QML_FOREIGN(Qt3DExtras::QGoochMaterial)
197 QML_ADDED_IN_VERSION(2, 0)
198};
199
200class QMetalRoughMaterialForeign
201{
202 Q_GADGET
203 QML_NAMED_ELEMENT(MetalRoughMaterial)
204 QML_FOREIGN(Qt3DExtras::QMetalRoughMaterial)
205 QML_ADDED_IN_VERSION(2, 9)
206};
207
208class QNormalDiffuseMapAlphaMaterialForeign
209{
210 Q_GADGET
211 QML_NAMED_ELEMENT(NormalDiffuseMapAlphaMaterial)
212 QML_FOREIGN(Qt3DExtras::QNormalDiffuseMapAlphaMaterial)
213 QML_ADDED_IN_VERSION(2, 0)
214};
215
216class QNormalDiffuseMapMaterialForeign
217{
218 Q_GADGET
219 QML_NAMED_ELEMENT(NormalDiffuseMapMaterial)
220 QML_FOREIGN(Qt3DExtras::QNormalDiffuseMapMaterial)
221 QML_ADDED_IN_VERSION(2, 0)
222};
223
224class QNormalDiffuseSpecularMapMaterialForeign
225{
226 Q_GADGET
227 QML_NAMED_ELEMENT(NormalDiffuseSpecularMapMaterial)
228 QML_FOREIGN(Qt3DExtras::QNormalDiffuseSpecularMapMaterial)
229 QML_ADDED_IN_VERSION(2, 0)
230};
231
232class QOrbitCameraControllerForeign
233{
234 Q_GADGET
235 QML_NAMED_ELEMENT(OrbitCameraController)
236 QML_FOREIGN(Qt3DExtras::QOrbitCameraController)
237 QML_ADDED_IN_VERSION(2, 0)
238};
239
240class QPerVertexColorMaterialForeign
241{
242 Q_GADGET
243 QML_NAMED_ELEMENT(PerVertexColorMaterial)
244 QML_FOREIGN(Qt3DExtras::QPerVertexColorMaterial)
245 QML_ADDED_IN_VERSION(2, 0)
246};
247
248class QPhongAlphaMaterialForeign
249{
250 Q_GADGET
251 QML_NAMED_ELEMENT(PhongAlphaMaterial)
252 QML_FOREIGN(Qt3DExtras::QPhongAlphaMaterial)
253 QML_ADDED_IN_VERSION(2, 0)
254};
255
256class QPhongMaterialForeign
257{
258 Q_GADGET
259 QML_NAMED_ELEMENT(PhongMaterial)
260 QML_FOREIGN(Qt3DExtras::QPhongMaterial)
261 QML_ADDED_IN_VERSION(2, 0)
262};
263
264class QPlaneGeometryForeign
265{
266 Q_GADGET
267 QML_NAMED_ELEMENT(PlaneGeometry)
268 QML_FOREIGN(Qt3DExtras::QPlaneGeometry)
269 QML_ADDED_IN_VERSION(2, 0)
270};
271
272class QPlaneGeometryViewForeign
273{
274 Q_GADGET
275 QML_NAMED_ELEMENT(PlaneGeometryView)
276 QML_FOREIGN(Qt3DExtras::QPlaneGeometryView)
277 QML_ADDED_IN_VERSION(2, 16)
278};
279
280class QPlaneMeshForeign
281{
282 Q_GADGET
283 QML_NAMED_ELEMENT(PlaneMesh)
284 QML_FOREIGN(Qt3DExtras::QPlaneMesh)
285 QML_ADDED_IN_VERSION(2, 0)
286};
287
288class QSkyboxEntityForeign
289{
290 Q_GADGET
291 QML_NAMED_ELEMENT(SkyboxEntity)
292 QML_FOREIGN(Qt3DExtras::QSkyboxEntity)
293 QML_ADDED_IN_VERSION(2, 0)
294};
295
296class QSphereGeometryForeign
297{
298 Q_GADGET
299 QML_NAMED_ELEMENT(SphereGeometry)
300 QML_FOREIGN(Qt3DExtras::QSphereGeometry)
301 QML_ADDED_IN_VERSION(2, 0)
302};
303
304class QSphereGeometryViewForeign
305{
306 Q_GADGET
307 QML_NAMED_ELEMENT(SphereGeometryView)
308 QML_FOREIGN(Qt3DExtras::QSphereGeometryView)
309 QML_ADDED_IN_VERSION(2, 16)
310};
311
312class QSphereMeshForeign
313{
314 Q_GADGET
315 QML_NAMED_ELEMENT(SphereMesh)
316 QML_FOREIGN(Qt3DExtras::QSphereMesh)
317 QML_ADDED_IN_VERSION(2, 0)
318};
319
320class QSpriteGridForeign
321{
322 Q_GADGET
323 QML_NAMED_ELEMENT(SpriteGrid)
324 QML_FOREIGN(Qt3DExtras::QSpriteGrid)
325 QML_ADDED_IN_VERSION(2, 10)
326};
327
328class QSpriteItemForeign
329{
330 Q_GADGET
331 QML_NAMED_ELEMENT(SpriteItem)
332 QML_FOREIGN(Qt3DExtras::QSpriteSheetItem)
333 QML_ADDED_IN_VERSION(2, 10)
334};
335
336class QText2DEntityForeign
337{
338 Q_GADGET
339 QML_NAMED_ELEMENT(Text2DEntity)
340 QML_FOREIGN(Qt3DExtras::QText2DEntity)
341 QML_ADDED_IN_VERSION(2, 9)
342};
343
344class QTextureMaterialForeign
345{
346 Q_GADGET
347 QML_NAMED_ELEMENT(TextureMaterial)
348 QML_FOREIGN(Qt3DExtras::QTextureMaterial)
349 QML_ADDED_IN_VERSION(2, 0)
350};
351
352class QTorusGeometryForeign
353{
354 Q_GADGET
355 QML_NAMED_ELEMENT(TorusGeometry)
356 QML_FOREIGN(Qt3DExtras::QTorusGeometry)
357 QML_ADDED_IN_VERSION(2, 0)
358};
359
360class QTorusGeometryViewForeign
361{
362 Q_GADGET
363 QML_NAMED_ELEMENT(TorusGeometryView)
364 QML_FOREIGN(Qt3DExtras::QTorusGeometryView)
365 QML_ADDED_IN_VERSION(2, 16)
366};
367
368class QTorusMeshForeign
369{
370 Q_GADGET
371 QML_NAMED_ELEMENT(TorusMesh)
372 QML_FOREIGN(Qt3DExtras::QTorusMesh)
373 QML_ADDED_IN_VERSION(2, 0)
374};
375
376QT_END_NAMESPACE
377
378#endif // QT3DQUICK3DEXTRASFOREIGN_P_H
379

source code of qt3d/src/quick3d/quick3dextras/qt3dquick3dextrasforeign_p.h