/* * 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 namespace GraphModelIntegration { FloatDataInterface::FloatDataInterface(GraphModel::SlotPtr slot) : m_slot(slot) { } double FloatDataInterface::GetNumber() const { if (GraphModel::SlotPtr slot = m_slot.lock()) { return slot->GetValue(); } else { return 0.0; } } void FloatDataInterface::SetNumber(double value) { if (GraphModel::SlotPtr slot = m_slot.lock()) { if (static_cast(value) != slot->GetValue()) { const GraphCanvas::GraphId graphCanvasSceneId = GetDisplay()->GetSceneId(); GraphCanvas::ScopedGraphUndoBatch undoBatch(graphCanvasSceneId); slot->SetValue(static_cast(value)); GraphControllerNotificationBus::Event( graphCanvasSceneId, &GraphControllerNotifications::OnGraphModelSlotModified, slot); GraphControllerNotificationBus::Event( graphCanvasSceneId, &GraphControllerNotifications::OnGraphModelGraphModified, slot->GetParentNode()); } } } int FloatDataInterface::GetDecimalPlaces() const { return 7; } int FloatDataInterface::GetDisplayDecimalPlaces() const { return 4; } double FloatDataInterface::GetMin() const { return std::numeric_limits::lowest(); } double FloatDataInterface::GetMax() const { return std::numeric_limits::max(); } }