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

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

#include <animatable-property.h>

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

Public Member Functions

 AnimatableProperty ()
 Create an animatable property. More...
 
 AnimatableProperty (const Vector3 &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 Vector3GetVector3 (BufferIndex bufferIndex) const
 Retrieve a Vector3 value. More...
 
void Set (BufferIndex bufferIndex, const Vector3 &value)
 Set the property value. More...
 
void SetX (BufferIndex bufferIndex, float value)
 Set the property value. More...
 
void SetY (BufferIndex bufferIndex, float value)
 Set the property value. More...
 
void SetZ (BufferIndex bufferIndex, float value)
 Set the property value. More...
 
void SetRelative (BufferIndex bufferIndex, const Vector3 &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...
 
Vector3Get (size_t bufferIndex)
 Retrieve an enumerated property type. More...
 
const Vector3Get (size_t bufferIndex) const
 Retrieve an enumerated property type. More...
 
Vector3operator[] (size_t bufferIndex)
 Retrieve the property value. More...
 
const Vector3operator[] (size_t bufferIndex) const
 Retrieve the property value. More...
 
void Bake (BufferIndex bufferIndex, const Vector3 &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 BakeRelative (BufferIndex bufferIndex, const Vector3 &delta)
 Change the property value & base value by a relative amount. More...
 
void BakeRelativeMultiply (BufferIndex bufferIndex, const Vector3 &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...
 
- 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 Vector4GetVector4 (BufferIndex bufferIndex) const
 Retrieve a Vector4 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< Vector3mValue
 The double-buffered property value. More...
 
Vector3 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< Vector3 >

A Vector3 animatable property of a scene-graph object.

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

Constructor & Destructor Documentation

Create an animatable property.

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

Create an animatable property.

Parameters
[in]initialValueThe initial value of the property.

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

Virtual destructor.

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

Member Function Documentation

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::Bake ( BufferIndex  bufferIndex,
const Vector3 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 1117 of file animatable-property.h.

Referenced by Dali::Internal::SceneGraph::Node::BakePosition().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::BakeRelative ( BufferIndex  bufferIndex,
const Vector3 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 1169 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::BakeRelativeMultiply ( BufferIndex  bufferIndex,
const Vector3 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 1182 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 1130 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 1195 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 1143 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 1208 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 1156 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 1221 of file animatable-property.h.

Vector3& Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 1079 of file animatable-property.h.

const Vector3& Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 1087 of file animatable-property.h.

Query the type of property input.

Returns
The property type.

Implements Dali::Internal::PropertyInputImpl.

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

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

Here is the call graph for this function:

virtual const Vector3& Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::GetVector3 ( BufferIndex  bufferIndex) const
inlinevirtual

Retrieve a Vector3 value.

.0

Returns
The Vector3 value.
Precondition
GetType() returns Property::VECTOR3.

Reimplemented from Dali::Internal::PropertyInputImpl.

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

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

Retrieve the property value.

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

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

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

Retrieve the property value.

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

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

virtual void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 958 of file animatable-property.h.

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

Referenced by Dali::Internal::SceneGraph::Node::ResetDefaultProperties().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::Set ( BufferIndex  bufferIndex,
const Vector3 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 982 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::SetRelative ( BufferIndex  bufferIndex,
const Vector3 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 1033 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::SetX ( BufferIndex  bufferIndex,
float  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 X value.

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

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 1045 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::SetY ( BufferIndex  bufferIndex,
float  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 Y value.

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

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 1057 of file animatable-property.h.

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::SetZ ( BufferIndex  bufferIndex,
float  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 Z value.

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

void Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::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 1069 of file animatable-property.h.

Member Data Documentation

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

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

The double-buffered property value.

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


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