Dali 3D User Interface Engine
List of all members | Public Member Functions | Private Member Functions | Private Attributes
Dali::Internal::SceneGraph::AnimatableProperty< Vector4 > Class Template Reference

A Vector4 animatable property of a scene-graph object. More...

#include <animatable-property.h>

Inheritance diagram for Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >:
Inheritance graph
[legend]
Collaboration diagram for Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >:
Collaboration graph
[legend]

Public Member Functions

 AnimatableProperty (const Vector4 &initialValue)
 Create an animatable property. More...
 
virtual ~AnimatableProperty ()
 Virtual destructor. More...
 
virtual Dali::Property::Type GetType () const
 Query the type of property input. More...
 
virtual void ResetToBaseValue (BufferIndex updateBufferIndex)
 Reset the property to a base value; only required if the property is animated. More...
 
virtual const Vector4GetVector4 (BufferIndex bufferIndex) const
 Retrieve a Vector4 value. More...
 
void Set (BufferIndex bufferIndex, const Vector4 &value)
 Set the property value. More...
 
void SetX (BufferIndex bufferIndex, float value)
 Set the X value. More...
 
void SetY (BufferIndex bufferIndex, float value)
 Set the Y value. More...
 
void SetZ (BufferIndex bufferIndex, float value)
 Set the Z value. More...
 
void SetW (BufferIndex bufferIndex, float value)
 Set the W value. More...
 
void SetRelative (BufferIndex bufferIndex, const Vector4 &delta)
 Change the property value by a relative amount. More...
 
void SetXRelative (BufferIndex bufferIndex, float delta)
 Change the X value by a relative amount. More...
 
void SetYRelative (BufferIndex bufferIndex, float delta)
 Change the Y value by a relative amount. More...
 
void SetZRelative (BufferIndex bufferIndex, float delta)
 Change the Z value by a relative amount. More...
 
void SetWRelative (BufferIndex bufferIndex, float delta)
 Change the W value by a relative amount. More...
 
Vector4Get (size_t bufferIndex)
 Retrieve an enumerated property type. More...
 
const Vector4Get (size_t bufferIndex) const
 Retrieve an enumerated property type. More...
 
Vector4operator[] (size_t bufferIndex)
 Retrieve the property value. More...
 
const Vector4operator[] (size_t bufferIndex) const
 Retrieve the property value. More...
 
void Bake (BufferIndex bufferIndex, const Vector4 &value)
 Set both the property value & base value. More...
 
void BakeX (BufferIndex bufferIndex, float value)
 Set both the X value & base X value. More...
 
void BakeY (BufferIndex bufferIndex, float value)
 Set both the Y value & base Y value. More...
 
void BakeZ (BufferIndex bufferIndex, float value)
 Set both the Z value & base Z value. More...
 
void BakeW (BufferIndex bufferIndex, float value)
 Set both the W value & base W value. More...
 
void BakeRelative (BufferIndex bufferIndex, const Vector4 &delta)
 Change the property value & base value by a relative amount. More...
 
void BakeXRelative (BufferIndex bufferIndex, float delta)
 Change the X value & base X value by a relative amount. More...
 
void BakeYRelative (BufferIndex bufferIndex, float delta)
 Change the Y value & base Y value by a relative amount. More...
 
void BakeZRelative (BufferIndex bufferIndex, float delta)
 Change the Z value & base Z value by a relative amount. More...
 
void BakeWRelative (BufferIndex bufferIndex, float delta)
 Change the W value & base W value by a relative amount. More...
 
void SetWInitial (float value)
 Sets both double-buffered W values & the base W value. More...
 
- Public Member Functions inherited from Dali::Internal::SceneGraph::AnimatablePropertyBase
 AnimatablePropertyBase ()
 Constructor, initialize the dirty flag. More...
 
virtual ~AnimatablePropertyBase ()
 Virtual destructor. More...
 
virtual bool IsClean () const
 Query whether the property has changed. More...
 
virtual bool InputInitialized () const
 Query the input value (for a constraint) has been initialized. More...
 
