diff options
Diffstat (limited to 'src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.cpp')
-rw-r--r-- | src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.cpp b/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.cpp index 51256fe5..c487d1ae 100644 --- a/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.cpp +++ b/src/Authoring/Client/Code/Core/Doc/ClientDataModelBridge/ClientDataModelBridge.cpp @@ -1238,6 +1238,20 @@ bool CClientDataModelBridge::isDefaultMaterial(Qt3DSDMInstanceHandle instance) c && GetSourcePath(instance) == getDefaultMaterialName(); } +bool CClientDataModelBridge::isBasicMaterial(Qt3DSDMInstanceHandle instance) +{ + if (!instance.Valid() || !m_DataCore->IsInstance(instance)) + return false; + + if (GetObjectType(instance) == OBJTYPE_REFERENCEDMATERIAL) { + const auto refMaterial = getMaterialReference(instance); + if (refMaterial.Valid() && isInsideMaterialContainer(refMaterial)) + return true; + } + + return false; +} + Qt3DSDMInstanceHandle CClientDataModelBridge::getMaterialContainer() const { IObjectReferenceHelper *objRefHelper = m_Doc->GetDataModelObjectReferenceHelper(); |