/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #include #include #include #include namespace AZ { namespace SceneData { namespace GraphData { TransformData::TransformData(const SceneAPI::DataTypes::MatrixType& transform) : m_transform(transform) { } void TransformData::SetMatrix(const SceneAPI::DataTypes::MatrixType& transform) { m_transform = transform; } SceneAPI::DataTypes::MatrixType& TransformData::GetMatrix() { return m_transform; } const SceneAPI::DataTypes::MatrixType& TransformData::GetMatrix() const { return m_transform; } void TransformData::Reflect(ReflectContext* context) { SerializeContext* serializeContext = azrtti_cast(context); if (serializeContext) { serializeContext->Class()->Version(1) ->Field("transform", &TransformData::m_transform); EditContext* editContext = serializeContext->GetEditContext(); if (editContext) { editContext->Class("Transform", "Transform matrix applied as a node or as a child.") ->DataElement(AZ::Edit::UIHandlers::Default, &TransformData::m_transform, "", "Transform matrix applied as a node or as a child."); } } BehaviorContext* behaviorContext = azrtti_cast(context); if (behaviorContext) { behaviorContext->Class() ->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All) ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common) ->Attribute(AZ::Script::Attributes::Module, "scene"); behaviorContext->Class() ->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All) ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common) ->Attribute(AZ::Script::Attributes::Module, "scene") ->Property("transform", BehaviorValueProperty(&TransformData::m_transform)); } } } // namespace GraphData } // namespace SceneData } // namespace AZ