- Public Member Functions inherited from Dali::Internal::SceneGraph::PropertyBase
 PropertyBase ()
 Default constructor. More...
 
virtual ~PropertyBase ()
 Virtual destructor. More...
 
virtual bool InputChanged () const
 Query the input value (for a constraint) has changed. More...
 
- Public Member Functions inherited from Dali::Internal::PropertyInputImpl
virtual ~PropertyInputImpl ()
 Virtual destructor. More...
 
virtual const bool & GetBoolean (BufferIndex bufferIndex) const
 Retrieve a boolean value. More...
 
virtual const int & GetInteger (BufferIndex bufferIndex) const
 Retrieve an integer value. More...
 
virtual const float & GetFloat (BufferIndex bufferIndex) const
 Retrieve a float value. More...
 
virtual const Vector2GetVector2 (BufferIndex bufferIndex) const
 Retrieve a Vector2 value. More...
 
virtual const Vector3GetVector3 (BufferIndex bufferIndex) const
 Retrieve a Vector3 value. More...
 
virtual const QuaternionGetQuaternion (BufferIndex bufferIndex) const
 Retrieve a Quaternion value. More...
 
virtual const Matrix3GetMatrix3 (BufferIndex bufferIndex) const
 Retrieve a Matrix value. More...
 
virtual const MatrixGetMatrix (BufferIndex bufferIndex) const
 Retrieve a Matrix value. More...
 
virtual const bool & GetConstraintInputBoolean (BufferIndex updateBufferIndex) const
 Retrieve a boolean input for a constraint function. More...
 
virtual const int & GetConstraintInputInteger (BufferIndex updateBufferIndex) const
 Retrieve an integer input for a constraint function. More...
 
virtual const float & GetConstraintInputFloat (BufferIndex updateBufferIndex) const
 Retrieve a float input for a constraint function. More...
 
virtual const Vector2GetConstraintInputVector2 (BufferIndex updateBufferIndex) const
 Retrieve a Vector2 input for a constraint function. More...
 
virtual const Vector3GetConstraintInputVector3 (BufferIndex updateBufferIndex) const
 Retrieve a Vector3 input for a constraint function. More...
 
virtual const Vector4GetConstraintInputVector4 (BufferIndex updateBufferIndex) const
 Retrieve a Vector4 input for a constraint function. More...
 
virtual const QuaternionGetConstraintInputQuaternion (BufferIndex updateBufferIndex) const
 Retrieve a Quaternion input for a constraint function. More...
 
virtual const Matrix3GetConstraintInputMatrix3 (BufferIndex updateBufferIndex) const
 Retrieve a Matrix3 input for a constraint function. More...
 
virtual const MatrixGetConstraintInputMatrix (BufferIndex updateBufferIndex) const
 Retrieve a Matrix input for a constraint function. More...
 
void DebugPrint (std::ostream &debugStream, BufferIndex bufferIndex) const
 Print the property value using a stream. More...
 

Private Member Functions

 AnimatableProperty (const AnimatableProperty &property)
 
AnimatablePropertyoperator= (const AnimatableProperty &rhs)
 

Private Attributes

DoubleBuffered< Vector4mValue
 The double-buffered property value. More...
 
Vector4 mBaseValue
 Reset to this base value at the beginning of each frame. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Dali::Internal::SceneGraph::AnimatablePropertyBase
void OnSet ()
 Flag that the property has been Set during the current frame. More...
 
void OnBake ()
 Flag that the property has been Baked during the current frame. More...
 
- Protected Attributes inherited from Dali::Internal::SceneGraph::AnimatablePropertyBase
unsigned int mDirtyFlags
 Flag whether value changed during previous 2 frames. More...
 

Detailed Description

template<>
class Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >

A Vector4 animatable property of a scene-graph object.

Definition at line 1248 of file animatable-property.h.

Constructor & Destructor Documentation

Create an animatable property.

Parameters
[in]initialValueThe initial value of the property.

Definition at line 1256 of file animatable-property.h.

Virtual destructor.

Definition at line 1265 of file animatable-property.h.

Member Function Documentation

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::Bake ( BufferIndex  bufferIndex,
const Vector4 value 
)
inline

