/*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* limitations under the License.
*
*/
-#include "dali-scene3d/public-api/loader/animation-definition.h"
-namespace Dali
-{
-namespace Scene3D
-{
-namespace Loader
+// CLASS HEADER
+#include <dali-scene3d/public-api/loader/animation-definition.h>
+
+namespace Dali::Scene3D::Loader
{
const float AnimationDefinition::DEFAULT_DURATION_SECONDS = 1.f;
const float AnimationDefinition::MIN_DURATION_SECONDS = 1e-2f;
{
}
+AnimationDefinition& AnimationDefinition::operator=(AnimationDefinition&& other)
+{
+ AnimationDefinition tmp(std::move(other));
+ mName = std::move(tmp.mName);
+ mDuration = tmp.mDuration;
+ mLoopCount = tmp.mLoopCount;
+ mDisconnectAction = tmp.mDisconnectAction;
+ mEndAction = tmp.mEndAction;
+ mSpeedFactor = tmp.mSpeedFactor;
+ mPlayRange = tmp.mPlayRange;
+ mProperties.swap(tmp.mProperties);
+ return *this;
+}
+
void AnimationDefinition::Animate(Animation& animation, AnimatedProperty::GetActor getActor)
{
DALI_ASSERT_ALWAYS(animation);
return animation;
}
-AnimationDefinition& AnimationDefinition::operator=(AnimationDefinition&& other)
+void AnimationDefinition::SetName(const std::string& name)
{
- AnimationDefinition tmp(std::move(other));
- mName = std::move(tmp.mName);
- mDuration = tmp.mDuration;
- mLoopCount = tmp.mLoopCount;
- mDisconnectAction = tmp.mDisconnectAction;
- mEndAction = tmp.mEndAction;
- mSpeedFactor = tmp.mSpeedFactor;
- mPlayRange = tmp.mPlayRange;
- mProperties.swap(tmp.mProperties);
- return *this;
+ mName = name;
+}
+
+const std::string& AnimationDefinition::GetName() const
+{
+ return mName;
+}
+
+void AnimationDefinition::SetDuration(float duration)
+{
+ mDuration = duration;
+}
+
+float AnimationDefinition::GetDuration() const
+{
+ return mDuration;
+}
+
+void AnimationDefinition::SetLoopCount(int32_t loopCount)
+{
+ mLoopCount = loopCount;
+}
+
+int AnimationDefinition::GetLoopCount() const
+{
+ return mLoopCount;
+}
+
+void AnimationDefinition::SetDisconnectAction(Animation::EndAction disconnectAction)
+{
+ mDisconnectAction = disconnectAction;
+}
+
+Animation::EndAction AnimationDefinition::GetDisconnectAction() const
+{
+ return mDisconnectAction;
+}
+
+void AnimationDefinition::SetEndAction(Animation::EndAction endAction)
+{
+ mEndAction = endAction;
+}
+
+Animation::EndAction AnimationDefinition::GetEndAction() const
+{
+ return mEndAction;
+}
+
+void AnimationDefinition::SetSpeedFactor(float speedFactor)
+{
+ mSpeedFactor = speedFactor;
+}
+
+float AnimationDefinition::GetSpeedFactor() const
+{
+ return mSpeedFactor;
+}
+
+void AnimationDefinition::SetPlayRange(const Vector2& playRange)
+{
+ mPlayRange = playRange;
+}
+
+Vector2 AnimationDefinition::GetPlayRange() const
+{
+ return mPlayRange;
+}
+
+void AnimationDefinition::ReserveSize(uint32_t size)
+{
+ mProperties.reserve(size);
+}
+
+uint32_t AnimationDefinition::GetPropertyCount() const
+{
+ return static_cast<uint32_t>(mProperties.size());
+}
+
+void AnimationDefinition::SetProperty(uint32_t index, AnimatedProperty&& property)
+{
+ if(mProperties.size() <= index)
+ {
+ mProperties.resize(index + 1);
+ }
+ mProperties[index] = std::move(property);
+}
+
+AnimatedProperty& AnimationDefinition::GetPropertyAt(uint32_t index)
+{
+ return mProperties[index];
+}
+
+const AnimatedProperty& AnimationDefinition::GetPropertyAt(uint32_t index) const
+{
+ return mProperties[index];
}
-} // namespace Loader
-} // namespace Scene3D
-} // namespace Dali
+} // namespace Dali::Scene3D::Loader