Dali 3D User Interface Engine
List of all members | Public Member Functions | Private Member Functions | Private Attributes
Dali::Internal::SceneGraph::InheritedMatrix Class Reference

An inherited Matrix property. More...

#include <inherited-property.h>

Inheritance diagram for Dali::Internal::SceneGraph::InheritedMatrix:
Inheritance graph
[legend]
Collaboration diagram for Dali::Internal::SceneGraph::InheritedMatrix:
Collaboration graph
[legend]

Public Member Functions

 InheritedMatrix ()
 Create an inherited property. More...
 
virtual ~InheritedMatrix ()
 Virtual destructor. More...
 
virtual Dali::Property::Type GetType () const
 Query the type of property input. More...
 
void CopyPrevious (BufferIndex updateBufferIndex)
 Called once per Update (only) if the property did not need to be re-inherited. 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...
 
virtual bool InputChanged () const
 Query the input value (for a constraint) has changed. More...
 
virtual const MatrixGetMatrix (BufferIndex bufferIndex) const
 Retrieve a Matrix value. More...
 
virtual const MatrixGetConstraintInputMatrix (BufferIndex bufferIndex) const
 Retrieve a Matrix input for a constraint function. More...
 
void Set (BufferIndex bufferIndex, const Matrix &value)
 Set the property value. More...
 
MatrixGet (size_t bufferIndex)
 Retrieve an enumerated property type. More...
 
const MatrixGet (size_t bufferIndex) const
 Retrieve an enumerated property type. More...
 
const Matrixoperator[] (size_t bufferIndex) const
 Retrieve the property value. More...
 
void SetDirty (size_t bufferIndex)
 
- 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 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 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...
 
void DebugPrint (std::ostream &debugStream, BufferIndex bufferIndex) const
 Print the property value using a stream. More...
 

Private Member Functions

 InheritedMatrix (const InheritedMatrix &property)
 
InheritedMatrixoperator= (const InheritedMatrix &rhs)
 

Private Attributes

DoubleBuffered< MatrixmValue
 The double-buffered property value. More...
 
bool mInheritedFlag:1
 Flag whether the value has ever been inherited. More...
 
bool mReinheritedFlag:1
 Flag whether value was re-inherited in previous frame. More...
 

Detailed Description

An inherited Matrix property.

Definition at line 524 of file inherited-property.h.

Constructor & Destructor Documentation

Dali::Internal::SceneGraph::InheritedMatrix::InheritedMatrix ( )
inline

Create an inherited property.

Definition at line 531 of file inherited-property.h.

virtual Dali::Internal::SceneGraph::InheritedMatrix::~InheritedMatrix ( )
inlinevirtual

Virtual destructor.

Definition at line 541 of file inherited-property.h.

Dali::Internal::SceneGraph::InheritedMatrix::InheritedMatrix ( const InheritedMatrix property)
private

Member Function Documentation

void Dali::Internal::SceneGraph::InheritedMatrix::CopyPrevious ( BufferIndex  updateBufferIndex)
inline

Called once per Update (only) if the property did not need to be re-inherited.

Parameters
[in]updateBufferIndexThe current update buffer index.

Definition at line 557 of file inherited-property.h.

References mReinheritedFlag, and mValue.

Referenced by Dali::Internal::SceneGraph::Node::CopyPreviousWorldMatrix(), Dali::Internal::SceneGraph::CameraAttachment::UpdateProjection(), and Dali::Internal::SceneGraph::CameraAttachment::UpdateViewMatrix().

Here is the caller graph for this function:

Matrix& Dali::Internal::SceneGraph::InheritedMatrix::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 632 of file inherited-property.h.

References mValue.

Referenced by Dali::Internal::SceneGraph::Node::SetWorldMatrix(), Dali::Internal::SceneGraph::CameraAttachment::UpdateProjection(), and Dali::Internal::SceneGraph::CameraAttachment::UpdateViewMatrix().

Here is the caller graph for this function:

const Matrix& Dali::Internal::SceneGraph::InheritedMatrix::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 640 of file inherited-property.h.