Set both the property value & base value.

Parameters
[in]bufferIndexThe buffer to write for the property value.
[in]valueThe new property value.

Definition at line 1464 of file animatable-property.h.

Referenced by Dali::Internal::SceneGraph::RenderTask::BakeClearColor().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::BakeRelative ( BufferIndex  bufferIndex,
const Vector4 delta 
)
inline

Change the property value & base value by a relative amount.

Parameters
[in]bufferIndexThe buffer to write for the local property value.
[in]deltaThe property will change by this amount.

Definition at line 1529 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::BakeW ( BufferIndex  bufferIndex,
float  value 
)
inline

Set both the W value & base W value.

Parameters
[in]bufferIndexThe buffer to write for the property value.
[in]valueThe new property value.

Definition at line 1516 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::BakeWRelative ( BufferIndex  bufferIndex,
float  delta 
)
inline

Change the W value & base W value by a relative amount.

Parameters
[in]bufferIndexThe buffer to write for the local property value.
[in]deltaThe W value will change by this amount.

Definition at line 1581 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::BakeX ( BufferIndex  bufferIndex,
float  value 
)
inline

Set both the X value & base X value.

Parameters
[in]bufferIndexThe buffer to write for the property value.
[in]valueThe new property value.

Definition at line 1477 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::BakeXRelative ( BufferIndex  bufferIndex,
float  delta 
)
inline

Change the X value & base X value by a relative amount.

Parameters
[in]bufferIndexThe buffer to write for the local property value.
[in]deltaThe X value will change by this amount.

Definition at line 1542 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::BakeY ( BufferIndex  bufferIndex,
float  value 
)
inline

Set both the Y value & base Y value.

Parameters
[in]bufferIndexThe buffer to write for the property value.
[in]valueThe new property value.

Definition at line 1490 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::BakeYRelative ( BufferIndex  bufferIndex,
float  delta 
)
inline

Change the Y value & base Y value by a relative amount.

Parameters
[in]bufferIndexThe buffer to write for the local property value.
[in]deltaThe Y value will change by this amount.

Definition at line 1555 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::BakeZ ( BufferIndex  bufferIndex,
float  value 
)
inline

Set both the Z value & base Z value.

Parameters
[in]bufferIndexThe buffer to write for the property value.
[in]valueThe new property value.

Definition at line 1503 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::BakeZRelative ( BufferIndex  bufferIndex,
float  delta 
)
inline

Change the Z value & base Z value by a relative amount.

Parameters
[in]bufferIndexThe buffer to write for the local property value.
[in]deltaThe Z value will change by this amount.

Definition at line 1568 of file animatable-property.h.

Vector4& Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::Get ( size_t  bufferIndex)
inline

Retrieve an enumerated property type.

New versions of this templated function must be defined for future types. .0

Returns
The property type.

Definition at line 1426 of file animatable-property.h.

const Vector4& Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::Get ( size_t  bufferIndex) const
inline

Retrieve an enumerated property type.

New versions of this templated function must be defined for future types. .0

Returns
The property type.

Definition at line 1434 of file animatable-property.h.

Query the type of property input.

Returns
The property type.

Implements Dali::Internal::PropertyInputImpl.

Definition at line 1272 of file animatable-property.h.

References Dali::PropertyTypes::Get< Vector4 >().

Here is the call graph for this function:

virtual const Vector4& Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::GetVector4 ( BufferIndex  bufferIndex) const
inlinevirtual

Retrieve a Vector4 value.

.0

Returns
The Vector4 value.
Precondition
GetType() returns Property::VECTOR4.

Reimplemented from Dali::Internal::PropertyInputImpl.

Definition at line 1293 of file animatable-property.h.

Vector4& Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::operator[] ( size_t  bufferIndex)
inline

Retrieve the property value.

Parameters
[in]bufferIndexThe buffer to read.
Returns
The property value.

Definition at line 1444 of file animatable-property.h.

const Vector4& Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::operator[] ( size_t  bufferIndex) const
inline

Retrieve the property value.

