summaryrefslogtreecommitdiffstats
path: root/src/Runtime/ogl-runtime/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/ogl-runtime/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h')
m---------src/Runtime/ogl-runtime0
-rw-r--r--src/Runtime/ogl-runtime/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h956
2 files changed, 0 insertions, 956 deletions
diff --git a/src/Runtime/ogl-runtime b/src/Runtime/ogl-runtime
new file mode 160000
+Subproject 427fddb50d43aa21a90fc7356ee3cdd8a908df5
diff --git a/src/Runtime/ogl-runtime/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h b/src/Runtime/ogl-runtime/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h
deleted file mode 100644
index 1a079402..00000000
--- a/src/Runtime/ogl-runtime/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h
+++ /dev/null
@@ -1,956 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2008 NVIDIA Corporation.
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt 3D Studio.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#pragma once
-#include "Qt3DSDMHandles.h"
-#include "Qt3DSDMDataTypes.h"
-#include "foundation/Qt3DSOption.h"
-#include "Qt3DSDMDataCore.h"
-#include <utility>
-
-// Defines the minimal property model that UIComposer needs to
-// run off of.
-namespace qt3dsdm {
-class IDataCore;
-class IMetaData;
-class ISlideCore;
-class IPropertySystem;
-
-// Extensible macro definitions
-// Enumerations *have* to be in derivation order
-// else initialization of the SComposerObjectDefinitions class
-// will fail catastrophically
-// Specific type documentation is below
-#define ITERATE_COMPOSER_OBJECT_TYPES \
- HANDLE_COMPOSER_OBJECT_TYPE(Typed, ITERATE_COMPOSER_TYPED_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Guided, ITERATE_COMPOSER_GUIDED_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Named, ITERATE_COMPOSER_NAMED_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(SlideOwner, ITERATE_COMPOSER_NO_ADDITIONAL_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Slide, ITERATE_COMPOSER_SLIDE_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Action, ITERATE_COMPOSER_ACTION_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Asset, ITERATE_COMPOSER_ASSET_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Scene, ITERATE_COMPOSER_SCENE_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Image, ITERATE_COMPOSER_IMAGE_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(MaterialBase, ITERATE_COMPOSER_MATERIAL_BASE_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Lightmaps, ITERATE_COMPOSER_LIGHTMAP_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Material, ITERATE_COMPOSER_MATERIAL_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(CustomMaterial, ITERATE_COMPOSER_NO_ADDITIONAL_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(ReferencedMaterial, \
- ITERATE_COMPOSER_REFERENCED_MATERIAL_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Behavior, ITERATE_COMPOSER_NO_ADDITIONAL_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Effect, ITERATE_COMPOSER_NO_ADDITIONAL_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Node, ITERATE_COMPOSER_NODE_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Layer, ITERATE_COMPOSER_LAYER_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Group, ITERATE_COMPOSER_GROUP_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Model, ITERATE_COMPOSER_MODEL_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Light, ITERATE_COMPOSER_LIGHT_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Camera, ITERATE_COMPOSER_CAMERA_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Component, ITERATE_COMPOSER_COMPONENT_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Text, ITERATE_COMPOSER_TEXT_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(RenderPlugin, ITERATE_COMPOSER_NO_ADDITIONAL_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Alias, ITERATE_COMPOSER_ALIAS_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(Path, ITERATE_COMPOSER_PATH_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(PathAnchorPoint, ITERATE_COMPOSER_PATH_ANCHOR_POINT_PROPERTIES) \
- HANDLE_COMPOSER_OBJECT_TYPE(SubPath, ITERATE_COMPOSER_PATH_SUBPATH_PROPERTIES)
-
-#define ITERATE_COMPOSER_NO_ADDITIONAL_PROPERTIES
-
-#define ITERATE_COMPOSER_TYPED_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(type, m_TypeProp, TDataStrPtr, L"Typed")
-
-#define ITERATE_COMPOSER_GUIDED_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(id, m_GuidProp, SLong4, 0)
-
-#define ITERATE_COMPOSER_NAMED_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(name, m_NameProp, TDataStrPtr, L"Unnamed")
-
-#define ITERATE_COMPOSER_ASSET_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(sourcepath, m_SourcePath, TDataStrPtr, L"") \
- HANDLE_COMPOSER_PROPERTY(importid, m_ImportId, TDataStrPtr, L"") \
- HANDLE_COMPOSER_PROPERTY(importfile, m_ImportFile, TDataStrPtr, L"") \
- HANDLE_COMPOSER_PROPERTY(fileid, m_FileId, TDataStrPtr, L"") \
- HANDLE_COMPOSER_PROPERTY(starttime, m_StartTime, qt3ds::QT3DSI32, 0) \
- HANDLE_COMPOSER_PROPERTY(endtime, m_EndTime, qt3ds::QT3DSI32, 10000) \
- HANDLE_COMPOSER_PROPERTY(eyeball, m_Eyeball, bool, true) \
- HANDLE_COMPOSER_PROPERTY(shy, m_Shy, bool, false) \
- HANDLE_COMPOSER_PROPERTY(locked, m_Locked, bool, false) \
- HANDLE_COMPOSER_PROPERTY_NO_DEFAULT(timebarcolor, m_TimebarColor, SFloat4) \
- HANDLE_COMPOSER_PROPERTY(timebartext, m_TimebarText, TDataStrPtr, L"") \
- HANDLE_COMPOSER_PROPERTY(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_SCENE_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(bgcolorenable, m_BgColorEnable, bool, true) \
- HANDLE_COMPOSER_PROPERTY(backgroundcolor, m_BackgroundColor, SFloat4, SFloat4(0, 0, 0, 1)) \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_COMPONENT_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(variants, m_variants, TDataStrPtr, L"") \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_NODE_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(position, m_Position, SFloat3, SFloat3(0, 0, 0)) \
- HANDLE_COMPOSER_PROPERTY(rotation, m_Rotation, SFloat3, SFloat3(0, 0, 0)) \
- HANDLE_COMPOSER_PROPERTY(scale, m_Scale, SFloat3, SFloat3(1, 1, 1)) \
- HANDLE_COMPOSER_PROPERTY(pivot, m_Pivot, SFloat3, SFloat3(0, 0, 0)) \
- HANDLE_COMPOSER_PROPERTY(opacity, m_Opacity, float, 100.f) \
- HANDLE_COMPOSER_PROPERTY(rotationorder, m_RotationOrder, TDataStrPtr, L"YXZ") \
- HANDLE_COMPOSER_PROPERTY(orientation, m_Orientation, TDataStrPtr, L"Left Handed") \
- HANDLE_COMPOSER_PROPERTY(boneid, m_BoneId, qt3ds::QT3DSI32, 0) \
- HANDLE_COMPOSER_PROPERTY(ignoresparent, m_IgnoresParent, bool, false) \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_MODEL_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(shadowcaster, m_ShadowCaster, bool, true) \
- HANDLE_COMPOSER_PROPERTY(poseroot, m_PoseRoot, qt3ds::QT3DSI32, -1) \
- HANDLE_COMPOSER_PROPERTY(tessellation, m_Tessellation, TDataStrPtr, L"None") \
- HANDLE_COMPOSER_PROPERTY(edgetess, m_EdgeTess, float, 1.0) \
- HANDLE_COMPOSER_PROPERTY(innertess, m_InnerTess, float, 1.0) \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(variants, m_variants, TDataStrPtr, L"") \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_IMAGE_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(scaleu, m_RepeatU, float, 1.0f) \
- HANDLE_COMPOSER_PROPERTY(scalev, m_RepeatV, float, 1.0f) \
- HANDLE_COMPOSER_PROPERTY(mappingmode, m_TextureMapping, TDataStrPtr, L"UV Mapping") \
- HANDLE_COMPOSER_PROPERTY(tilingmodehorz, m_TilingU, TDataStrPtr, L"No Tiling") \
- HANDLE_COMPOSER_PROPERTY(tilingmodevert, m_TilingV, TDataStrPtr, L"No Tiling") \
- HANDLE_COMPOSER_PROPERTY(rotationuv, m_RotationUV, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(positionu, m_PositionU, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(positionv, m_PositionV, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(pivotu, m_PivotU, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(pivotv, m_PivotV, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(subpresentation, m_SubPresentation, TDataStrPtr, L"") \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_LIGHTMAP_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(lightmapindirect, m_LightmapIndirect, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(lightmapradiosity, m_LightmapRadiosity, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(lightmapshadow, m_LightmapShadow, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_CUSTOM_MATERIAL_PROPERTIES \
- HANDLE_QT3DS_RENDER_PROPERTY(iblprobe, m_IblProbe, SLong4, 0)
-
-#define ITERATE_COMPOSER_MATERIAL_BASE_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(iblprobe, m_IblProbe, SLong4, 0)
-
-#define ITERATE_COMPOSER_MATERIAL_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(shaderlighting, m_ShaderLighting, TDataStrPtr, L"Vertex") \
- HANDLE_COMPOSER_PROPERTY(blendmode, m_BlendMode, TDataStrPtr, L"Normal") \
- HANDLE_COMPOSER_PROPERTY(diffuse, m_DiffuseColor, SFloat4, SFloat4(1, 1, 1, 1)) \
- HANDLE_COMPOSER_PROPERTY(diffusemap, m_DiffuseMap1, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(diffusemap2, m_DiffuseMap2, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(diffusemap3, m_DiffuseMap3, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(specularreflection, m_SpecularReflection, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(specularamount, m_SpecularAmount, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(specularroughness, m_SpecularRoughness, float, 50.f) \
- HANDLE_COMPOSER_PROPERTY(roughnessmap, m_RoughnessMap, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(opacity, m_Opacity, float, 100.f) \
- HANDLE_COMPOSER_PROPERTY(opacitymap, m_OpacityMap, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(emissivecolor, m_EmissiveColor, SFloat4, SFloat4(1, 1, 1, 1)) \
- HANDLE_COMPOSER_PROPERTY(emissivepower, m_EmissivePower, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(emissivemap, m_EmissiveMap, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(emissivemap2, m_EmissiveMap2, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(bumpmap, m_BumpMap, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(bumpamount, m_BumpAmount, float, 9.0f) \
- HANDLE_COMPOSER_PROPERTY(normalmap, m_NormalMap, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(displacementmap, m_DisplacementMap, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(displaceamount, m_DisplaceAmount, float, 0.5f) \
- HANDLE_COMPOSER_PROPERTY(translucencymap, m_TranslucencyMap, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(translucentfalloff, m_TranslucentFalloff, float, 1.f) \
- HANDLE_COMPOSER_PROPERTY(diffuselightwrap, m_DiffuseLightWrap, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(specularmap, m_SpecularMap, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(specularmodel, m_SpecularModel, TDataStrPtr, L"Default") \
- HANDLE_COMPOSER_PROPERTY(speculartint, m_SpecularTint, SFloat4, SFloat4(1, 1, 1, 1)) \
- HANDLE_COMPOSER_PROPERTY(ior, m_IOR, float, 0) \
- HANDLE_COMPOSER_PROPERTY(fresnelPower, m_FresnelPower, float, 0) \
- HANDLE_COMPOSER_PROPERTY(vertexcolors, m_VertexColors, bool, false) \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_REFERENCED_MATERIAL_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(referencedmaterial, m_ReferencedMaterial, SObjectRefType, L"")
-
-#define ITERATE_COMPOSER_LAYER_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(progressiveaa, m_ProgressiveAA, TDataStrPtr, L"None") \
- HANDLE_COMPOSER_PROPERTY(multisampleaa, m_MultisampleAA, TDataStrPtr, L"None") \
- HANDLE_COMPOSER_PROPERTY(temporalaa, m_TemporalAA, bool, false) \
- HANDLE_COMPOSER_PROPERTY(disabledepthtest, m_DisableDepthTest, bool, false) \
- HANDLE_COMPOSER_PROPERTY(disabledepthprepass, m_DisableDepthPrepass, bool, false) \
- HANDLE_COMPOSER_PROPERTY(background, m_Background, TDataStrPtr, L"Transparent") \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(backgroundcolor, m_BackgroundColor, SFloat4, \
- SFloat4(0, 0, 0, 1)) \
- HANDLE_COMPOSER_PROPERTY(blendtype, m_BlendType, TDataStrPtr, L"Normal") \
- HANDLE_COMPOSER_PROPERTY(horzfields, m_HorizontalFieldValues, TDataStrPtr, L"Left/Width") \
- HANDLE_COMPOSER_PROPERTY(left, m_Left, float, 0) \
- HANDLE_COMPOSER_PROPERTY(leftunits, m_LeftUnits, TDataStrPtr, L"percent") \
- HANDLE_COMPOSER_PROPERTY(width, m_Width, float, 100.0f) \
- HANDLE_COMPOSER_PROPERTY(widthunits, m_WidthUnits, TDataStrPtr, L"percent") \
- HANDLE_COMPOSER_PROPERTY(right, m_Right, float, 0) \
- HANDLE_COMPOSER_PROPERTY(rightunits, m_RightUnits, TDataStrPtr, L"percent") \
- HANDLE_COMPOSER_PROPERTY(vertfields, m_VerticalFieldValues, TDataStrPtr, L"Top/Height") \
- HANDLE_COMPOSER_PROPERTY(top, m_Top, float, 0) \
- HANDLE_COMPOSER_PROPERTY(topunits, m_TopUnits, TDataStrPtr, L"percent") \
- HANDLE_COMPOSER_PROPERTY(height, m_Height, float, 100.0f) \
- HANDLE_COMPOSER_PROPERTY(heightunits, m_HeightUnits, TDataStrPtr, L"percent") \
- HANDLE_COMPOSER_PROPERTY(bottom, m_Bottom, float, 0) \
- HANDLE_COMPOSER_PROPERTY(bottomunits, m_BottomUnits, TDataStrPtr, L"percent") \
- HANDLE_COMPOSER_PROPERTY(aostrength, m_AoStrength, float, 0) \
- HANDLE_COMPOSER_PROPERTY(aodistance, m_AoDistance, float, 0) \
- HANDLE_COMPOSER_PROPERTY(aosoftness, m_AoSoftness, float, 0) \
- HANDLE_COMPOSER_PROPERTY(aobias, m_AoBias, float, 0) \
- HANDLE_COMPOSER_PROPERTY(aosamplerate, m_AoSamplerate, qt3ds::QT3DSI32, 1) \
- HANDLE_COMPOSER_PROPERTY(aodither, m_AoDither, bool, false) \
- HANDLE_COMPOSER_PROPERTY(shadowstrength, m_ShadowStrength, float, 0) \
- HANDLE_COMPOSER_PROPERTY(shadowdist, m_ShadowDist, float, 0) \
- HANDLE_COMPOSER_PROPERTY(shadowsoftness, m_ShadowSoftness, float, 0) \
- HANDLE_COMPOSER_PROPERTY(shadowbias, m_ShadowBias, float, 0) \
- HANDLE_COMPOSER_PROPERTY(lightprobe, m_LightProbe, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(probebright, m_ProbeBright, float, 100.0f) \
- HANDLE_COMPOSER_PROPERTY(fastibl, m_FastIbl, bool, true) \
- HANDLE_COMPOSER_PROPERTY(probehorizon, m_ProbeHorizon, float, -1) \
- HANDLE_COMPOSER_PROPERTY(probefov, m_ProbeFov, float, 180.0f) \
- HANDLE_COMPOSER_PROPERTY(lightprobe2, m_LightProbe2, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(probe2fade, m_Probe2Fade, float, 1) \
- HANDLE_COMPOSER_PROPERTY(probe2window, m_Probe2Window, float, 1) \
- HANDLE_COMPOSER_PROPERTY(probe2pos, m_Probe2Pos, float, 0.5f) \
- HANDLE_COMPOSER_PROPERTY(variants, m_variants, TDataStrPtr, L"") \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_GROUP_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(variants, m_variants, TDataStrPtr, L"") \
-
-#define ITERATE_COMPOSER_LIGHT_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(lighttype, m_LightType, TDataStrPtr, L"Directional") \
- HANDLE_COMPOSER_PROPERTY(scope, m_Scope, SObjectRefType, L"") \
- HANDLE_COMPOSER_PROPERTY(lightdiffuse, m_LightColor, SFloat4, SFloat4(1, 1, 1, 1)) \
- HANDLE_COMPOSER_PROPERTY(lightspecular, m_SpecularColor, SFloat4, SFloat4(1, 1, 1, 1)) \
- HANDLE_COMPOSER_PROPERTY(lightambient, m_AmbientColor, SFloat4, SFloat4(0, 0, 0, 1)) \
- HANDLE_COMPOSER_PROPERTY(brightness, m_Brightness, float, 100.0f) \
- HANDLE_COMPOSER_PROPERTY(linearfade, m_LinearFade, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(expfade, m_ExpFade, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(areawidth, m_AreaWidth, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(areaheight, m_AreaHeight, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(castshadow, m_CastShadow, bool, false) \
- HANDLE_COMPOSER_PROPERTY(shdwbias, m_ShadowBias, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(shdwfactor, m_ShadowFactor, float, 5.0f) \
- HANDLE_COMPOSER_PROPERTY(shdwmapres, m_ShadowMapRes, qt3ds::QT3DSI32, 9) \
- HANDLE_COMPOSER_PROPERTY(shdwmapfar, m_ShadowMapFar, float, 5000.0f) \
- HANDLE_COMPOSER_PROPERTY(shdwmapfov, m_ShadowMapFov, float, 90.0f) \
- HANDLE_COMPOSER_PROPERTY(shdwfilter, m_ShadowFilter, float, 35.0f) \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_CAMERA_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(orthographic, m_Orthographic, bool, false) \
- HANDLE_COMPOSER_PROPERTY(fov, m_Fov, float, 60.f) \
- HANDLE_COMPOSER_PROPERTY(fovhorizontal, m_FovHorizontal, bool, false) \
- HANDLE_COMPOSER_PROPERTY(clipnear, m_ClipNear, float, 10.f) \
- HANDLE_COMPOSER_PROPERTY(clipfar, m_ClipFar, float, 100000.f) \
- HANDLE_COMPOSER_PROPERTY(scalemode, m_ScaleMode, TDataStrPtr, L"Fit") \
- HANDLE_COMPOSER_PROPERTY(scaleanchor, m_ScaleAnchor, TDataStrPtr, L"Center") \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_EDIT_CAMERA_PROPERTIES HANDLE_COMPOSER_PROPERTY(is3d, m_Is3d, bool, false)
-
-#define ITERATE_COMPOSER_TEXT_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(textstring, m_TextString, TDataStrPtr, L"Text") \
- HANDLE_COMPOSER_PROPERTY(textcolor, m_TextColor, SFloat4, SFloat4(1, 1, 1, 1)) \
- HANDLE_COMPOSER_PROPERTY(font, m_Font, TDataStrPtr, L"arial") \
- HANDLE_COMPOSER_PROPERTY(size, m_Size, float, 24.f) \
- HANDLE_COMPOSER_PROPERTY(horzalign, m_HorzAlign, TDataStrPtr, L"Center") \
- HANDLE_COMPOSER_PROPERTY(vertalign, m_VertAlign, TDataStrPtr, L"Middle") \
- HANDLE_COMPOSER_PROPERTY(leading, m_Leading, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(tracking, m_Tracking, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(dropshadow, m_DropShadow, bool, false) \
- HANDLE_COMPOSER_PROPERTY(dropshadowstrength, m_DropShadowStrength, float, 80.f) \
- HANDLE_COMPOSER_PROPERTY(dropshadowoffsetx, m_DropShadowOffsetX, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(dropshadowoffsety, m_DropShadowOffsetY, float, 0.f) \
- HANDLE_COMPOSER_PROPERTY(wordwrap, m_WordWrap, TDataStrPtr, L"WrapWord") \
- HANDLE_COMPOSER_PROPERTY(boundingbox, m_BoundingBox, SFloat2, SFloat2(0, 0)) \
- HANDLE_COMPOSER_PROPERTY(elide, m_Elide, TDataStrPtr, L"ElideNone") \
- HANDLE_COMPOSER_PROPERTY(enableacceleratedfont, m_EnableAcceleratedFont, bool, false) \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(variants, m_variants, TDataStrPtr, L"") \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_SLIDE_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(componentid, m_ComponentId, SLong4, 0) \
- HANDLE_COMPOSER_PROPERTY(playmode, m_PlayMode, TDataStrPtr, L"Looping") \
- HANDLE_COMPOSER_PROPERTY(playthroughto, m_PlaythroughTo, SStringOrInt, L"Next") \
- HANDLE_COMPOSER_PROPERTY(initialplaystate, m_InitialPlayState, TDataStrPtr, L"Play") \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_ACTION_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(actioneyeball, m_ActionEyeball, bool, true)
-
-#define ITERATE_COMPOSER_ALIAS_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(referencednode, m_ReferencedNode, SObjectRefType, L"") \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_PATH_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(pathtype, m_PathType, TDataStrPtr, L"Geometry") \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(width, m_Width, float, 5.0f) \
- HANDLE_COMPOSER_PROPERTY(linearerror, m_LinearError, float, 10) \
- HANDLE_COMPOSER_PROPERTY(edgetessamount, m_EdgeTessAmount, float, 8) \
- HANDLE_COMPOSER_PROPERTY(innertessamount, m_InnerTessAmount, float, 8) \
- HANDLE_COMPOSER_PROPERTY(begincap, m_BeginCap, TDataStrPtr, L"None") \
- HANDLE_COMPOSER_PROPERTY(begincapoffset, m_BeginCapOffset, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(begincapopacity, m_BeginCapOpacity, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(begincapwidth, m_BeginCapWidth, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(endcap, m_EndCap, TDataStrPtr, L"None") \
- HANDLE_COMPOSER_PROPERTY(endcapoffset, m_EndCapOffset, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(endcapopacity, m_EndCapOpacity, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(endcapwidth, m_EndCapWidth, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(paintstyle, m_PaintStyle, TDataStrPtr, L"Stroked") \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
-
-#define ITERATE_COMPOSER_PATH_ANCHOR_POINT_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY_DUPLICATE(position, m_Position, SFloat2, SFloat2(0.0f, 0.0f)) \
- HANDLE_COMPOSER_PROPERTY(incomingangle, m_IncomingAngle, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(incomingdistance, m_IncomingDistance, float, 0.0f) \
- HANDLE_COMPOSER_PROPERTY(outgoingdistance, m_OutgoingDistance, float, 0.0f)
-
-#define ITERATE_COMPOSER_PATH_SUBPATH_PROPERTIES \
- HANDLE_COMPOSER_PROPERTY(closed, m_Closed, bool, true)
-
-struct ComposerObjectTypes
-{
- enum Enum {
- Unknown = 0,
-#define HANDLE_COMPOSER_OBJECT_TYPE(name, propmacro) name,
- ITERATE_COMPOSER_OBJECT_TYPES
-#undef HANDLE_COMPOSER_OBJECT_TYPE
- ControllableObject
- };
- static const wchar_t *Convert(ComposerObjectTypes::Enum inType);
- static ComposerObjectTypes::Enum Convert(const wchar_t *inType);
- static ComposerObjectTypes::Enum Convert(const char8_t *inType);
-};
-
-struct ComposerPropertyNames
-{
- enum Enum {
- Unknown = 0,
-#define HANDLE_COMPOSER_PROPERTY_NO_DEFAULT(name, memberName, type) name,
-#define HANDLE_COMPOSER_PROPERTY_DUPLICATE(name, memberName, type, defaultValue)
-#define HANDLE_COMPOSER_PROPERTY(name, memberName, type, defaultValue) name,
-#define HANDLE_COMPOSER_OBJECT_TYPE(name, propmacro) propmacro
- ITERATE_COMPOSER_OBJECT_TYPES
-#undef HANDLE_COMPOSER_OBJECT_TYPE
-#undef HANDLE_COMPOSER_PROPERTY_NO_DEFAULT
-#undef HANDLE_COMPOSER_PROPERTY
-#undef HANDLE_COMPOSER_PROPERTY_DUPLICATE
- };
-
- static const wchar_t *Convert(ComposerPropertyNames::Enum inType);
- static ComposerPropertyNames::Enum Convert(const wchar_t *inType);
- static const char8_t *ConvertNarrow(ComposerPropertyNames::Enum inType);
- static ComposerPropertyNames::Enum Convert(const char8_t *inType);
-};
-
-template <typename TDataType>
-struct TypeToDataTypeMap
-{
- bool force_compile_error;
-};
-template <DataModelDataType::Value TEnum>
-struct DataTypeToTypeMap
-{
- bool force_compile_error;
-};
-
-#define QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(enumName, type) \
- template <> \
- struct TypeToDataTypeMap<type> \
- { \
- static DataModelDataType::Value GetDataType() { return enumName; } \
- }; \
- template <> \
- struct DataTypeToTypeMap<enumName> \
- { \
- typedef type TDataType; \
- };
-
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::Float, float)
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::Float2, SFloat2)
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::Float3, SFloat3)
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::Float4, SFloat4)
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::Long, qt3ds::QT3DSI32)
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::String, TDataStrPtr)
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::Bool, bool)
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::Long4, SLong4)
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::StringRef, SStringRef)
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::StringOrInt, SStringOrInt)
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::ObjectRef, SObjectRefType)
-QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE(DataModelDataType::FloatList, TFloatList)
-
-#undef QT3DSDM_DEFINE_TYPE_TO_DATA_TYPE
-
-template <typename TDataType>
-inline DataModelDataType::Value TypeToDataType()
-{
- return TypeToDataTypeMap<TDataType>::GetDataType();
-}
-
-template <ComposerPropertyNames::Enum TPropName, typename TDataType>
-struct SComposerPropertyDefinition
-{
- qt3ds::foundation::Option<TDataType> m_DefaultValue;
- Qt3DSDMPropertyHandle m_Property;
- SComposerPropertyDefinition(IDataCore &inDataCore, Qt3DSDMInstanceHandle inInstance,
- const TDataType &inDefault)
- : m_DefaultValue(inDefault)
- {
- QT3DSDM_LOG_FUNCTION("SComposerPropertyDefinition-1");
- m_Property = inDataCore.AddProperty(inInstance, ComposerPropertyNames::Convert(TPropName),
- TypeToDataType<TDataType>());
- if (m_DefaultValue.hasValue())
- inDataCore.SetInstancePropertyValue(inInstance, m_Property, m_DefaultValue.getValue());
- }
- SComposerPropertyDefinition(IDataCore &inDataCore, Qt3DSDMInstanceHandle inInstance)
- {
- QT3DSDM_LOG_FUNCTION("SComposerPropertyDefinition-2");
- m_Property = inDataCore.AddProperty(inInstance, ComposerPropertyNames::Convert(TPropName),
- TypeToDataType<TDataType>());
- }
- operator Qt3DSDMPropertyHandle() const { return m_Property; }
-};
-
-// Define all the objects with their properties
-
-template <ComposerObjectTypes::Enum>
-struct SComposerTypePropertyDefinition
-{
- bool force_compile_error;
-};
-
-#define HANDLE_COMPOSER_PROPERTY_NO_DEFAULT(name, memberName, dtype) \
- SComposerPropertyDefinition<ComposerPropertyNames::name, dtype> memberName;
-
-#define HANDLE_COMPOSER_PROPERTY(name, memberName, dtype, defaultValue) \
- HANDLE_COMPOSER_PROPERTY_NO_DEFAULT(name, memberName, dtype)
-#define HANDLE_COMPOSER_PROPERTY_DUPLICATE(name, memberName, dtype, defaultValue) \
- HANDLE_COMPOSER_PROPERTY(name, memberName, dtype, defaultValue)
-
-#define HANDLE_COMPOSER_OBJECT_TYPE(name, propmacro) \
- template <> \
- struct SComposerTypePropertyDefinition<ComposerObjectTypes::name> \
- { \
- bool reserved; \
- propmacro SComposerTypePropertyDefinition(IDataCore &inCore, \
- Qt3DSDMInstanceHandle inInstance); \
- };
-
-ITERATE_COMPOSER_OBJECT_TYPES
-
-#undef HANDLE_COMPOSER_OBJECT_TYPE
-#undef HANDLE_COMPOSER_PROPERTY
-#undef HANDLE_COMPOSER_PROPERTY_NO_DEFAULT
-#undef HANDLE_COMPOSER_PROPERTY_DUPLICATE
-
-struct ComposerTypeDefinitionsHelper
-{
- // Functions here so we don't have to include UICDMDataCore.h or UICDMMetaData.h
- static void SetInstanceAsCanonical(IMetaData &inMetaData, Qt3DSDMInstanceHandle inInstance,
- ComposerObjectTypes::Enum inObjectType);
- static void SetInstancePropertyValue(IDataCore &inDataCore, Qt3DSDMInstanceHandle inInstance,
- Qt3DSDMPropertyHandle inProperty,
- const wchar_t *inPropValue);
- static void DeriveInstance(IDataCore &inDataCore, Qt3DSDMInstanceHandle inInstance,
- Qt3DSDMInstanceHandle inParent);
-};
-
-template <ComposerObjectTypes::Enum TEnumType>
-struct SComposerBaseObjectDefinition : public SComposerTypePropertyDefinition<TEnumType>
-{
- Qt3DSDMInstanceHandle m_Instance;
- SComposerBaseObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance)
- : SComposerTypePropertyDefinition<TEnumType>(inCore, inInstance)
- , m_Instance(inInstance)
- {
- QT3DSDM_LOG_FUNCTION("SComposerBaseObjectDefinition");
- ComposerTypeDefinitionsHelper::SetInstanceAsCanonical(inMetaData, inInstance, TEnumType);
- }
-
- template <ComposerObjectTypes::Enum TBaseType>
- void Derive(IDataCore &inCore, const SComposerBaseObjectDefinition<TBaseType> &inParent)
- {
- QT3DSDM_LOG_FUNCTION("SComposerBaseObjectDefinition::Derive");
- ComposerTypeDefinitionsHelper::DeriveInstance(inCore, m_Instance, inParent.m_Instance);
- }
- void SetType(IDataCore &inCore,
- const SComposerBaseObjectDefinition<ComposerObjectTypes::Typed> &inParent)
- {
- QT3DSDM_LOG_FUNCTION("SComposerBaseObjectDefinition::SetInstancePropertyValue");
- ComposerTypeDefinitionsHelper::SetInstancePropertyValue(
- inCore, m_Instance, inParent.m_TypeProp, ComposerObjectTypes::Convert(TEnumType));
- }
- void TypedDerive(IDataCore &inCore,
- const SComposerBaseObjectDefinition<ComposerObjectTypes::Typed> &inParent)
- {
- QT3DSDM_LOG_FUNCTION("SComposerBaseObjectDefinition::TypedDerive");
- Derive(inCore, inParent);
- SetType(inCore, inParent);
- }
-};
-
-template <ComposerObjectTypes::Enum TEnumType>
-struct SComposerObjectDefinition : public SComposerBaseObjectDefinition<TEnumType>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance)
- : SComposerBaseObjectDefinition<TEnumType>(inCore, inMetaData, inInstance)
- {
- }
-};
-
-// Base class of slides
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Slide>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Slide>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Named> &inNamed)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Slide>(inCore, inMetaData, inInstance)
- {
- TypedDerive(inCore, inTyped);
- Derive(inCore, inNamed);
- }
-};
-
-// Base class of actions
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Action>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Action>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Action>(inCore, inMetaData, inInstance)
- {
- TypedDerive(inCore, inTyped);
- }
-};
-
-// Base class of assets
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Asset>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Asset>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Guided> &inGuided,
- SComposerObjectDefinition<ComposerObjectTypes::Named> &inNamed)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Asset>(inCore, inMetaData, inInstance)
- {
- TypedDerive(inCore, inTyped);
- Derive(inCore, inGuided);
- Derive(inCore, inNamed);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Scene>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Scene>
-{
- SComposerObjectDefinition(
- IDataCore &inCore, IMetaData &inMetaData, Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Asset> &inAsset,
- SComposerObjectDefinition<ComposerObjectTypes::SlideOwner> &inSlideOwner)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Scene>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inAsset);
- Derive(inCore, inSlideOwner);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Image>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Image>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Asset> &inAsset)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Image>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inAsset);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::MaterialBase>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::MaterialBase>
-
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Asset> &inAsset)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::MaterialBase>(inCore, inMetaData,
- inInstance)
- {
- Derive(inCore, inAsset);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Lightmaps>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Lightmaps>
-
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::MaterialBase> &inBase)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Lightmaps>(inCore, inMetaData,
- inInstance)
- {
- Derive(inCore, inBase);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Material>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Material>
-
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Lightmaps> &inBase)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Material>(inCore, inMetaData,
- inInstance)
- {
- Derive(inCore, inBase);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::CustomMaterial>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::CustomMaterial>
-
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Lightmaps> &inBase)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::CustomMaterial>(inCore, inMetaData,
- inInstance)
- {
- Derive(inCore, inBase);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::ReferencedMaterial>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::ReferencedMaterial>
-
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Lightmaps> &inBase)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::ReferencedMaterial>(inCore, inMetaData,
- inInstance)
- {
- Derive(inCore, inBase);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Behavior>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Behavior>
-
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Asset> &inAsset)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Behavior>(inCore, inMetaData,
- inInstance)
- {
- Derive(inCore, inAsset);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Effect>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Effect>
-
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Asset> &inAsset)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Effect>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inAsset);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Node>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Node>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Asset> &inAsset)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Node>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inAsset);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Layer>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Layer>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Node> &inNode)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Layer>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inNode);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Model>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Model>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Node> &inNode)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Model>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inNode);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Group>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Group>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Node> &inNode)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Group>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inNode);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Light>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Light>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Node> &inNode)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Light>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inNode);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Camera>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Camera>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Node> &inNode)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Camera>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inNode);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Text>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Text>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Node> &inNode)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Text>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inNode);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Component>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Component>
-{
- SComposerObjectDefinition(
- IDataCore &inCore, IMetaData &inMetaData, Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Node> &inNode,
- SComposerObjectDefinition<ComposerObjectTypes::SlideOwner> &inSlideOwner)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Component>(inCore, inMetaData,
- inInstance)
- {
- Derive(inCore, inNode);
- Derive(inCore, inSlideOwner);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::RenderPlugin>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::RenderPlugin>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Asset> &inAsset)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::RenderPlugin>(inCore, inMetaData,
- inInstance)
- {
- Derive(inCore, inAsset);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Alias>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Alias>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Node> &inNode)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Alias>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inNode);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::Path>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::Path>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Node> &inNode)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::Path>(inCore, inMetaData, inInstance)
- {
- Derive(inCore, inNode);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::PathAnchorPoint>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::PathAnchorPoint>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Asset> &inAsset)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::PathAnchorPoint>(inCore, inMetaData,
- inInstance)
- {
- Derive(inCore, inAsset);
- SetType(inCore, inTyped);
- }
-};
-
-template <>
-struct SComposerObjectDefinition<ComposerObjectTypes::SubPath>
- : public SComposerBaseObjectDefinition<ComposerObjectTypes::SubPath>
-{
- SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
- Qt3DSDMInstanceHandle inInstance,
- SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
- SComposerObjectDefinition<ComposerObjectTypes::Asset> &inAsset)
- : SComposerBaseObjectDefinition<ComposerObjectTypes::SubPath>(inCore, inMetaData,
- inInstance)
- {
- Derive(inCore, inAsset);
- SetType(inCore, inTyped);
- }
-};
-
-// Container object for all of the object definitions
-class SComposerObjectDefinitions
-{
-public:
-#define HANDLE_COMPOSER_OBJECT_TYPE(name, propmacro) \
- SComposerObjectDefinition<ComposerObjectTypes::name> m_##name;
- ITERATE_COMPOSER_OBJECT_TYPES
-#undef HANDLE_COMPOSER_OBJECT_TYPE
-
- SComposerObjectDefinitions(IDataCore &inDataCore, IMetaData &inMetaData);
- SComposerObjectDefinitions() = default;
- ~SComposerObjectDefinitions() = default;
-
- // RTTI API
- bool IsA(Qt3DSDMInstanceHandle inInstance, ComposerObjectTypes::Enum inType);
- // Could easily return None, meaning we can't identify the object type.
- // Checks the type of the first derivation parent, so this won't ever return
- // SlideOwner, for instance.
- ComposerObjectTypes::Enum GetType(Qt3DSDMInstanceHandle inInstance);
-
- Qt3DSDMInstanceHandle GetInstanceForType(ComposerObjectTypes::Enum inType);
-private:
- IDataCore &m_DataCore;
- SComposerObjectDefinitions(const SComposerObjectDefinitions&) = delete;
- SComposerObjectDefinitions& operator=(const SComposerObjectDefinitions&) = delete;
-};
-}