#define TRANSFORM_MANAGER_PROPERTY_H_
/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
* Constructor
*/
TransformManagerPropertyHandler()
- :mTxManager(0),
+ :mTxManager(nullptr),
mId( INVALID_TRANSFORM_ID )
{}
/**
* @copydoc Dali::Internal::SceneGraph::PropertyBase::GetType()
*/
- virtual Dali::Property::Type GetType() const = 0;
+ Dali::Property::Type GetType() const override = 0;
/**
* @copydoc Dali::SceneGraph::AnimatableProperty::Get()
*/
- virtual T& Get(size_t bufferIndex) = 0;
+ virtual T& Get( BufferIndex bufferIndex ) = 0;
/**
* @copydoc Dali::SceneGraph::AnimatableProperty::Get()
*/
- virtual const T& Get(size_t bufferIndex) const = 0;
+ virtual const T& Get( BufferIndex bufferIndex ) const = 0;
/**
* @copydoc Dali::PropertyInput::GetVector3()
*/
- virtual const Vector3& GetVector3( BufferIndex bufferIndex ) const{ return Vector3::ZERO; }
+ const Vector3& GetVector3( BufferIndex bufferIndex ) const override{ return Vector3::ZERO; }
/**
* Retrieve a component of property
* @param[in] component The component of the property
*/
- virtual const float& GetFloatComponent(unsigned int component)=0;
+ virtual const float& GetFloatComponent(uint32_t component) const
+ {
+ DALI_ASSERT_DEBUG( 0 && "Invalid call");
+
+ static const float value = 0.0f;
+ return value;
+ }
/**
* Set the property value. This will only persist for the current frame; the property
* @param[in] value The new value of the component
* @param[in] component The component of the property
*/
- virtual void SetFloatComponent( float value, unsigned int component){}
+ virtual void SetFloatComponent( float value, uint32_t component){}
/**
* @copydoc Dali::AnimatableProperty::Bake()
* @param[in] value The new value of the component
* @param[in] component The component of the property
*/
- virtual void BakeFloatComponent( float value, unsigned int component){}
+ virtual void BakeFloatComponent( float value, uint32_t component){}
/**
* @copydoc Dali::AnimatableProperty::BakeX()
/**
* @copydoc Dali::AnimatableProperty::ResetToBaseValue()
*/
- virtual void ResetToBaseValue(BufferIndex updateBufferIndex){}
+ void ResetToBaseValue(BufferIndex updateBufferIndex) override{}
/**
* @copydoc Dali::AnimatableProperty::IsClean()
*/
- virtual bool IsClean() const{ return false; }
+ bool IsClean() const override{ return false; }
/**
* Initializes the property
/**
* @copydoc Dali::Internal::PropertyInputImpl::IsTransformManagerProperty()
*/
- virtual bool IsTransformManagerProperty() const
+ bool IsTransformManagerProperty() const override
{
return true;
}
mProperty( property )
{}
- Dali::Property::Type GetType() const
+ Dali::Property::Type GetType() const override
{
return Dali::PropertyTypes::Get<Vector3>();
}
- Vector3& Get(size_t bufferIndex)
+ Vector3& Get( BufferIndex bufferIndex ) override
{
return mTxManager->GetVector3PropertyValue( mId, mProperty );
}
- const Vector3& Get(size_t bufferIndex) const
+ const Vector3& Get( BufferIndex bufferIndex ) const override
{
- return mTxManager->GetVector3PropertyValue( mId, mProperty );
+ const TransformManager* txManager = mTxManager;
+ return txManager->GetVector3PropertyValue( mId, mProperty );
}
- virtual const Vector3& GetVector3( BufferIndex bufferIndex ) const
+ const Vector3& GetVector3( BufferIndex bufferIndex ) const override
{
return Get(bufferIndex);
}
- const float& GetFloatComponent( unsigned int component )
+ const float& GetFloatComponent( uint32_t component ) const override
{
- return mTxManager->GetVector3PropertyComponentValue( mId, mProperty, component );
+ const TransformManager* txManager = mTxManager;
+ return txManager->GetVector3PropertyComponentValue( mId, mProperty, component );
}
- void Set(BufferIndex bufferIndex, const Vector3& value)
+ void Set(BufferIndex bufferIndex, const Vector3& value) override
{
mTxManager->SetVector3PropertyValue( mId, mProperty, value );
}
- void SetComponent(BufferIndex bufferIndex, float value, unsigned int component)
+ void SetComponent(BufferIndex bufferIndex, float value, uint32_t component)
{
mTxManager->SetVector3PropertyComponentValue( mId, mProperty, value, component);
}
- void BakeComponent(BufferIndex bufferIndex, float value, unsigned int component)
+ void BakeComponent(BufferIndex bufferIndex, float value, uint32_t component)
{
mTxManager->BakeVector3PropertyComponentValue( mId, mProperty, value, component);
}
- void Bake(BufferIndex bufferIndex, const Vector3& value)
+ void Bake(BufferIndex bufferIndex, const Vector3& value) override
{
mTxManager->BakeVector3PropertyValue(mId, mProperty, value );
}
- void BakeX(BufferIndex bufferIndex, float value)
+ void BakeX(BufferIndex bufferIndex, float value) override
{
mTxManager->BakeXVector3PropertyValue(mId, mProperty, value );
}
- void BakeY(BufferIndex bufferIndex, float value)
+ void BakeY(BufferIndex bufferIndex, float value) override
{
mTxManager->BakeYVector3PropertyValue(mId, mProperty, value );
}
- void BakeZ(BufferIndex bufferIndex, float value)
+ void BakeZ(BufferIndex bufferIndex, float value) override
{
mTxManager->BakeZVector3PropertyValue(mId, mProperty, value );
}
- void SetFloatComponent( float value, unsigned int component)
+ void SetFloatComponent( float value, uint32_t component) override
{
mTxManager->SetVector3PropertyComponentValue( mId, mProperty, value, component);
}
- void BakeFloatComponent( float value, unsigned int component )
+ void BakeFloatComponent( float value, uint32_t component ) override
{
mTxManager->BakeVector3PropertyComponentValue( mId, mProperty, value, component);
}
- void BakeRelative(BufferIndex bufferIndex, const Vector3& value)
+ void BakeRelative(BufferIndex bufferIndex, const Vector3& value) override
{
mTxManager->BakeRelativeVector3PropertyValue(mId, mProperty, value );
}
- void BakeRelativeMultiply(BufferIndex bufferIndex, const Vector3& value)
+ void BakeRelativeMultiply(BufferIndex bufferIndex, const Vector3& value) override
{
mTxManager->BakeMultiplyVector3PropertyValue(mId, mProperty, value );
}
:TransformManagerPropertyHandler()
{}
- virtual Dali::Property::Type GetType() const
+ Dali::Property::Type GetType() const override
{
return Dali::PropertyTypes::Get<Quaternion>();
}
- Quaternion& Get(size_t bufferIndex)
- {
- return mTxManager->GetQuaternionPropertyValue( mId );
- }
-
- const Quaternion& Get(size_t bufferIndex) const
+ Quaternion& Get( BufferIndex bufferIndex ) override
{
return mTxManager->GetQuaternionPropertyValue( mId );
}
- const float& GetFloatComponent( unsigned int component)
+ const Quaternion& Get( BufferIndex bufferIndex ) const override
{
- return mTxManager->GetQuaternionPropertyValue( mId ).mVector[component];
+ const TransformManager* txManager = mTxManager;
+ return txManager->GetQuaternionPropertyValue( mId );
}
- void Set(BufferIndex bufferIndex, const Quaternion& value)
+ void Set(BufferIndex bufferIndex, const Quaternion& value) override
{
return mTxManager->SetQuaternionPropertyValue( mId, value );
}
- void Bake(BufferIndex bufferIndex, const Quaternion& value)
+ void Bake(BufferIndex bufferIndex, const Quaternion& value) override
{
return mTxManager->BakeQuaternionPropertyValue( mId, value );
}
- void BakeRelative(BufferIndex bufferIndex, const Quaternion& value)
+ void BakeRelative(BufferIndex bufferIndex, const Quaternion& value) override
{
return mTxManager->BakeRelativeQuaternionPropertyValue( mId, value );
}
- virtual const Quaternion& GetQuaternion( BufferIndex bufferIndex ) const
+ const Quaternion& GetQuaternion( BufferIndex bufferIndex ) const override
{
return Get(bufferIndex);
}
* Create an TransformManagerVector3Input
*/
TransformManagerVector3Input( TransformManagerProperty property, const Vector3& initialValue )
- :mTxManager(0),
+ :mTxManager(nullptr),
mId(INVALID_TRANSFORM_ID),
mProperty(property),
mValue(initialValue)
/**
* Virtual destructor.
*/
- virtual ~TransformManagerVector3Input()
- {
- }
+ ~TransformManagerVector3Input() override = default;
/**
* @copydoc Dali::Internal::SceneGraph::PropertyBase::GetType()
*/
- virtual Dali::Property::Type GetType() const
+ Dali::Property::Type GetType() const override
{
return Dali::PropertyTypes::Get<Vector3>();
}
/**
* @copydoc Dali::Internal::PropertyInputImpl::InputInitialized()
*/
- virtual bool InputInitialized() const
+ bool InputInitialized() const override
{
return true;
}
* @copydoc Dali::Internal::PropertyInputImpl::InputChanged()
* @note A constraint can only receive the inherited property from the previous frame.
*/
- virtual bool InputChanged() const
+ bool InputChanged() const override
{
return true;
}
*/
void ComputeTransformComponent() const
{
- if( mTxManager )
+ const TransformManager* txManager = mTxManager;
+ if( txManager )
{
- const Matrix& worldMatrix = mTxManager->GetWorldMatrix(mId);
+ const Matrix& worldMatrix = txManager->GetWorldMatrix(mId);
if( mProperty == TRANSFORM_PROPERTY_WORLD_POSITION )
{
/**
* @copydoc Dali::PropertyInput::GetVector3()
*/
- virtual const Vector3& GetVector3( BufferIndex bufferIndex ) const
+ const Vector3& GetVector3( BufferIndex bufferIndex ) const override
{
ComputeTransformComponent();
return mValue;
/**
* @copydoc Dali::PropertyInput::GetConstraintInputVector3()
*/
- virtual const Vector3& GetConstraintInputVector3( BufferIndex bufferIndex ) const
+ const Vector3& GetConstraintInputVector3( BufferIndex bufferIndex ) const override
{
ComputeTransformComponent();
return mValue;
/**
* @copydoc Dali::SceneGraph::PropertyInterface::Get()
*/
- Vector3& Get(size_t bufferIndex)
+ Vector3& Get( BufferIndex bufferIndex )
{
ComputeTransformComponent();
return mValue;
/**
* @copydoc Dali::SceneGraph::PropertyInterface::Get()
*/
- const Vector3& Get(size_t bufferIndex) const
+ const Vector3& Get( BufferIndex bufferIndex ) const
{
ComputeTransformComponent();
return mValue;
* @param[in] bufferIndex The buffer to read.
* @return The property value.
*/
- const Vector3& operator[](size_t bufferIndex) const
+ const Vector3& operator[]( BufferIndex bufferIndex ) const
{
ComputeTransformComponent();
return mValue;
/**
* @copydoc Dali::Internal::PropertyInputImpl::IsTransformManagerProperty()
*/
- virtual bool IsTransformManagerProperty() const
+ bool IsTransformManagerProperty() const override
{
return true;
}
* Constructor
*/
TransformManagerQuaternionInput()
- :mTxManager(0),
+ :mTxManager(nullptr),
mId(INVALID_TRANSFORM_ID),
mValue(1.0f,0.0f,0.0f,0.0f)
{
/**
* Virtual destructor.
*/
- virtual ~TransformManagerQuaternionInput()
- {
- }
+ ~TransformManagerQuaternionInput() override = default;
/**
* @copydoc Dali::Internal::SceneGraph::PropertyBase::GetType()
*/
- virtual Dali::Property::Type GetType() const
+ Dali::Property::Type GetType() const override
{
return Dali::PropertyTypes::Get<Quaternion>();
}
/**
* @copydoc Dali::Internal::PropertyInputImpl::InputInitialized()
*/
- virtual bool InputInitialized() const
+ bool InputInitialized() const override
{
return true;
}
* @copydoc Dali::Internal::PropertyInputImpl::InputChanged()
* @note A constraint can only receive the inherited property from the previous frame.
*/
- virtual bool InputChanged() const
+ bool InputChanged() const override
{
return true;
}
*/
void ComputeTransformComponent() const
{
- if( mTxManager )
+ const TransformManager* txManager = mTxManager;
+ if( txManager )
{
- const Matrix& worldMatrix = mTxManager->GetWorldMatrix(mId);
+ const Matrix& worldMatrix = txManager->GetWorldMatrix(mId);
Vector3 position, scale;
worldMatrix.GetTransformComponents(position, mValue, scale);
}
/**
* @copydoc Dali::PropertyInput::GetQuaternion()
*/
- virtual const Quaternion& GetQuaternion( BufferIndex bufferIndex ) const
+ const Quaternion& GetQuaternion( BufferIndex bufferIndex ) const override
{
ComputeTransformComponent();
return mValue;
/**
* @copydoc Dali::PropertyInput::GetConstraintInputQuaternion()
*/
- virtual const Quaternion& GetConstraintInputQuaternion( BufferIndex bufferIndex ) const
+ const Quaternion& GetConstraintInputQuaternion( BufferIndex bufferIndex ) const override
{
ComputeTransformComponent();
return mValue;
/**
* @copydoc Dali::SceneGraph::PropertyInterface::Get()
*/
- Quaternion& Get(size_t bufferIndex)
+ Quaternion& Get( BufferIndex bufferIndex )
{
ComputeTransformComponent();
return mValue;
/**
* @copydoc Dali::SceneGraph::PropertyInterface::Get()
*/
- const Quaternion& Get(size_t bufferIndex) const
+ const Quaternion& Get( BufferIndex bufferIndex ) const
{
ComputeTransformComponent();
return mValue;
* @param[in] bufferIndex The buffer to read.
* @return The property value.
*/
- const Quaternion& operator[](size_t bufferIndex) const
+ const Quaternion& operator[]( BufferIndex bufferIndex) const
{
ComputeTransformComponent();
return mValue;
/**
* @copydoc Dali::Internal::PropertyInputImpl::IsTransformManagerProperty()
*/
- virtual bool IsTransformManagerProperty() const
+ bool IsTransformManagerProperty() const override
{
return true;
}
* Constructor
*/
TransformManagerMatrixInput()
- :mTxManager(0),
+ :mTxManager(nullptr),
mId(INVALID_TRANSFORM_ID)
{
}
/**
* Virtual destructor.
*/
- virtual ~TransformManagerMatrixInput()
- {
- }
+ ~TransformManagerMatrixInput() override = default;
/**
* @copydoc Dali::Internal::SceneGraph::PropertyBase::GetType()
*/
- virtual Dali::Property::Type GetType() const
+ Dali::Property::Type GetType() const override
{
return Dali::PropertyTypes::Get<Matrix>();
}
/**
* @copydoc Dali::Internal::PropertyInputImpl::InputInitialized()
*/
- virtual bool InputInitialized() const
+ bool InputInitialized() const override
{
return true;
}
* @copydoc Dali::Internal::PropertyInputImpl::InputChanged()
* @note A constraint can only receive the inherited property from the previous frame.
*/
- virtual bool InputChanged() const
+ bool InputChanged() const override
{
return true;
}
/**
* @copydoc Dali::PropertyInput::GetMatrix()
*/
- virtual const Matrix& GetMatrix( BufferIndex bufferIndex ) const
+ const Matrix& GetMatrix( BufferIndex bufferIndex ) const override
{
- if( mTxManager )
+ const TransformManager* txManager = mTxManager;
+ if( txManager )
{
- return mTxManager->GetWorldMatrix(mId);
+ return txManager->GetWorldMatrix(mId);
}
return Matrix::IDENTITY;
/**
* @copydoc Dali::PropertyInput::GetConstraintInputMatrix()
*/
- virtual const Matrix& GetConstraintInputMatrix( BufferIndex bufferIndex ) const
+ const Matrix& GetConstraintInputMatrix( BufferIndex bufferIndex ) const override
{
- if( mTxManager )
+ const TransformManager* txManager = mTxManager;
+ if( txManager )
{
- return mTxManager->GetWorldMatrix(mId);
+ return txManager->GetWorldMatrix(mId);
}
return Matrix::IDENTITY;
/**
* @copydoc Dali::SceneGraph::PropertyInterface::Get()
*/
- Matrix& Get(size_t bufferIndex)
+ Matrix& Get( BufferIndex bufferIndex )
{
- DALI_ASSERT_ALWAYS( mTxManager != 0 );
+ DALI_ASSERT_ALWAYS( mTxManager != nullptr );
return mTxManager->GetWorldMatrix(mId);
}
/**
* @copydoc Dali::SceneGraph::PropertyInterface::Get()
*/
- const Matrix& Get(size_t bufferIndex) const
+ const Matrix& Get( BufferIndex bufferIndex ) const
{
- return GetMatrix(bufferIndex);
+ return GetMatrix( bufferIndex );
}
/**
* @param[in] bufferIndex The buffer to read.
* @return The property value.
*/
- const Matrix& operator[](size_t bufferIndex) const
+ const Matrix& operator[]( BufferIndex bufferIndex ) const
{
- return GetMatrix(bufferIndex);
+ return GetMatrix( bufferIndex );
}
void Initialize( TransformManager* transformManager, TransformId id )
/**
* @copydoc Dali::Internal::PropertyInputImpl::IsTransformManagerProperty()
*/
- virtual bool IsTransformManagerProperty() const
+ bool IsTransformManagerProperty() const override
{
return true;
}