Parameters
[in]bufferIndexThe buffer to read.
Returns
The property value.

Definition at line 1454 of file animatable-property.h.

virtual void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::ResetToBaseValue ( BufferIndex  updateBufferIndex)
inlinevirtual

Reset the property to a base value; only required if the property is animated.

Parameters
[in]currentBufferIndexThe current buffer index.

Implements Dali::Internal::SceneGraph::PropertyBase.

Definition at line 1280 of file animatable-property.h.

References Dali::Internal::SceneGraph::CLEAN_FLAG.

Referenced by Dali::Internal::SceneGraph::RenderTask::ResetDefaultProperties(), and Dali::Internal::SceneGraph::Node::ResetDefaultProperties().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::Set ( BufferIndex  bufferIndex,
const Vector4 value 
)
inline

Set the property value.

This will only persist for the current frame; the property will be reset with the base value, at the beginning of the next frame.

Parameters
[in]bufferIndexThe buffer to write.
[in]valueThe new property value.

Definition at line 1304 of file animatable-property.h.

Referenced by Dali::Internal::SceneGraph::RenderTask::SetClearColor().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::SetRelative ( BufferIndex  bufferIndex,
const Vector4 delta 
)
inline

Change the property value by a relative amount.

Parameters
[in]bufferIndexThe buffer to write.
[in]deltaThe property will change by this amount.

Definition at line 1368 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::SetW ( BufferIndex  bufferIndex,
float  value 
)
inline

Set the W value.

This will only persist for the current frame; the property will be reset with the base value, at the beginning of the next frame.

Parameters
[in]bufferIndexThe buffer to write.
[in]valueThe new W value.

Definition at line 1356 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::SetWInitial ( float  value)
inline

Sets both double-buffered W values & the base W value.

This should only be used when the owning object has not been connected to the scene-graph.

Parameters
[in]valueThe new W value.

Definition at line 1594 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::SetWRelative ( BufferIndex  bufferIndex,
float  delta 
)
inline

Change the W value by a relative amount.

Parameters
[in]bufferIndexThe buffer to write.
[in]deltaThe W value will change by this amount.

Definition at line 1416 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::SetX ( BufferIndex  bufferIndex,
float  value 
)
inline

Set the X value.

This will only persist for the current frame; the property will be reset with the base value, at the beginning of the next frame.

Parameters
[in]bufferIndexThe buffer to write.
[in]valueThe new X value.

Definition at line 1317 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::SetXRelative ( BufferIndex  bufferIndex,
float  delta 
)
inline

Change the X value by a relative amount.

Parameters
[in]bufferIndexThe buffer to write.
[in]deltaThe X value will change by this amount.

Definition at line 1380 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::SetY ( BufferIndex  bufferIndex,
float  value 
)
inline

Set the Y value.

This will only persist for the current frame; the property will be reset with the base value, at the beginning of the next frame.

Parameters
[in]bufferIndexThe buffer to write.
[in]valueThe new Y value.

Definition at line 1330 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::SetYRelative ( BufferIndex  bufferIndex,
float  delta 
)
inline

Change the Y value by a relative amount.

Parameters
[in]bufferIndexThe buffer to write.
[in]deltaThe Y value will change by this amount.

Definition at line 1392 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::SetZ ( BufferIndex  bufferIndex,
float  value 
)
inline

Set the Z value.

This will only persist for the current frame; the property will be reset with the base value, at the beginning of the next frame.

Parameters
[in]bufferIndexThe buffer to write.
[in]valueThe new Z value.

Definition at line 1343 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector4 >::SetZRelative ( BufferIndex  bufferIndex,
float  delta 
)
inline

Change the Z value by a relative amount.

Parameters
[in]bufferIndexThe buffer to write.
[in]deltaThe Z value will change by this amount.

Definition at line 1404 of file animatable-property.h.

Member Data Documentation

Reset to this base value at the beginning of each frame.

Definition at line 1612 of file animatable-property.h.

The double-buffered property value.

Definition at line 1611 of file animatable-property.h.


The documentation for this class was generated from the following file:
Dali Docs Home
Read more about Dali