References mValue.

virtual const Matrix& Dali::Internal::SceneGraph::InheritedMatrix::GetConstraintInputMatrix ( BufferIndex  bufferIndex) const
inlinevirtual

Retrieve a Matrix input for a constraint function.

Note
For inherited properties, this method should be overriden to return the value from the previous frame i.e. not from the current update buffer.
Precondition
GetType() returns Property::Matrix.
Parameters
[in]updateBufferIndexThe buffer to read from.
Returns
The Matrix value.

Reimplemented from Dali::Internal::PropertyInputImpl.

Definition at line 604 of file inherited-property.h.

References mValue.

virtual const Matrix& Dali::Internal::SceneGraph::InheritedMatrix::GetMatrix ( BufferIndex  bufferIndex) const
inlinevirtual

Retrieve a Matrix value.

Precondition
GetType() returns Property::Matrix.
Parameters
[in]bufferIndexThe buffer to read from.
Returns
The Matrix value.

Reimplemented from Dali::Internal::PropertyInputImpl.

Definition at line 596 of file inherited-property.h.

References mValue.

virtual Dali::Property::Type Dali::Internal::SceneGraph::InheritedMatrix::GetType ( ) const
inlinevirtual

Query the type of property input.

Returns
The property type.

Implements Dali::Internal::PropertyInputImpl.

Definition at line 548 of file inherited-property.h.

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

Here is the call graph for this function:

virtual bool Dali::Internal::SceneGraph::InheritedMatrix::InputChanged ( ) const
inlinevirtual

Query the input value (for a constraint) has changed.

Returns
True if the input value has changed.

Implements Dali::Internal::PropertyInputImpl.

Definition at line 588 of file inherited-property.h.

References IsClean().

Here is the call graph for this function:

virtual bool Dali::Internal::SceneGraph::InheritedMatrix::InputInitialized ( ) const
inlinevirtual

Query the input value (for a constraint) has been initialized.

Returns
True if initialized, otherwise the constraint should be skipped.

Implements Dali::Internal::PropertyInputImpl.

Definition at line 578 of file inherited-property.h.

References mInheritedFlag.

virtual bool Dali::Internal::SceneGraph::InheritedMatrix::IsClean ( ) const
inlinevirtual

Query whether the property has changed.

Returns
True if the property has not changed.

Definition at line 570 of file inherited-property.h.

References mReinheritedFlag.

Referenced by InputChanged().

Here is the caller graph for this function:

InheritedMatrix& Dali::Internal::SceneGraph::InheritedMatrix::operator= ( const InheritedMatrix rhs)
private
const Matrix& Dali::Internal::SceneGraph::InheritedMatrix::operator[] ( size_t  bufferIndex) const
inline

Retrieve the property value.

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

Definition at line 650 of file inherited-property.h.

References mValue.

void Dali::Internal::SceneGraph::InheritedMatrix::Set ( BufferIndex  bufferIndex,
const Matrix 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 619 of file inherited-property.h.

References mInheritedFlag, mReinheritedFlag, and mValue.

void Dali::Internal::SceneGraph::InheritedMatrix::SetDirty ( size_t  bufferIndex)
inline

Member Data Documentation

bool Dali::Internal::SceneGraph::InheritedMatrix::mInheritedFlag
private

Flag whether the value has ever been inherited.

Definition at line 675 of file inherited-property.h.

Referenced by InputInitialized(), Set(), and SetDirty().

bool Dali::Internal::SceneGraph::InheritedMatrix::mReinheritedFlag
private

Flag whether value was re-inherited in previous frame.

Definition at line 676 of file inherited-property.h.

Referenced by CopyPrevious(), IsClean(), Set(), and SetDirty().

DoubleBuffered<Matrix> Dali::Internal::SceneGraph::InheritedMatrix::mValue
private

The double-buffered property value.

Definition at line 673 of file inherited-property.h.

Referenced by CopyPrevious(), Get(), GetConstraintInputMatrix(), GetMatrix(), operator[](), and Set().


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