diff options
41 files changed, 20 insertions, 905 deletions
diff --git a/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.cpp b/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.cpp index b1e3c8c3..b317e346 100644 --- a/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.cpp +++ b/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.cpp @@ -94,7 +94,6 @@ CClientDataModelBridge::CClientDataModelBridge( , m_Alias(inDefinitions->m_Alias) , m_Path(inDefinitions->m_Path) , m_Lightmaps(inDefinitions->m_Lightmaps) - , m_DataInput(inDefinitions->m_DataInput) , m_CacheEnabled(false) { } @@ -246,9 +245,6 @@ Qt3DSDMInstanceHandle CClientDataModelBridge::CreateAssetInstance(Q3DStudio::CId case OBJTYPE_LIGHTMAPS: m_DataCore->DeriveInstance(theNewInstance, m_Lightmaps.m_Instance); break; - case OBJTYPE_DATAINPUT: - m_DataCore->DeriveInstance(theNewInstance, m_DataInput.m_Instance); - break; } m_DataCore->SetInstancePropertyValue(theNewInstance, GetObjectDefinitions().m_Guided.m_GuidProp, @@ -1343,7 +1339,7 @@ bool CClientDataModelBridge::IsDuplicateable(qt3dsdm::Qt3DSDMInstanceHandle inIn EStudioObjectType theObjectType = GetObjectType(inInstance); if (theObjectType == OBJTYPE_SCENE || theObjectType == OBJTYPE_MATERIAL - || theObjectType == OBJTYPE_IMAGE ||theObjectType == OBJTYPE_DATAINPUT) + || theObjectType == OBJTYPE_IMAGE) return false; // If we are delving inside component and selecting the component itself (the component is root // in timeline palette) @@ -1392,7 +1388,6 @@ bool CClientDataModelBridge::CanDelete(qt3dsdm::Qt3DSDMInstanceHandle inInstance case OBJTYPE_PATHANCHORPOINT: case OBJTYPE_SUBPATH: case OBJTYPE_EFFECT: - case OBJTYPE_DATAINPUT: return !IsLockedAtAll(inInstance); break; case OBJTYPE_COMPONENT: @@ -1560,8 +1555,6 @@ EStudioObjectType CClientDataModelBridge::GetObjectType(qt3dsdm::Qt3DSDMInstance return OBJTYPE_PATHANCHORPOINT; else if (theType == L"SubPath") return OBJTYPE_SUBPATH; - else if (theType == L"DataInput") - return OBJTYPE_DATAINPUT; else if (theType == L"Lightmaps") return OBJTYPE_LIGHTMAPS; else { @@ -1649,11 +1642,6 @@ bool CClientDataModelBridge::IsCustomMaterialInstance(qt3dsdm::Qt3DSDMInstanceHa return m_DataCore->IsInstanceOrDerivedFrom(inInstance, m_CustomMaterial.m_Instance); } -bool CClientDataModelBridge::IsDataInputInstance(qt3dsdm::Qt3DSDMInstanceHandle inInstance) const -{ - return m_DataCore->IsInstanceOrDerivedFrom(inInstance, m_DataInput.m_Instance); -} - bool CClientDataModelBridge::IsReferencedMaterialInstance( qt3dsdm::Qt3DSDMInstanceHandle inInstance) const { @@ -1677,8 +1665,7 @@ bool CClientDataModelBridge::IsSceneGraphInstance(qt3dsdm::Qt3DSDMInstanceHandle return IsNodeType(inInstance) || IsSceneInstance(inInstance) || IsImageInstance(inInstance) || IsMaterialInstance(inInstance) || IsCustomMaterialInstance(inInstance) || IsReferencedMaterialInstance(inInstance) || IsRenderPluginInstance(inInstance) - || IsEffectInstance(inInstance) || IsBehaviorInstance(inInstance) - || IsDataInputInstance(inInstance); + || IsEffectInstance(inInstance) || IsBehaviorInstance(inInstance); } bool SActionInvalidProperty::operator()(qt3dsdm::Qt3DSDMPropertyHandle inProperty) diff --git a/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.h b/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.h index 10bcd3d6..d462a9a8 100644 --- a/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.h +++ b/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.h @@ -91,8 +91,6 @@ typedef qt3dsdm::SComposerObjectDefinition<qt3dsdm::ComposerObjectTypes::CustomM typedef qt3dsdm::SComposerObjectDefinition<qt3dsdm::ComposerObjectTypes::Lightmaps> SDataModelLightmaps; typedef qt3dsdm::SComposerObjectDefinition<qt3dsdm::ComposerObjectTypes::Alias> SDataModelAlias; typedef qt3dsdm::SComposerObjectDefinition<qt3dsdm::ComposerObjectTypes::Path> SDataModelPath; -typedef qt3dsdm::SComposerObjectDefinition<qt3dsdm::ComposerObjectTypes::DataInput> - SDataModelDataInput; struct IValueFilter { @@ -148,7 +146,6 @@ class CClientDataModelBridge SDataModelAlias &m_Alias; SDataModelPath &m_Path; SDataModelLightmaps &m_Lightmaps; - SDataModelDataInput &m_DataInput; // cache to increase performance bool m_CacheEnabled; @@ -236,7 +233,6 @@ public: const SDataModelAlias &GetAlias() const { return m_Alias; } const SDataModelPath &GetPath() const { return m_Path; } const SDataModelLightmaps &GetLightmaps() const { return m_Lightmaps; } - const SDataModelDataInput &GetDataInput() const { return m_DataInput; } // Is this the instance that owns the document's currently active slide? bool IsActiveComponent(qt3dsdm::Qt3DSDMInstanceHandle inInstance); @@ -416,7 +412,6 @@ public: bool IsCustomMaterialInstance(qt3dsdm::Qt3DSDMInstanceHandle inInstance) const; bool IsLightmapsInstance(qt3dsdm::Qt3DSDMInstanceHandle inInstance) const; bool IsNodeType(qt3dsdm::Qt3DSDMInstanceHandle inInstance) const; - bool IsDataInputInstance(qt3dsdm::Qt3DSDMInstanceHandle inInstance) const; // Returns true if this instance would be in the scene graph bool IsSceneGraphInstance(qt3dsdm::Qt3DSDMInstanceHandle inInstance) const; }; diff --git a/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp b/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp index 3e02508f..40a4a230 100644 --- a/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp +++ b/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp @@ -32,7 +32,6 @@ #include "Doc.h" #include "Qt3DSFileTools.h" #include "StudioFullSystem.h" -#include "IObjectReferenceHelper.h" #include "foundation/Qt3DS.h" #include "foundation/Qt3DSAssert.h" #include "StudioCoreSystem.h" @@ -508,8 +507,7 @@ public: bool CanPropertyBeLinked(TInstanceHandle inInstance, TPropertyHandle inProperty) const override { - if (inProperty == m_Bridge.GetAlias().m_ReferencedNode.m_Property || - inProperty == m_Bridge.GetDataInput().m_ControlledElemProp.m_Property) + if (inProperty == m_Bridge.GetAlias().m_ReferencedNode.m_Property) return false; return m_SlideSystem.CanPropertyBeLinked(inInstance, inProperty); } @@ -660,40 +658,6 @@ public: } } - // Resolve all instances that are controlled by datainput instance - void GetControlledInstancesAndProperties(TInstanceHandle dataInput, - TInstancePropertyPairList &ctrldInstsProps) - { - Q_ASSERT(m_Bridge.IsDataInputInstance(dataInput)); - IObjectReferenceHelper *objReferenceHelper = m_Doc.GetDataModelObjectReferenceHelper(); - - Option<SValue> controlledElemProp - = GetInstancePropertyValue( - dataInput, - m_Bridge.GetObjectDefinitions().m_DataInput.m_ControlledElemProp); - CString controlledElemPropStr = get<TDataStrPtr>(*controlledElemProp)->GetData(); - - std::string::size_type thePos = 0; - bool fullResolved = false; - CRelativePathTools::EPathType type; - // Controlled instance and property names are stored in "controlledelemprop" - // property as a single string, each item separated by whitespace. Parse - // names and get corresponding handles. - while (thePos < controlledElemPropStr.size()) { - CString theCurrentElemStr = controlledElemPropStr.substr( - thePos, controlledElemPropStr.find(' ', thePos) - thePos); - thePos += theCurrentElemStr.size() + 1; - CString theCurrentPropStr = controlledElemPropStr.substr( - thePos, controlledElemPropStr.find(' ', thePos) - thePos); - thePos += theCurrentPropStr.size() + 1; - TInstanceHandle currElement = CRelativePathTools::FindAssetInstanceByObjectPath( - &m_Doc, m_Doc.GetActiveRootInstance(), theCurrentElemStr, - type, fullResolved, objReferenceHelper); - TPropertyHandle currProp = FindProperty(currElement, theCurrentPropStr); - ctrldInstsProps.push_back(TInstancePropertyPair(currElement, currProp)); - } - } - bool IsInSceneGraph(TInstanceHandle child) const override { return m_AssetGraph.IsExist(child); } // If the path has any sub-path children, then yes it is externalizeable. @@ -765,20 +729,7 @@ public: return false; return m_AnimationCore.IsArtistEdited(animHandle); } - bool IsControlled(TInstanceHandle instance) - { - // TODO This is Text element specific code - if (!m_Bridge.IsTextInstance(instance)) - return false; - Option<SValue> currentControlledProperty = GetInstancePropertyValue( - instance, m_Bridge.GetObjectDefinitions().m_Text.m_ControlledProperty); - if (!currentControlledProperty.hasValue()) - return false; - CString propStr = (get<TDataStrPtr>(*currentControlledProperty))->GetData(); - if (!propStr.IsEmpty()) - return true; - return false; - } + pair<std::shared_ptr<qt3dsdm::IDOMWriter>, CFilePath> DoCopySceneGraphObject(const TInstanceHandleList &inInstances) { @@ -1098,7 +1049,6 @@ public: void DoDeleteInstance(Qt3DSDMInstanceHandle instance) { - IObjectReferenceHelper *objReferenceHelper = m_Doc.GetDataModelObjectReferenceHelper(); // For delete, the metadata needs to participate in the undo/redo system. m_MetaData.SetConsumer(m_StudioSystem.GetFullSystem()->GetConsumer()); TInstanceHandleList theDeleteDependentInstances; @@ -1564,11 +1514,10 @@ public: // Now set the property for reals thePropertySystem.SetInstancePropertyValue(instance, propName, value); } else { - if (propName != m_Bridge.GetAlias().m_ReferencedNode.m_Property && - propName != m_Bridge.GetDataInput().m_ControlledElemProp.m_Property) + if (propName != m_Bridge.GetAlias().m_ReferencedNode.m_Property) { thePropertySystem.SetInstancePropertyValue(instance, propName, value); - else { - // Alias and datainput properties are set in the scene graph, not in the slides. + } else { + // Alias properties are set in the scene graph, not in the slides. // This makes the runtime expansion easier and stops problems such as // someone unlinking the alias // node reference and setting it to different values on different slides. diff --git a/src/Authoring/Client/Code/Core/Doc/IDocumentReader.h b/src/Authoring/Client/Code/Core/Doc/IDocumentReader.h index 0a786116..804e1228 100644 --- a/src/Authoring/Client/Code/Core/Doc/IDocumentReader.h +++ b/src/Authoring/Client/Code/Core/Doc/IDocumentReader.h @@ -286,8 +286,6 @@ inline EStudioObjectType GetStudioObjectType(qt3dsdm::ComposerObjectTypes::Enum return OBJTYPE_EFFECT; case ComposerObjectTypes::Path: return OBJTYPE_PATH; - case ComposerObjectTypes::DataInput: - return OBJTYPE_DATAINPUT; default: ; } return OBJTYPE_UNKNOWN; diff --git a/src/Authoring/Client/Code/Core/Utility/StudioObjectTypes.cpp b/src/Authoring/Client/Code/Core/Utility/StudioObjectTypes.cpp index 88a61ced..46ca1faf 100644 --- a/src/Authoring/Client/Code/Core/Utility/StudioObjectTypes.cpp +++ b/src/Authoring/Client/Code/Core/Utility/StudioObjectTypes.cpp @@ -44,20 +44,13 @@ bool CStudioObjectTypes::AcceptableParent(EStudioObjectType inChild, EStudioObje theAcceptible = false; break; case OBJTYPE_LAYER: - case OBJTYPE_DATAINPUT: - theAcceptible = (inParent == OBJTYPE_SCENE); - break; - case OBJTYPE_BEHAVIOR: - // TODO: datainput can now have behavior child, to allow child QML script feed - // dummy data to DataInput for testing. To be removed. theAcceptible = (inParent == OBJTYPE_SCENE) || (inParent == OBJTYPE_LAYER) || (inParent == OBJTYPE_BEHAVIOR) || (inParent == OBJTYPE_CAMERA) || (inParent == OBJTYPE_LIGHT) || (inParent == OBJTYPE_MODEL) || (inParent == OBJTYPE_GROUP) || (inParent == OBJTYPE_COMPONENT) || (inParent == OBJTYPE_IMAGE) || (inParent == OBJTYPE_TEXT) - || (inParent == OBJTYPE_PATH) || (inParent == OBJTYPE_DATAINPUT); - + || (inParent == OBJTYPE_PATH); break; case OBJTYPE_MATERIAL: theAcceptible = false; @@ -183,10 +176,6 @@ const QString &CStudioObjectTypes::GetNormalIconName(EStudioObjectType inType) static QString theString = "Objects-Sound-Normal.png"; return theString; } - case OBJTYPE_DATAINPUT: { - static QString theString = "Objects-DataInput-Normal.png"; - return theString; - } default: { static QString theString = "Objects-Model-Normal.png"; return theString; @@ -272,10 +261,6 @@ const QString &CStudioObjectTypes::GetDisabledIconName(EStudioObjectType inType) static QString theString = "Objects-Sound-Disabled.png"; return theString; } - case OBJTYPE_DATAINPUT: { - static QString theString = "Objects-DataInput-Disabled.png"; - return theString; - } default: { static QString theString = "Objects-Model-Disabled.png"; return theString; @@ -361,10 +346,6 @@ const QString &CStudioObjectTypes::GetHighlightIconName(EStudioObjectType inType static QString theString = "Objects-Sound-Normal.png"; return theString; } - case OBJTYPE_DATAINPUT: { - static QString theString = "Objects-DataInput-Normal.png"; - return theString; - } default: { static QString theString = "Objects-Model-Normal.png"; return theString; diff --git a/src/Authoring/Client/Code/Core/Utility/StudioObjectTypes.h b/src/Authoring/Client/Code/Core/Utility/StudioObjectTypes.h index b8f74f83..99bbd0a8 100644 --- a/src/Authoring/Client/Code/Core/Utility/StudioObjectTypes.h +++ b/src/Authoring/Client/Code/Core/Utility/StudioObjectTypes.h @@ -65,7 +65,6 @@ enum EStudioObjectType { OBJTYPE_SUBPATH = 0x00800000, OBJTYPE_SOUND = 0x01000000, OBJTYPE_LIGHTMAPS = 0x02000000, - OBJTYPE_DATAINPUT = 0x04000000, }; typedef enum { diff --git a/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.cpp b/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.cpp index 62d21463..e8bb3ba1 100644 --- a/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.cpp +++ b/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.cpp @@ -121,7 +121,6 @@ struct DataConstructor<SObjectRefType> #define QT3DS_WCHAR_T_ReferencedMaterial L"ReferencedMaterial" #define QT3DS_WCHAR_T_Alias L"Alias" #define QT3DS_WCHAR_T_Lightmaps L"Lightmaps" -#define QT3DS_WCHAR_T_DataInput L"DataInput" #define QT3DS_WCHAR_T_type L"type" #define QT3DS_WCHAR_T_id L"id" @@ -303,11 +302,6 @@ struct DataConstructor<SObjectRefType> #define QT3DS_WCHAR_T_lightmapindirect L"lightmapindirect" #define QT3DS_WCHAR_T_lightmapradiosity L"lightmapradiosity" #define QT3DS_WCHAR_T_lightmapshadow L"lightmapshadow" -#define QT3DS_WCHAR_T_value L"value" -#define QT3DS_WCHAR_T_valuestr L"valuestr" -#define QT3DS_WCHAR_T_timefrom L"timefrom" -#define QT3DS_WCHAR_T_timeto L"timeto" -#define QT3DS_WCHAR_T_controlledelemprop L"controlledelemprop" #define QT3DS_WCHAR_T_controlledproperty L"controlledproperty" const wchar_t *ComposerObjectTypes::Convert(ComposerObjectTypes::Enum inType) @@ -511,7 +505,6 @@ SComposerObjectDefinitions::SComposerObjectDefinitions( , m_Path(inCore, inMetaData, inCore.CreateInstance(), m_Typed, m_Node) , m_PathAnchorPoint(inCore, inMetaData, inCore.CreateInstance(), m_Typed, m_Asset) , m_SubPath(inCore, inMetaData, inCore.CreateInstance(), m_Typed, m_Asset) - , m_DataInput(inCore, inMetaData, inCore.CreateInstance(), m_Typed, m_Asset) { } diff --git a/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.h b/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.h index 782fecfb..7eadde48 100644 --- a/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.h +++ b/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.h @@ -76,8 +76,7 @@ class IPropertySystem; 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) \ - HANDLE_COMPOSER_OBJECT_TYPE(DataInput, ITERATE_COMPOSER_DATAINPUT_PROPERTIES) + HANDLE_COMPOSER_OBJECT_TYPE(SubPath, ITERATE_COMPOSER_PATH_SUBPATH_PROPERTIES) #define ITERATE_COMPOSER_NO_ADDITIONAL_PROPERTIES @@ -306,14 +305,6 @@ class IPropertySystem; #define ITERATE_COMPOSER_PATH_SUBPATH_PROPERTIES \ HANDLE_COMPOSER_PROPERTY(closed, m_Closed, bool, true) -#define ITERATE_COMPOSER_DATAINPUT_PROPERTIES \ - HANDLE_COMPOSER_PROPERTY(value, m_Value, float, 0.0f) \ - HANDLE_COMPOSER_PROPERTY(valuestr, m_ValueStr, TDataStrPtr, L"") \ - HANDLE_COMPOSER_PROPERTY(timefrom, m_TimeFrom, float, 0.0f) \ - HANDLE_COMPOSER_PROPERTY(timeto, m_TimeTo, float, 10000.0f) \ - HANDLE_COMPOSER_PROPERTY(controlledelemprop, m_ControlledElemProp, TDataStrPtr, L"") - - struct ComposerObjectTypes { enum Enum { @@ -903,23 +894,6 @@ struct SComposerObjectDefinition<ComposerObjectTypes::SubPath> } }; -template <> -struct SComposerObjectDefinition<ComposerObjectTypes::DataInput> - : public SComposerBaseObjectDefinition<ComposerObjectTypes::DataInput> -{ - SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData, - Qt3DSDMInstanceHandle inInstance, - SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped, - SComposerObjectDefinition<ComposerObjectTypes::Asset> &inAsset) - : SComposerBaseObjectDefinition<ComposerObjectTypes::DataInput>(inCore, inMetaData, - inInstance) - { - Derive(inCore, inAsset); - SetType(inCore, inTyped); - } -}; - - // Container object for all of the object definitions class SComposerObjectDefinitions { diff --git a/src/Authoring/QT3DSDM/Systems/Qt3DSDMMetaData.cpp b/src/Authoring/QT3DSDM/Systems/Qt3DSDMMetaData.cpp index c9a453c3..b927c40c 100644 --- a/src/Authoring/QT3DSDM/Systems/Qt3DSDMMetaData.cpp +++ b/src/Authoring/QT3DSDM/Systems/Qt3DSDMMetaData.cpp @@ -1366,8 +1366,8 @@ public: CompleteMetaDataType::Enum inDataType, const SValue &inDefaultValue, const TMetaDataData &inMetaData, TStrType inGroupName, - bool inIsHidden, bool inIsAnimatable, - bool inIsControllable) override + bool inIsHidden, bool inIsAnimatable, + bool inIsControllable) override { SMetaDataPropertyInfo *infoPtr = FindProperty(inPropertyHandle); if (infoPtr == NULL) { diff --git a/src/Authoring/QT3DSIMP/Qt3DSImportLib/Qt3DSImportComposerTypes.cpp b/src/Authoring/QT3DSIMP/Qt3DSImportLib/Qt3DSImportComposerTypes.cpp index fb7375ff..2b134276 100644 --- a/src/Authoring/QT3DSIMP/Qt3DSImportLib/Qt3DSImportComposerTypes.cpp +++ b/src/Authoring/QT3DSIMP/Qt3DSImportLib/Qt3DSImportComposerTypes.cpp @@ -92,12 +92,6 @@ DataModelDataType::Value SImportPathAnchorPoint::GetPropertyDataType(const wchar return SImportAsset::GetPropertyDataType(inPropertyName); } -DataModelDataType::Value SImportDataInput::GetPropertyDataType(const wchar_t *inPropertyName) -{ - ITERATE_COMPOSER_DATAINPUT_PROPERTIES - return SImportAsset::GetPropertyDataType(inPropertyName); -} - #undef HANDLE_COMPOSER_PROPERTY_NO_DEFAULT #undef HANDLE_COMPOSER_PROPERTY #undef HANDLE_COMPOSER_PROPERTY_DUPLICATE @@ -163,12 +157,6 @@ DataModelDataType::Value SImportPathAnchorPoint::GetPropertyDataType(const char8 return SImportAsset::GetPropertyDataType(inPropertyName); } -DataModelDataType::Value SImportDataInput::GetPropertyDataType(const char8_t *inPropertyName) -{ - ITERATE_COMPOSER_DATAINPUT_PROPERTIES - return SImportAsset::GetPropertyDataType(inPropertyName); -} - #undef HANDLE_COMPOSER_PROPERTY_NO_DEFAULT #undef HANDLE_COMPOSER_PROPERTY #undef HANDLE_COMPOSER_PROPERTY_DUPLICATE @@ -195,8 +183,6 @@ SImportAsset &SImportComposerTypes::GetImportAssetForType(ComposerObjectTypes::E return m_SubPath; case ComposerObjectTypes::PathAnchorPoint: return m_PathAnchorPoint; - case ComposerObjectTypes::DataInput: - return m_DataInput; } QT3DS_ASSERT(false); return m_Asset; diff --git a/src/Authoring/QT3DSIMP/Qt3DSImportLib/Qt3DSImportComposerTypes.h b/src/Authoring/QT3DSIMP/Qt3DSImportLib/Qt3DSImportComposerTypes.h index 0eff0c8f..016c3390 100644 --- a/src/Authoring/QT3DSIMP/Qt3DSImportLib/Qt3DSImportComposerTypes.h +++ b/src/Authoring/QT3DSIMP/Qt3DSImportLib/Qt3DSImportComposerTypes.h @@ -139,14 +139,6 @@ struct SImportPathAnchorPoint : public SImportAsset } }; -struct SImportDataInput : public SImportAsset -{ - ITERATE_COMPOSER_DATAINPUT_PROPERTIES - DataModelDataType::Value GetPropertyDataType(const wchar_t *inPropertyName) override; - DataModelDataType::Value GetPropertyDataType(const char8_t *inPropertyName) override; - ComposerObjectTypes::Enum GetObjectType() override { return ComposerObjectTypes::DataInput; } -}; - #undef HANDLE_COMPOSER_PROPERTY #undef HANDLE_COMPOSER_PROPERTY_DUPLICATE #undef HANDLE_COMPOSER_PROPERTY_NO_DEFAULT @@ -171,7 +163,6 @@ inline void ImportVisitPropertyType(ComposerPropertyNames::Enum inName, TOperato ITERATE_COMPOSER_PATH_PROPERTIES ITERATE_COMPOSER_PATH_SUBPATH_PROPERTIES ITERATE_COMPOSER_PATH_ANCHOR_POINT_PROPERTIES - ITERATE_COMPOSER_DATAINPUT_PROPERTIES #undef HANDLE_COMPOSER_PROPERTY #undef HANDLE_COMPOSER_PROPERTY_DUPLICATE @@ -191,7 +182,6 @@ struct SImportComposerTypes SImportPath m_Path; SImportSubPath m_SubPath; SImportPathAnchorPoint m_PathAnchorPoint; - SImportDataInput m_DataInput; SImportAsset &GetImportAssetForType(ComposerObjectTypes::Enum inTypeName); }; diff --git a/src/Authoring/Studio/DragAndDrop/BasicObjectDropSource.cpp b/src/Authoring/Studio/DragAndDrop/BasicObjectDropSource.cpp index f1b80084..a29fb89f 100644 --- a/src/Authoring/Studio/DragAndDrop/BasicObjectDropSource.cpp +++ b/src/Authoring/Studio/DragAndDrop/BasicObjectDropSource.cpp @@ -185,9 +185,6 @@ CCmd *CBasicObjectDropSource::GenerateAssetCommand(qt3dsdm::Qt3DSDMInstanceHandl case OBJTYPE_PATH: theComposerType = ComposerObjectTypes::Path; break; - case OBJTYPE_DATAINPUT: - theComposerType = ComposerObjectTypes::DataInput; - break; default: QT3DS_ASSERT(false); theComposerType = ComposerObjectTypes::Unknown; diff --git a/src/Authoring/Studio/Palettes/BasicObjects/BasicObjectsModel.cpp b/src/Authoring/Studio/Palettes/BasicObjects/BasicObjectsModel.cpp index 11b5892b..0888063d 100644 --- a/src/Authoring/Studio/Palettes/BasicObjects/BasicObjectsModel.cpp +++ b/src/Authoring/Studio/Palettes/BasicObjects/BasicObjectsModel.cpp @@ -54,12 +54,6 @@ void BasicObjectsModel::initialize() {tr("Camera"), "Asset-Camera-Normal.png"_L1, OBJTYPE_CAMERA, PRIMITIVETYPE_UNKNOWN}, {tr("Light"), "Asset-Light-Normal.png"_L1, OBJTYPE_LIGHT, PRIMITIVETYPE_UNKNOWN}, {tr("Alias"), "Asset-Alias-Normal.png"_L1, OBJTYPE_ALIAS, PRIMITIVETYPE_UNKNOWN}, - // For now, adding Datainput (and Layer) is done by drag-drop. TODO: remove after a separate - // panel for adding these metaobjects exists - - // Master control for adding datainput functionality to studio, uncomment to enable adding - // datainput - // {tr("Datainput"), "Objects-DataInput-Normal.png"_L1, OBJTYPE_DATAINPUT, PRIMITIVETYPE_UNKNOWN} }; } diff --git a/src/Authoring/Studio/Palettes/Inspector/InspectorControlModel.cpp b/src/Authoring/Studio/Palettes/Inspector/InspectorControlModel.cpp index 9c29ab64..c1fe01f0 100644 --- a/src/Authoring/Studio/Palettes/Inspector/InspectorControlModel.cpp +++ b/src/Authoring/Studio/Palettes/Inspector/InspectorControlModel.cpp @@ -717,8 +717,6 @@ void InspectorControlModel::updatePropertyValue(InspectorControlBase *element) c element->m_value = fileInfo.fileName(); } else if (element->m_propertyType == qt3dsdm::AdditionalMetaDataType::PathBuffer) { element->m_value = qt3dsdm::get<QString>(value); - } else if (bridge->GetObjectType(element->m_instance) == OBJTYPE_DATAINPUT) { - element->m_value = qt3dsdm::get<QString>(value); } else { qWarning() << "KDAB_TODO: InspectorControlModel::updatePropertyValue: need to implement:" << element->m_dataType << " element->m_propertyType : " diff --git a/src/Authoring/Studio/Palettes/Inspector/Qt3DSDMInspectable.cpp b/src/Authoring/Studio/Palettes/Inspector/Qt3DSDMInspectable.cpp index 4a28aedb..a29920d9 100644 --- a/src/Authoring/Studio/Palettes/Inspector/Qt3DSDMInspectable.cpp +++ b/src/Authoring/Studio/Palettes/Inspector/Qt3DSDMInspectable.cpp @@ -279,8 +279,6 @@ EStudioObjectType Qt3DSDMInspectable::GetObjectType() return OBJTYPE_PATHANCHORPOINT; case ComposerObjectTypes::Lightmaps: return OBJTYPE_LIGHTMAPS; - case ComposerObjectTypes::DataInput: - return OBJTYPE_DATAINPUT; } } return OBJTYPE_UNKNOWN; diff --git a/src/Authoring/Studio/Palettes/Timeline/Bindings/DataInputTimelineItemBinding.cpp b/src/Authoring/Studio/Palettes/Timeline/Bindings/DataInputTimelineItemBinding.cpp deleted file mode 100644 index 4c05bdae..00000000 --- a/src/Authoring/Studio/Palettes/Timeline/Bindings/DataInputTimelineItemBinding.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** -** -** 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$ -** -****************************************************************************/ - -//============================================================================== -// Prefix -//============================================================================== -#include "stdafx.h" - -//============================================================================== -// Includes -//============================================================================== -#include "DataInputTimelineItemBinding.h" -#include "TimelineTranslationManager.h" -#include "StudioApp.h" -#include "Qt3DSDMStudioSystem.h" -#include "ClientDataModelBridge.h" -#include "Doc.h" -#include "EmptyTimelineTimebar.h" - -using namespace qt3dsdm; - -CDataInputTimelineItemBinding::CDataInputTimelineItemBinding(CTimelineTranslationManager *inMgr, - Qt3DSDMInstanceHandle inDataHandle) - : Qt3DSDMTimelineItemBinding(inMgr, inDataHandle) -{ -} - -EStudioObjectType CDataInputTimelineItemBinding::GetObjectType() const -{ - return OBJTYPE_DATAINPUT; -} - -ITimelineTimebar *CDataInputTimelineItemBinding::GetTimebar() -{ // No timebars on datainput - return new CEmptyTimelineTimebar(); -} - -//============================================================================= -/** - * Open the associated item as though it was double-clicked in explorer - */ -bool CDataInputTimelineItemBinding::OpenAssociatedEditor() -{ - // TODO datainput - // return OpenSourcePathFile(); - return false; -} diff --git a/src/Authoring/Studio/Palettes/Timeline/Bindings/DataInputTimelineItemBinding.h b/src/Authoring/Studio/Palettes/Timeline/Bindings/DataInputTimelineItemBinding.h deleted file mode 100644 index d2d03226..00000000 --- a/src/Authoring/Studio/Palettes/Timeline/Bindings/DataInputTimelineItemBinding.h +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** -** -** 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$ -** -****************************************************************************/ - -#ifndef DATAINPUTTIMELINEITEMBINDING_H -#define DATAINPUTTIMELINEITEMBINDING_H -#include "Qt3DSDMTimelineItemBinding.h" - - -//============================================================================== -// Classes -//============================================================================== -class CTimelineTranslationManager; - -//============================================================================= -/** - * Binding to a UICDM object of DataInput type - */ -class CDataInputTimelineItemBinding : public Qt3DSDMTimelineItemBinding -{ -public: - CDataInputTimelineItemBinding(CTimelineTranslationManager *inMgr, - qt3dsdm::Qt3DSDMInstanceHandle inDataHandle); - ~CDataInputTimelineItemBinding() {} - - // Qt3DSDMTimelineItemBinding - ITimelineTimebar *GetTimebar() override; - EStudioObjectType GetObjectType() const override; - bool OpenAssociatedEditor() override; -}; - -#endif // DATAINPUTTIMELINEITEMBINDING_H diff --git a/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp b/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp index d1f881c6..b21bf949 100644 --- a/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp +++ b/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp @@ -346,7 +346,6 @@ void Qt3DSDMTimelineItemBinding::SetName(const Q3DStudio::CString &inName) return; } - Q3DStudio::CString oldPath = GetObjectPath(); CClientDataModelBridge *theBridge = m_StudioSystem->GetClientDataModelBridge(); if (!theBridge->CheckNameUnique(m_DataHandle, inName)) { QString theTitle = QObject::tr("Rename Object Error"); @@ -560,11 +559,7 @@ bool Qt3DSDMTimelineItemBinding::IsValidTransaction(EUserTransaction inTransacti qt3dsdm::Qt3DSDMInstanceHandle theInstance = GetInstance(); switch (inTransaction) { case EUserTransaction_Rename: - // DataInput renaming is forbidden by convention. DataInput name is - // permanently assigned when it is added to the scene from a fixed list of - // available datainputs - return (GetObjectType() != OBJTYPE_SCENE && GetObjectType() != OBJTYPE_IMAGE - && GetObjectType() != OBJTYPE_DATAINPUT); + return (GetObjectType() != OBJTYPE_SCENE && GetObjectType() != OBJTYPE_IMAGE); case EUserTransaction_Duplicate: if (theInstance.Valid()) @@ -596,14 +591,11 @@ bool Qt3DSDMTimelineItemBinding::IsValidTransaction(EUserTransaction inTransacti // component. // This may include behavior assets which may be directly attached to the Scene. // This is because by principal, components cannot exist on the Scene directly. - // DataInputs cannot reside inside component as they must be direct children - // of scene qt3dsdm::Qt3DSDMInstanceHandle theParentInstance = theBridge->GetParentInstance(theInstance); if (theObjectType != OBJTYPE_LAYER && theObjectType != OBJTYPE_SCENE && theObjectType != OBJTYPE_MATERIAL && theObjectType != OBJTYPE_IMAGE - && theObjectType != OBJTYPE_EFFECT && theObjectType != OBJTYPE_DATAINPUT - && theObjectType != OBJTYPE_COMPONENT + && theObjectType != OBJTYPE_EFFECT && theObjectType != OBJTYPE_COMPONENT && (theParentInstance.Valid() && theBridge->GetObjectType(theParentInstance) != OBJTYPE_SCENE)) // This checks if the object is diff --git a/src/Authoring/Studio/Palettes/Timeline/Bindings/TimelineTranslationManager.cpp b/src/Authoring/Studio/Palettes/Timeline/Bindings/TimelineTranslationManager.cpp index ea4a8cae..5d25704f 100644 --- a/src/Authoring/Studio/Palettes/Timeline/Bindings/TimelineTranslationManager.cpp +++ b/src/Authoring/Studio/Palettes/Timeline/Bindings/TimelineTranslationManager.cpp @@ -44,7 +44,6 @@ #include "PathAnchorPointTimelineItemBinding.h" #include "PathTimelineItemBinding.h" #include "LayerTimelineItemBinding.h" -#include "DataInputTimelineItemBinding.h" #include "KeyframesManager.h" #include "TimelineBreadCrumbProvider.h" #include "BaseStateRow.h" @@ -114,8 +113,6 @@ ITimelineItemBinding *CTimelineTranslationManager::GetOrCreate(Qt3DSDMInstanceHa || theWideTypeString == L"Light" || theWideTypeString == L"RenderPlugin" || theWideTypeString == L"Alias" || theWideTypeString == L"SubPath") theReturn = new Qt3DSDMTimelineItemBinding(this, inInstance); - else if (theWideTypeString == L"DataInput") - theReturn = new CDataInputTimelineItemBinding(this, inInstance); else { // Add support for additional DataModel types here. ASSERT(0); diff --git a/src/Authoring/Studio/Qt3DStudio.pro b/src/Authoring/Studio/Qt3DStudio.pro index 0367ede3..be0aedbc 100644 --- a/src/Authoring/Studio/Qt3DStudio.pro +++ b/src/Authoring/Studio/Qt3DStudio.pro @@ -331,7 +331,6 @@ SOURCES += \ Palettes/Timeline/ToggleToolbar.cpp \ Palettes/Timeline/TreeBlankControl.cpp \ Palettes/Timeline/Bindings/BehaviorTimelineItemBinding.cpp \ - Palettes/Timeline/Bindings/DataInputTimelineItemBinding.cpp \ Palettes/Timeline/Bindings/EmptyTimelineTimebar.cpp \ Palettes/Timeline/Bindings/GroupTimelineItemBinding.cpp \ Palettes/Timeline/Bindings/ImageTimelineItemBinding.cpp \ diff --git a/src/Authoring/Studio/Render/StudioRendererImpl.h b/src/Authoring/Studio/Render/StudioRendererImpl.h index 408cba42..21c0e564 100644 --- a/src/Authoring/Studio/Render/StudioRendererImpl.h +++ b/src/Authoring/Studio/Render/StudioRendererImpl.h @@ -56,7 +56,6 @@ #include "Qt3DSRenderCamera.h" #include "Qt3DSRenderImage.h" #include "Qt3DSRenderPresentation.h" -#include "Qt3DSRenderDataInput.h" #include "StudioProjectSettings.h" #include "Qt3DSRenderUIPSharedTranslation.h" #include "Qt3DSRenderBufferManager.h" diff --git a/src/Authoring/Studio/Render/StudioRendererTranslation.cpp b/src/Authoring/Studio/Render/StudioRendererTranslation.cpp index b9f58c2b..9cde7588 100644 --- a/src/Authoring/Studio/Render/StudioRendererTranslation.cpp +++ b/src/Authoring/Studio/Render/StudioRendererTranslation.cpp @@ -471,11 +471,7 @@ struct STranslatorDataModelParser #define Path_PaintStyle m_Path.m_PaintStyle #define Path_PathBuffer m_Asset.m_SourcePath #define SubPath_Closed m_SubPath.m_Closed -#define DataInput_Value m_DataInput.m_Value -#define DataInput_ValueStr m_DataInput.m_ValueStr -#define DataInput_ControlledElemProp m_DataInput.m_ControlledElemProp -#define DataInput_TimeFrom m_DataInput.m_TimeFrom -#define DataInput_TimeTo m_DataInput.m_TimeTo + // Fill in implementations for the actual parse tables. #define HANDLE_QT3DS_RENDER_PROPERTY(type, name, dirty) \ theParser.ParseProperty(inContext.m_ObjectDefinitions.type##_##name, theItem.m_##name); @@ -534,9 +530,7 @@ struct SSceneTranslator : public SGraphObjectTranslator STranslatorDataModelParser theParser(inContext, GetInstanceHandle()); ITERATE_QT3DS_RENDER_SCENE_PROPERTIES SLayer *theCurrentLayer = nullptr; - qt3ds::render::SDataInput *theCurrentDataInput = nullptr; theItem.m_FirstChild = nullptr; - theItem.m_FirstDataInput = nullptr; for (long idx = 0, end = inContext.m_AssetGraph.GetChildCount(GetInstanceHandle()); idx < end; ++idx) { SGraphObjectTranslator::PushTranslation(inContext); @@ -552,16 +546,6 @@ struct SSceneTranslator : public SGraphObjectTranslator else theCurrentLayer->m_NextSibling = theLayerObj; theCurrentLayer = theLayerObj; - } else if (theTranslator && theTranslator->GetGraphObject().m_Type == - qt3ds::render::GraphObjectTypes::DataInput ) { - qt3ds::render::SDataInput *theDataInputObj = - static_cast<qt3ds::render::SDataInput *>(&theTranslator->GetGraphObject()); - theDataInputObj->m_NextSibling = nullptr; - if (theItem.m_FirstDataInput == nullptr) - theItem.m_FirstDataInput = theDataInputObj; - else - theCurrentDataInput->m_NextSibling = theDataInputObj; - theCurrentDataInput = theDataInputObj; } } } @@ -569,7 +553,6 @@ struct SSceneTranslator : public SGraphObjectTranslator { SScene &theItem = static_cast<SScene &>(GetGraphObject()); SLayer *theLastChild = nullptr; - qt3ds::render::SDataInput *theLastDataInput = nullptr; for (SLayer *theChild = theItem.m_FirstChild; theChild; theChild = static_cast<SLayer *>(theChild->m_NextSibling)) { @@ -579,32 +562,16 @@ struct SSceneTranslator : public SGraphObjectTranslator theLastChild = theChild; } theItem.m_FirstChild = nullptr; - - for (qt3ds::render::SDataInput *theChild = theItem.m_FirstDataInput; theChild; - theChild = static_cast<qt3ds::render::SDataInput *>(theChild->m_NextSibling)) { - if (theLastDataInput) - theLastDataInput->m_NextSibling = nullptr; - theChild->m_Scene = nullptr; - theLastDataInput = theChild; - } - theItem.m_FirstDataInput = nullptr; } void AppendChild(SGraphObject &inChild) override { - if (inChild.m_Type != GraphObjectTypes::Layer && - inChild.m_Type != GraphObjectTypes::DataInput ) { + if (inChild.m_Type != GraphObjectTypes::Layer) { QT3DS_ASSERT(false); return; } SScene &theItem = static_cast<SScene &>(GetGraphObject()); - if ( inChild.m_Type == GraphObjectTypes::Layer ) { - SLayer &theLayer = static_cast<SLayer &>(inChild); - theItem.AddChild(theLayer); - } else if (inChild.m_Type == GraphObjectTypes::DataInput) { - qt3ds::render::SDataInput &theDataInput = - static_cast<qt3ds::render::SDataInput &>(inChild); - theItem.AddDataInput(theDataInput); - } + SLayer &theLayer = static_cast<SLayer &>(inChild); + theItem.AddChild(theLayer); } void SetActive(bool /*inActive*/) override { @@ -890,67 +857,6 @@ struct SPathSubPathTranslator : public SGraphObjectTranslator void SetActive(bool /*inActive*/) override {} }; -struct SDataInputTranslator : public SGraphObjectTranslator -{ - SDataInputTranslator(qt3dsdm::Qt3DSDMInstanceHandle inInstance, - qt3ds::NVAllocatorCallback &inAlloc) - : SGraphObjectTranslator(inInstance, *QT3DS_NEW(inAlloc, qt3ds::render::SDataInput)()) - { - } - - void PushTranslation(STranslation &inContext) override - { - SGraphObjectTranslator::PushTranslation(inContext); - qt3ds::render::SDataInput &theItem = - static_cast<qt3ds::render::SDataInput &>(GetGraphObject()); - - STranslatorDataModelParser theParser(inContext, GetInstanceHandle()); - - ITERATE_QT3DS_RENDER_DATAINPUT_PROPERTIES - - // Handle incoming controlled element - property pairs - CRegisteredString incomingElemProp = CRegisteredString(); - theParser.ParseProperty( - inContext.m_ObjectDefinitions.m_DataInput.m_ControlledElemProp, - incomingElemProp); - qt3ds::render::IStringTable &theStrTable(inContext.m_Context.GetStringTable()); - - QVector<QPair<CRegisteredString, CRegisteredString>> newVec - = ResolveControlledElemProps(incomingElemProp.c_str(), theStrTable); - theItem.SetControlledElementProperties(newVec); - } - void AppendChild(SGraphObject &inChild) override {} - - void ClearChildren() override { } - - void SetActive(bool /*inActive*/) override {} - - QVector<QPair<CRegisteredString, CRegisteredString>> ResolveControlledElemProps( - std::string elemProp, qt3ds::render::IStringTable &strTable) - { - if (!elemProp.size()) - return QVector<QPair<CRegisteredString, CRegisteredString>>(); - - QVector<QPair<CRegisteredString, CRegisteredString>> ret; - std::string theStr = elemProp; - std::string theCurrentElemStr; - std::string theCurrentPropStr; - std::string::size_type thePos = 0; - while (thePos < theStr.length()) { - theCurrentElemStr = theStr.substr(thePos, theStr.find(' ', thePos) - thePos); - thePos += theCurrentElemStr.length() + 1; - - theCurrentPropStr = theStr.substr(thePos, theStr.find(' ', thePos) - thePos); - thePos += theCurrentPropStr.length() + 1; - - ret.append(QPair<CRegisteredString, CRegisteredString>( - strTable.RegisterStr(theCurrentElemStr.c_str()), - strTable.RegisterStr(theCurrentPropStr.c_str()))); - } - return ret; - } -}; - struct SPathTranslator : public SNodeTranslator { SPathTranslator(qt3dsdm::Qt3DSDMInstanceHandle inInstance, qt3ds::NVAllocatorCallback &inAlloc) @@ -1710,9 +1616,6 @@ SGraphObjectTranslator *STranslation::CreateTranslator(qt3dsdm::Qt3DSDMInstanceH case qt3dsdm::ComposerObjectTypes::SubPath: theNewTranslator = QT3DS_NEW(m_Allocator, SPathSubPathTranslator)(inInstance, m_Allocator); break; - case qt3dsdm::ComposerObjectTypes::DataInput: - theNewTranslator = QT3DS_NEW(m_Allocator, SDataInputTranslator)(inInstance, m_Allocator); - break; case qt3dsdm::ComposerObjectTypes::Effect: { IEffectSystem &theSystem = m_Context.GetEffectSystem(); if (theParentClass.Valid()) { diff --git a/src/Runtime/Qt3DSRuntimeStatic/Qt3DSRuntimeStatic.pro b/src/Runtime/Qt3DSRuntimeStatic/Qt3DSRuntimeStatic.pro index d915897b..032c5692 100644 --- a/src/Runtime/Qt3DSRuntimeStatic/Qt3DSRuntimeStatic.pro +++ b/src/Runtime/Qt3DSRuntimeStatic/Qt3DSRuntimeStatic.pro @@ -69,7 +69,6 @@ SOURCES += \ ../Source/Runtime/Source/Qt3DSSlideSystem.cpp \ ../Source/Runtime/Source/Qt3DSTimePolicy.cpp \ ../Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderCamera.cpp \ - ../Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDataInput.cpp \ ../Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDefaultMaterial.cpp \ ../Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDynamicObject.cpp \ ../Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderEffect.cpp \ @@ -296,7 +295,6 @@ HEADERS += \ ../Source/Runtime/Include/Qt3DSLuaIncludes.h \ ../Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderCamera.h \ ../Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderCustomMaterial.h \ - ../Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDataInput.h \ ../Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDefaultMaterial.h \ ../Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDynamicObject.h \ ../Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderEffect.h \ diff --git a/src/Runtime/Source/Engine/Include/Qt3DSRenderRuntimeBindingImpl.h b/src/Runtime/Source/Engine/Include/Qt3DSRenderRuntimeBindingImpl.h index 197cfc01..3ffe15ce 100644 --- a/src/Runtime/Source/Engine/Include/Qt3DSRenderRuntimeBindingImpl.h +++ b/src/Runtime/Source/Engine/Include/Qt3DSRenderRuntimeBindingImpl.h @@ -50,7 +50,6 @@ #include "Qt3DSRenderModel.h" #include "Qt3DSRenderDefaultMaterial.h" #include "Qt3DSRenderImage.h" -#include "Qt3DSRenderDataInput.h" #include "Qt3DSUIPParser.h" #include "Qt3DSRenderEffect.h" #include "Qt3DSRenderCustomMaterial.h" diff --git a/src/Runtime/Source/Engine/Source/Qt3DSRenderRuntimeBindingImplTranslation.cpp b/src/Runtime/Source/Engine/Source/Qt3DSRenderRuntimeBindingImplTranslation.cpp index 9a146c97..8ce1404a 100644 --- a/src/Runtime/Source/Engine/Source/Qt3DSRenderRuntimeBindingImplTranslation.cpp +++ b/src/Runtime/Source/Engine/Source/Qt3DSRenderRuntimeBindingImplTranslation.cpp @@ -44,8 +44,6 @@ #include "Qt3DSRenderPath.h" #include "Qt3DSRenderPathSubPath.h" #include "Qt3DSRenderPathManager.h" -#include "Qt3DSTypes.h" -#include <sstream> namespace Q3DStudio { enum ExtendedAttributes { @@ -648,11 +646,6 @@ struct SRuntimePropertyParser #define Path_PaintStyle ATTRIBUTE_PAINTSTYLE #define Path_PathBuffer ATTRIBUTE_SOURCEPATH #define SubPath_Closed ATTRIBUTE_CLOSED -#define DataInput_Value ATTRIBUTE_VALUE -#define DataInput_ValueStr ATTRIBUTE_VALUESTR -#define DataInput_ControlledElemProp ATTRIBUTE_CONTROLLEDELEMPROP -#define DataInput_TimeFrom ATTRIBUTE_TIMEFROM -#define DataInput_TimeTo ATTRIBUTE_TIMETO // Fill in implementations for the actual parse tables. #define HANDLE_QT3DS_RENDER_PROPERTY(type, name, dirty) \ @@ -1176,141 +1169,6 @@ struct STextTranslator : public SNodeTranslator } }; -struct SDataInputTranslator : public Qt3DSTranslator -{ - typedef SDataInput TNodeType; - SDataInputTranslator(Q3DStudio::TElement &inElement, SDataInput &inRenderObject) - : Qt3DSTranslator(inElement, inRenderObject) - { - } - void OnSpecificPropertyChange(SRuntimePropertyParser &inParser) - { - SDataInput &theItem = *static_cast<SDataInput *>(m_RenderObject); - // Handle DataInput propertychange here instead of macro as - // this is a special case of controlling other elements - QVector<QPair<CRegisteredString, CRegisteredString>> controlledElementsProperties = - theItem.GetControlledElementsProperties(); - - for (int i = 0; i<controlledElementsProperties.size(); ++i) { - QPair<CRegisteredString, CRegisteredString> elemAndProperty = - controlledElementsProperties.at(i); - - // Datainput is always a direct child of Scene so we can pass - // Element().GetParent() to GetElement starting point of search - Q3DStudio::TElement *controlledElem = - Q3DStudio::CLuaElementHelper::GetElement( - Element().GetBelongedPresentation()->GetApplication(), - Element().GetBelongedPresentation(), elemAndProperty.first, - Element().GetParent()); - - if (!controlledElem) { - qCWarning(qt3ds::WARNING()) << "DataInput controlled element not found!"; - QT3DS_ASSERT(false); - return; - } - - SPresentation presentation = inParser.m_Presentation; - Qt3DSTranslator *controlledTranslator = - reinterpret_cast<Qt3DSTranslator *>(controlledElem->GetAssociation()); - SRuntimePropertyParser ControlledElementParser(presentation, - inParser.m_RenderContext, - *controlledElem); - ControlledElementParser.Setup( - Q3DStudio::CHash::HashAttribute(elemAndProperty.second), - inParser.m_Value, inParser.m_Type); - - switch (inParser.m_PropertyName) { - case Q3DStudio::ATTRIBUTE_VALUE: - // Instead of generic macro, iterate through object types that are relevant for - // DataInput control and which have propertychange handler - switch (controlledTranslator->GetUIPType()) { - case GraphObjectTypes::Layer: - (reinterpret_cast<SLayerTranslator *>(controlledTranslator)) - ->OnSpecificPropertyChange(ControlledElementParser); - (reinterpret_cast<SLayerTranslator *>(controlledTranslator)) - ->PostPropertyChanged(ControlledElementParser, - *m_Element->GetBelongedPresentation()); - break; - case GraphObjectTypes::Light: - (reinterpret_cast<SLightTranslator *>(controlledTranslator)) - ->OnSpecificPropertyChange(ControlledElementParser); - (reinterpret_cast<SLightTranslator *>(controlledTranslator)) - ->PostPropertyChanged(ControlledElementParser, - *m_Element->GetBelongedPresentation()); - break; - case GraphObjectTypes::Camera: - (reinterpret_cast<SCameraTranslator *>(controlledTranslator)) - ->OnSpecificPropertyChange(ControlledElementParser); - (reinterpret_cast<SCameraTranslator *>(controlledTranslator)) - ->PostPropertyChanged(ControlledElementParser, - *m_Element->GetBelongedPresentation()); - break; - case GraphObjectTypes::Model: - (reinterpret_cast<SModelTranslator *>(controlledTranslator)) - ->OnSpecificPropertyChange(ControlledElementParser); - (reinterpret_cast<SModelTranslator *>(controlledTranslator)) - ->PostPropertyChanged(ControlledElementParser, - *m_Element->GetBelongedPresentation()); - break; - case GraphObjectTypes::DefaultMaterial: - (reinterpret_cast<SDefaultMaterialTranslator *>(controlledTranslator)) - ->OnSpecificPropertyChange(ControlledElementParser); - (reinterpret_cast<SDefaultMaterialTranslator *>(controlledTranslator)) - ->PostPropertyChanged(ControlledElementParser, - *m_Element->GetBelongedPresentation()); - break; - case GraphObjectTypes::Text: - // TODO Remove this testcode. Allows pushing float values in to datainput - // and showing them on textfield without text type parser throwing ASSERT - if (Q3DStudio::CHash::HashAttribute(elemAndProperty.second) == - Q3DStudio::EAttribute::ATTRIBUTE_TEXTSTRING) { - - // workaround for MinGW https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52015 - std::ostringstream oss; - oss << inParser.m_Value.m_FLOAT; - CRegisteredString valuestring = m_Element->GetBelongedPresentation()-> - GetStringTable().RegisterStr(oss.str().c_str()); - - Q3DStudio::UVariant convertedVal; - convertedVal.m_StringHandle = m_Element->GetBelongedPresentation()-> - GetStringTable().GetHandle(valuestring); - ControlledElementParser.Setup( - Q3DStudio::CHash::HashAttribute(elemAndProperty.second), - convertedVal,Q3DStudio::EAttributeType::ATTRIBUTETYPE_STRING); - } - (reinterpret_cast<STextTranslator *>(controlledTranslator)) - ->OnSpecificPropertyChange(ControlledElementParser); - (reinterpret_cast<STextTranslator *>(controlledTranslator)) - ->PostPropertyChanged(ControlledElementParser, - *m_Element->GetBelongedPresentation()); - break; - default: - QT3DS_ASSERT(false); - break; - } - break; - case Q3DStudio::ATTRIBUTE_VALUESTR: - if (controlledTranslator->GetUIPType() == GraphObjectTypes::Text) { - (reinterpret_cast<STextTranslator *>(controlledTranslator)) - ->OnSpecificPropertyChange(ControlledElementParser); - (reinterpret_cast<STextTranslator *>(controlledTranslator)) - ->PostPropertyChanged(ControlledElementParser, - *m_Element->GetBelongedPresentation()); - } - break; - // TODO handle remaining properties - // (timefrom/to) - default: - // Unknown attribute, skip those as DataInput should only - // respond to property changes from outside, not from - // runtime internal animation loops - // QT3DS_ASSERT( false ); - break; - } - } - } - void PostPropertyChanged(const SRuntimePropertyParser &, Q3DStudio::IPresentation &) {} -}; struct SEffectPropertyEntry { Q3DStudio::EAttributeType m_AttributeType; diff --git a/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDataInput.cpp b/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDataInput.cpp deleted file mode 100644 index 278ccd85..00000000 --- a/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDataInput.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** -** -** 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$ -** -****************************************************************************/ - -#include "Qt3DSRenderDataInput.h" - -using namespace qt3ds::render; - -SDataInput::SDataInput() - : SGraphObject(GraphObjectTypes::DataInput), - m_Value(0.0f), - m_ValueStr(CRegisteredString()), - m_ControlledElemProp(CRegisteredString()), - m_NextSibling(nullptr), - m_TimeFrom(0.0f), - m_TimeTo(10000.0f), - m_ControlledElementsProperties(QVector<QPair<CRegisteredString, CRegisteredString>>()), - m_Scene(nullptr) -{ -} - -void SDataInput::AddControlledElementProperty(QPair<CRegisteredString, CRegisteredString> pair) { - m_ControlledElementsProperties.append(pair); - return; -} - -QVector<QPair<CRegisteredString, CRegisteredString>> -qt3ds::render::SDataInput::GetControlledElementsProperties() -{ - return m_ControlledElementsProperties; -} diff --git a/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDataInput.h b/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDataInput.h deleted file mode 100644 index 59314dd2..00000000 --- a/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderDataInput.h +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** -** -** 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$ -** 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 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** 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$ -** -****************************************************************************/ - -#ifndef QT3DSRENDERDATAINPUT_H -#define QT3DSRENDERDATAINPUT_H - -#include "Qt3DSRenderGraphObject.h" -#include "foundation/Qt3DSFoundation.h" -#include "foundation/StringTable.h" -#include "foundation/Qt3DSLogging.h" - -namespace qt3ds { -namespace render { - - struct SScene; - struct SDataInput : public SGraphObject - { - SDataInput(); - - // DataInput should always be at the root of the scene - SScene *m_Scene; - - QT3DSF32 m_Value; - CRegisteredString m_ValueStr; - CRegisteredString m_ControlledElemProp; - - QT3DSF32 m_TimeFrom; - QT3DSF32 m_TimeTo; - - SDataInput *m_NextSibling; - - // List of "target element" - "property" - // - pairs that this DataInput controls - QVector<QPair<CRegisteredString, CRegisteredString>> m_ControlledElementsProperties; - - void AddControlledElementProperty(QPair<CRegisteredString, CRegisteredString> pair); - void SetControlledElementProperties( - QVector<QPair<CRegisteredString, CRegisteredString>> vec) - { - m_ControlledElementsProperties = vec; - } - QVector<QPair<CRegisteredString, CRegisteredString>> GetControlledElementsProperties(); - - // Generic method used during serialization - // to remap string and object pointers - template <typename TRemapperType> - void Remap(TRemapperType &inRemapper) - { - SGraphObject::Remap(inRemapper); - inRemapper.Remap(m_Scene); - inRemapper.Remap(m_ValueStr); - inRemapper.Remap(m_NextSibling); - inRemapper.Remap(m_ControlledElemProp); - } - }; -} -} -#endif // QT3DSRENDERDATAINPUT_H diff --git a/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderScene.cpp b/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderScene.cpp index d23eb916..8d206e69 100644 --- a/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderScene.cpp +++ b/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderScene.cpp @@ -31,7 +31,6 @@ #include "Qt3DSRenderScene.h" #include "Qt3DSRenderLayer.h" #include "Qt3DSRenderContextCore.h" -#include "Qt3DSRenderDataInput.h" #include "render/Qt3DSRenderContext.h" using namespace qt3ds::render; @@ -40,7 +39,6 @@ SScene::SScene() : SGraphObject(GraphObjectTypes::Scene) , m_Presentation(NULL) , m_FirstChild(NULL) - , m_FirstDataInput(NULL) , m_ClearColor(0, 0, 0) , m_UseClearColor(true) , m_Dirty(true) @@ -56,15 +54,6 @@ void SScene::AddChild(SLayer &inLayer) inLayer.m_Scene = this; } -void SScene::AddDataInput(SDataInput &inDataInput) -{ - if (m_FirstDataInput == NULL) - m_FirstDataInput = &inDataInput; - else - GetLastDataInput()->m_NextSibling = &inDataInput; - inDataInput.m_Scene = this; -} - SLayer *SScene::GetLastChild() { // empty loop intentional @@ -76,17 +65,6 @@ SLayer *SScene::GetLastChild() return child; } -SDataInput *SScene::GetLastDataInput() -{ - // empty loop intentional - SDataInput *child; - for (child = m_FirstDataInput; child && child->m_NextSibling; - child = (SDataInput *)child->m_NextSibling) { - } - - return child; -} - bool SScene::PrepareForRender(const QT3DSVec2 &inViewportDimensions, IQt3DSRenderContext &inContext, const SRenderInstanceId id) { diff --git a/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderScene.h b/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderScene.h index 86ef8aa4..57887199 100644 --- a/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderScene.h +++ b/src/Runtime/Source/Qt3DSRuntimeRender/GraphObjects/Qt3DSRenderScene.h @@ -38,14 +38,12 @@ namespace qt3ds { namespace render { struct SLayer; struct SPresentation; - struct SDataInput; typedef void *SRenderInstanceId; struct SScene : public SGraphObject { SPresentation *m_Presentation; SLayer *m_FirstChild; - SDataInput *m_FirstDataInput; QT3DSVec3 m_ClearColor; bool m_UseClearColor; bool m_Dirty; @@ -59,10 +57,7 @@ namespace render { SScene(); void AddChild(SLayer &inLayer); - void AddDataInput(SDataInput &inDataInput); - SLayer *GetLastChild(); - SDataInput *GetLastDataInput(); // Generic method used during serialization // to remap string and object pointers @@ -72,7 +67,6 @@ namespace render { SGraphObject::Remap(inRemapper); inRemapper.Remap(m_Presentation); inRemapper.Remap(m_FirstChild); - inRemapper.Remap(m_FirstDataInput); } // returns true if any of the layers were dirty or if this object was dirty bool PrepareForRender(const QT3DSVec2 &inViewportDimensions, IQt3DSRenderContext &inContext, diff --git a/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSRenderGraphObjectTypes.h b/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSRenderGraphObjectTypes.h index 840c0511..620f6c5d 100644 --- a/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSRenderGraphObjectTypes.h +++ b/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSRenderGraphObjectTypes.h @@ -54,8 +54,7 @@ namespace render { QT3DS_RENDER_HANDL_GRAPH_OBJECT_TYPE(CustomMaterial) \ QT3DS_RENDER_HANDL_GRAPH_OBJECT_TYPE(ReferencedMaterial) \ QT3DS_RENDER_HANDL_GRAPH_OBJECT_TYPE(Path) \ - QT3DS_RENDER_HANDL_GRAPH_OBJECT_TYPE(PathSubPath) \ - QT3DS_RENDER_HANDL_GRAPH_OBJECT_TYPE(DataInput) + QT3DS_RENDER_HANDL_GRAPH_OBJECT_TYPE(PathSubPath) struct GraphObjectTypes { @@ -77,7 +76,6 @@ namespace render { ReferencedMaterial, Path, PathSubPath, - DataInput, Lightmaps, LastKnownGraphObjectType, }; @@ -165,4 +163,4 @@ namespace render { } } -#endif
\ No newline at end of file +#endif diff --git a/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSRenderUIPSharedTranslation.h b/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSRenderUIPSharedTranslation.h index 41535870..e46b5da6 100644 --- a/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSRenderUIPSharedTranslation.h +++ b/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSRenderUIPSharedTranslation.h @@ -35,7 +35,6 @@ #include "Qt3DSRenderDefaultMaterial.h" #include "Qt3DSRenderImage.h" #include "Qt3DSRenderText.h" -#include "Qt3DSRenderDataInput.h" #include "Qt3DSDMWindowsCompatibility.h" #include "Qt3DSRenderLayer.h" #include "Qt3DSRenderModel.h" @@ -458,13 +457,6 @@ namespace render { #define ITERATE_QT3DS_RENDER_PATH_SUBPATH_PROPERTIES \ HANDLE_QT3DS_RENDER_PROPERTY(SubPath, Closed, Dirty) - -#define ITERATE_QT3DS_RENDER_DATAINPUT_PROPERTIES \ - HANDLE_QT3DS_RENDER_PROPERTY(DataInput, Value, Dirty) \ - HANDLE_QT3DS_RENDER_PROPERTY(DataInput, ValueStr, Dirty) \ - HANDLE_QT3DS_RENDER_PROPERTY(DataInput, TimeFrom, Dirty) \ - HANDLE_QT3DS_RENDER_PROPERTY(DataInput, TimeTo, Dirty) \ - HANDLE_QT3DS_RENDER_PROPERTY(DataInput, ControlledElemProp, Dirty) } } #endif diff --git a/src/Runtime/Source/Qt3DSRuntimeRender/Source/Qt3DSRenderGraphObjectSerializer.cpp b/src/Runtime/Source/Qt3DSRuntimeRender/Source/Qt3DSRenderGraphObjectSerializer.cpp index 630b5539..3a75134d 100644 --- a/src/Runtime/Source/Qt3DSRuntimeRender/Source/Qt3DSRenderGraphObjectSerializer.cpp +++ b/src/Runtime/Source/Qt3DSRuntimeRender/Source/Qt3DSRenderGraphObjectSerializer.cpp @@ -53,7 +53,6 @@ #include "Qt3DSRenderPath.h" #include "Qt3DSRenderPathSubPath.h" #include "Qt3DSRenderPathManager.h" -#include "Qt3DSRenderDataInput.h" using namespace qt3ds::render; using namespace qt3ds::render::dynamic; diff --git a/src/Runtime/Source/Qt3DSRuntimeRender/Source/Qt3DSRenderUIPLoader.cpp b/src/Runtime/Source/Qt3DSRuntimeRender/Source/Qt3DSRenderUIPLoader.cpp index aa394e8d..f95355f6 100644 --- a/src/Runtime/Source/Qt3DSRuntimeRender/Source/Qt3DSRenderUIPLoader.cpp +++ b/src/Runtime/Source/Qt3DSRuntimeRender/Source/Qt3DSRenderUIPLoader.cpp @@ -40,7 +40,6 @@ #include "Qt3DSRenderImage.h" #include "Qt3DSRenderBufferManager.h" #include "Qt3DSRenderUIPSharedTranslation.h" -#include "Qt3DSRenderDataInput.h" #include <vector> #include <map> #include <set> @@ -112,7 +111,6 @@ using qt3ds::render::SEffect; using qt3ds::render::SCustomMaterial; using qt3ds::render::GraphObjectTypes; using qt3ds::render::NodeFlags; -using qt3ds::render::SDataInput; using qt3ds::foundation::CRegisteredString; using qt3ds::render::CRenderString; using qt3ds::foundation::CFileTools; @@ -529,27 +527,6 @@ struct SRenderUIPLoader : public IDOMReferenceResolver return NULL; } - QVector<QPair<CRegisteredString, CRegisteredString>> - ResolveDataInputControlledElemProp(const char *instr) - { - QVector<QPair<CRegisteredString, CRegisteredString>> ret; - CRenderString theStr = CRenderString(instr); - CRenderString theCurrentElemStr; - CRenderString theCurrentPropStr; - CRenderString::size_type thePos = 0; - while (thePos < theStr.length()) { - theCurrentElemStr = theStr.substr(thePos, theStr.find(' ', thePos) - thePos); - thePos += theCurrentElemStr.length() + 1; - - theCurrentPropStr = theStr.substr(thePos, theStr.find(' ', thePos) - thePos); - thePos += theCurrentPropStr.length() + 1; - - ret.append(QPair<CRegisteredString, CRegisteredString>( - m_StrTable.RegisterStr(theCurrentElemStr.c_str()), - m_StrTable.RegisterStr(theCurrentPropStr.c_str()))); - } - return ret; - } static bool IsNode(GraphObjectTypes::Enum inType) { return GraphObjectTypes::IsNodeType(inType); @@ -834,11 +811,6 @@ struct SRenderUIPLoader : public IDOMReferenceResolver #define Path_EndCapWidth "endcapwidth" #define Path_PathBuffer "sourcepath" #define SubPath_Closed "closed" -#define DataInput_Value "value" -#define DataInput_ValueStr "valuestr" -#define DataInput_TimeFrom "timefrom" -#define DataInput_TimeTo "timeto" -#define DataInput_ControlledElemProp "controlledelemprop" // Fill in implementations for the actual parse tables. #define HANDLE_QT3DS_RENDER_PROPERTY(type, name, dirty) \ @@ -1047,16 +1019,6 @@ struct SRenderUIPLoader : public IDOMReferenceResolver ITERATE_QT3DS_RENDER_PATH_SUBPATH_PROPERTIES } - void ParseProperties(SDataInput &inItem, IPropertyParser &inParser) - { - ITERATE_QT3DS_RENDER_DATAINPUT_PROPERTIES - if (inItem.m_ControlledElemProp != CRegisteredString()) - { - inItem.SetControlledElementProperties( - ResolveDataInputControlledElemProp(inItem.m_ControlledElemProp)); - } - } - void AddPluginPropertyUpdate(eastl::vector<qt3ds::render::SRenderPropertyValueUpdate> &ioUpdates, qt3ds::render::IRenderPluginClass &, const qt3ds::render::SRenderPluginPropertyDeclaration &inDeclaration, @@ -1257,10 +1219,6 @@ struct SRenderUIPLoader : public IDOMReferenceResolver } m_PathManager.ResizePathSubPathBuffer(*thePath, anchorCount); } break; - case qt3dsdm::ComposerObjectTypes::DataInput: { - theNewObject = QT3DS_NEW(m_PresentationAllocator, SDataInput)(); - static_cast<SDataInput *>(theNewObject)->m_Scene = static_cast<SScene *>(inParent); - } break; case qt3dsdm::ComposerObjectTypes::Effect: { const char8_t *effectClassId; m_Reader.Att("class", effectClassId); @@ -1314,12 +1272,8 @@ struct SRenderUIPLoader : public IDOMReferenceResolver if (theNewObject->m_Type == GraphObjectTypes::Layer) { static_cast<SScene *>(inParent)->AddChild( *static_cast<SLayer *>(theNewObject)); - } else if (theNewObject->m_Type == GraphObjectTypes::DataInput ) { - // DataInputs should always be at scene root level - static_cast<SScene *>(inParent)->AddDataInput( - *static_cast<SDataInput *>(theNewObject)); } else { - // Something added to a scene that was not a layer or datainput. + // Something added to a scene that was not a layer. QT3DS_ASSERT(false); } break; @@ -1501,9 +1455,6 @@ struct SRenderUIPLoader : public IDOMReferenceResolver case GraphObjectTypes::PathSubPath: ParsePass2Properties(*static_cast<SPathSubPath *>(theObject->second), theClass); break; - case GraphObjectTypes::DataInput: - ParsePass2Properties(*static_cast<SDataInput *>(theObject->second), theClass); - break; default: QT3DS_ASSERT(false); break; @@ -1597,10 +1548,6 @@ struct SRenderUIPLoader : public IDOMReferenceResolver ParseProperties( *static_cast<qt3ds::render::SPathSubPath *>(theObject->second), parser); break; - case GraphObjectTypes::DataInput: - ParseProperties( - *static_cast<qt3ds::render::SDataInput *>(theObject->second), parser); - break; default: QT3DS_ASSERT(false); break; diff --git a/src/Runtime/Source/Runtime/Include/Qt3DSAttributeHashes.h b/src/Runtime/Source/Runtime/Include/Qt3DSAttributeHashes.h index 191ce9eb..fd9ee2fe 100644 --- a/src/Runtime/Source/Runtime/Include/Qt3DSAttributeHashes.h +++ b/src/Runtime/Source/Runtime/Include/Qt3DSAttributeHashes.h @@ -251,11 +251,6 @@ enum EAttribute { ATTRIBUTE_MAXPARTICLES = 0x00BE66B7, // maxparticles ATTRIBUTE_PARTICLESIZE = 0x02534279, // particlesize ATTRIBUTE_LIFETIME = 0x0033D297, // lifetime - ATTRIBUTE_VALUE = 0x03E711CF, // value - ATTRIBUTE_VALUESTR = 0x005961C0, // valuestr - ATTRIBUTE_TIMEFROM = 0x01028DC9, // timefrom - ATTRIBUTE_TIMETO = 0x000AE5D8, // timeto - ATTRIBUTE_CONTROLLEDELEMPROP = 0x021D0620, // controlledelemprop ATTRIBUTE_CONTROLLEDPROPERTY = 0x022C0A1D, // controlledproperty ATTRIBUTE_QT_IO = 0x010EF2CF, // qt.io }; // enum EAttribute diff --git a/src/Runtime/Source/Runtime/Include/Qt3DSAttributeHashes.txt b/src/Runtime/Source/Runtime/Include/Qt3DSAttributeHashes.txt index 1dc55eb6..2adf8ea3 100644 --- a/src/Runtime/Source/Runtime/Include/Qt3DSAttributeHashes.txt +++ b/src/Runtime/Source/Runtime/Include/Qt3DSAttributeHashes.txt @@ -224,9 +224,4 @@ maxparticles particlesize lifetime -value -valuestr -timefrom -timeto -controlledelemprop controlledproperty diff --git a/src/Runtime/Source/Runtime/Include/Qt3DSKernelTypes.h b/src/Runtime/Source/Runtime/Include/Qt3DSKernelTypes.h index 16ca1a29..63e9ee46 100644 --- a/src/Runtime/Source/Runtime/Include/Qt3DSKernelTypes.h +++ b/src/Runtime/Source/Runtime/Include/Qt3DSKernelTypes.h @@ -106,7 +106,6 @@ enum EElementType { ELEMENTTYPE_PATH, ELEMENTTYPE_PATHANCHORPOINT, ELEMENTTYPE_SUBPATH, - ELEMENTTYPE_DATAINPUT, ELEMENTTYPECOUNT }; diff --git a/src/Runtime/Source/Runtime/Source/Qt3DSAttributeHashes.cpp b/src/Runtime/Source/Runtime/Source/Qt3DSAttributeHashes.cpp index 4face028..9ee008f5 100644 --- a/src/Runtime/Source/Runtime/Source/Qt3DSAttributeHashes.cpp +++ b/src/Runtime/Source/Runtime/Source/Qt3DSAttributeHashes.cpp @@ -260,11 +260,6 @@ const char *GetAttributeString(const EAttribute inAttribute) case ATTRIBUTE_MAXPARTICLES: return "maxparticles"; case ATTRIBUTE_PARTICLESIZE: return "particlesize"; case ATTRIBUTE_LIFETIME: return "lifetime"; - case ATTRIBUTE_VALUE: return "value"; - case ATTRIBUTE_VALUESTR: return "valuestr"; - case ATTRIBUTE_TIMEFROM: return "timefrom"; - case ATTRIBUTE_TIMETO: return "timeto"; - case ATTRIBUTE_CONTROLLEDELEMPROP: return "controlledelemprop"; case ATTRIBUTE_CONTROLLEDPROPERTY: return "controlledproperty"; case ATTRIBUTE_QT_IO: return "qt.io"; default: { diff --git a/src/Runtime/Source/UIPParser/Include/Qt3DSUIPParser.h b/src/Runtime/Source/UIPParser/Include/Qt3DSUIPParser.h index bc987672..1c31d457 100644 --- a/src/Runtime/Source/UIPParser/Include/Qt3DSUIPParser.h +++ b/src/Runtime/Source/UIPParser/Include/Qt3DSUIPParser.h @@ -93,7 +93,6 @@ struct UIPElementTypes Path, PathAnchorPoint, PathSubPath, - DataInput, }; }; diff --git a/src/Runtime/Source/UIPParser/Include/Qt3DSUIPParserObjectRefHelper.h b/src/Runtime/Source/UIPParser/Include/Qt3DSUIPParserObjectRefHelper.h index ce6592de..fcd16985 100644 --- a/src/Runtime/Source/UIPParser/Include/Qt3DSUIPParserObjectRefHelper.h +++ b/src/Runtime/Source/UIPParser/Include/Qt3DSUIPParserObjectRefHelper.h @@ -92,7 +92,6 @@ private: TImageNamePropertyList m_ImageNamePropertyList; TStrType m_MaterialStr; eastl::vector<void *> m_SceneGraphAliasList; - eastl::vector<void *> m_SceneGraphDataInputList; typedef eastl::pair<eastl::string, eastl::string> TLightProbeAndNamePair; typedef eastl::map<eastl::string, eastl::string> TLightProbeIdToNameMap; diff --git a/src/Runtime/Source/UIPParser/Source/Qt3DSUIPParserImpl.cpp b/src/Runtime/Source/UIPParser/Source/Qt3DSUIPParserImpl.cpp index 952e7a82..9002a516 100644 --- a/src/Runtime/Source/UIPParser/Source/Qt3DSUIPParserImpl.cpp +++ b/src/Runtime/Source/UIPParser/Source/Qt3DSUIPParserImpl.cpp @@ -985,9 +985,6 @@ EElementType GetElementType(const char *inType) else if (AreEqual(inType, "SubPath")) return ELEMENTTYPE_SUBPATH; - else if (AreEqual(inType, "DataInput")) - return ELEMENTTYPE_DATAINPUT; - else return ELEMENTTYPE_UNKNOWN; } @@ -2547,9 +2544,6 @@ SElementAndType CUIPParserImpl::GetElementForID(const char *inElementName) case qt3dsdm::ComposerObjectTypes::SubPath: theUIPType = UIPElementTypes::PathSubPath; break; - case qt3dsdm::ComposerObjectTypes::DataInput: - theUIPType = UIPElementTypes::DataInput; - break; default: QT3DS_ASSERT(false); break; diff --git a/src/Runtime/Source/UIPParser/Source/Qt3DSUIPParserObjectRefHelper.cpp b/src/Runtime/Source/UIPParser/Source/Qt3DSUIPParserObjectRefHelper.cpp index dfb9ef06..f08dda1c 100644 --- a/src/Runtime/Source/UIPParser/Source/Qt3DSUIPParserObjectRefHelper.cpp +++ b/src/Runtime/Source/UIPParser/Source/Qt3DSUIPParserObjectRefHelper.cpp @@ -42,7 +42,6 @@ #include "Qt3DSDMPrefix.h" #include "Qt3DSDMXML.h" #include "Qt3DSMetadata.h" -#include "Qt3DSRenderString.h" using namespace qt3dsdm; //============================================================================== @@ -130,87 +129,6 @@ void CUIPParserObjectRefHelper::CacheGraph(qt3dsdm::IDOMReader &inReader, qt3dsd logicScopeItem = inReader.GetScope(); CacheStateGraph(inReader); } - if (!m_SceneGraphDataInputList.empty()) { - IDOMReader::Scope __aliasScope(inReader); - // Parse objectreferences for datainput controlled objects and - // build full element paths for references - std::shared_ptr<qt3dsdm::IStringTable> theStrTable = inReader.GetStringTable(); - { - IDOMReader::Scope __loopScope(inReader); - for (QT3DSU32 idx = 0, end = m_SceneGraphDataInputList.size(); idx < end; ++idx) { - inReader.SetScope(m_SceneGraphDataInputList[idx]); - const char8_t *reference; - qt3ds::render::CRenderString refStr; - SGraphNode *controlledNode = NULL; - const char8_t *theIdStr; - // CRenderString to avoid adding eastl dependencies - qt3ds::render::CRenderString outputStr; - - // make sure that the controlling node can be parsed - inReader.Att("id", theIdStr); - SGraphNode *dataInputNode = NULL; - TGraphNodeMap::iterator iter = m_GraphNodeMap.find(m_MetaData.Register(theIdStr)); - if (iter != m_GraphNodeMap.end()) - dataInputNode = iter->second; - - if (dataInputNode == NULL) { - QT3DS_ASSERT(false); - continue; - } - // find the controlled node(s) and properties - if (inReader.UnregisteredAtt("controlledelemprop", reference)) { - refStr = reference; - while (refStr.find(' ') != qt3ds::render::CRenderString::npos) { - // find the element name and corresponding node - size_t pos = refStr.find(' '); - qt3ds::render::CRenderString element = qt3ds::render::CRenderString( - refStr.substr(0, pos).c_str()); - TStrType theSourceElemId = ParseObjectRefId(element.c_str(), theIdStr); - iter = m_GraphNodeMap.find(theSourceElemId); - if (iter != m_GraphNodeMap.end()) - controlledNode = iter->second; - - if (controlledNode == NULL) { - QT3DS_ASSERT(false); - continue; - } - - refStr = refStr.substr(pos + 1, refStr.length()); - - // find the property name - pos = refStr.find(' '); - // are we at the end of the tag? - if (pos == qt3ds::render::CRenderString::npos) - pos = refStr.length(); - qt3ds::render::CRenderString property = - qt3ds::render::CRenderString(refStr.substr(0, pos).c_str()); - refStr = refStr.substr(pos, refStr.length()); - - // If the path to controlled node is given as reference, build the full path - if (reference[0] == '#') { - qt3ds::render::CRenderString thePath; - for (SGraphNode *theNode = controlledNode; - theNode; theNode = theNode->m_Parent) { - if (thePath.length()) - thePath.insert(0, "."); - thePath.insert(0, theNode->m_Name); - } - element = thePath; - } - - outputStr.append(element + " "); - outputStr.append(property + " "); - - // if there are still contents left, drop the space delimiter - // for the next round - if (refStr.length() >= 1) - refStr = refStr.substr(1, refStr.length()); - } - inWriter.Att("controlledelemprop", outputStr.c_str()); - } - } - } // End of loop scope. - } if (m_SceneGraphAliasList.empty() == false) { IDOMReader::Scope __aliasScope(inReader); // Now we expand aliases @@ -339,10 +257,6 @@ void CUIPParserObjectRefHelper::CacheSceneGraph(IDOMReader &inReader, SGraphNode if (AreEqual(inReader.GetNarrowElementName(), "Alias")) { CacheSceneGraphNode(inReader, inParent); m_SceneGraphAliasList.push_back(inReader.GetScope()); - } else if (AreEqual(inReader.GetNarrowElementName(), "DataInput")) { - SGraphNode &theNode(CacheSceneGraphNode(inReader, inParent)); - CacheSceneGraph(inReader, &theNode); - m_SceneGraphDataInputList.push_back(inReader.GetScope()); } else { SGraphNode &theNode(CacheSceneGraphNode(inReader, inParent)); CacheSceneGraph(inReader, &theNode); |