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

Node is the base class for all nodes in the Scene Graph. More...

#include <node.h>

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

Public Member Functions

virtual ~Node ()
 Virtual destructor. More...
 
void operator delete (void *ptr)
 Overriden delete operator Deletes the node from its global memory pool. More...
 
void OnDestroy ()
 Called during UpdateManager::DestroyNode shortly before Node is destroyed. More...
 
bool IsLayer ()
 Query whether the node is a layer. More...
 
virtual LayerGetLayer ()
 Convert a node to a layer. More...
 
void Attach (NodeAttachment &attachment)
 Attach an object to this Node; This should only be done by UpdateManager::AttachToNode. More...
 
bool HasAttachment () const
 Query the node if it has an attachment. More...
 
void AddRenderer (Renderer *renderer)
 Add a renderer to the node. More...
 
void RemoveRenderer (Renderer *renderer)
 Remove a renderer from the node. More...
 
RendererGetRendererAt (unsigned int index)
 
unsigned int GetRendererCount ()
 Retrieve the number of renderers for the node. More...
 
NodeAttachmentGetAttachment () const
 Retreive the object attached to this node. More...
 
bool IsRoot () const
 Query whether a node is the root node. More...
 
void SetRoot (bool isRoot)
 Set whether a node is the root node. More...
 
NodeGetParent ()
 Retrieve the parent of a Node. More...
 
const NodeGetParent () const
 Retrieve the parent of a Node. More...
 
void ConnectChild (Node *childNode)
 Connect a node to the scene-graph. More...
 
void DisconnectChild (BufferIndex updateBufferIndex, Node &childNode)
 Disconnect a child (& its children) from the scene-graph. More...
 
const NodeContainerGetChildren () const
 Retrieve the children a Node. More...
 
NodeContainerGetChildren ()
 Retrieve the children a Node. More...
 
void SetDirtyFlag (NodePropertyFlags flag)
 Flag that one of the node values has changed in the current frame. More...
 
void SetAllDirtyFlags ()
 Flag that all of the node values are dirty. More...
 
int GetDirtyFlags () const
 Query whether a node is dirty. More...
 
bool IsClean () const
 Query whether a node is clean. More...
 
const Vector3GetParentOrigin () const
 Retrieve the parent-origin of the node. More...
 
void SetParentOrigin (const Vector3 &origin)
 Sets both the local & base parent-origins of the node. More...
 
const Vector3GetAnchorPoint () const
 Retrieve the anchor-point of the node. More...
 
void SetAnchorPoint (const Vector3 &anchor)
 Sets both the local & base anchor-points of the node. More...
 
const Vector3GetPosition (BufferIndex bufferIndex) const
 Retrieve the local position of the node, relative to its parent. More...
 
void BakePosition (BufferIndex updateBufferIndex, const Vector3 &position)
 Sets both the local & base positions of the node. More...
 
void SetWorldPosition (BufferIndex updateBufferIndex, const Vector3 &position)
 Sets the world of the node derived from the position of all its parents. More...
 
void InheritWorldPosition (BufferIndex updateBufferIndex)
 Sets the position of the node derived from the position of all its parents. More...
 
void CopyPreviousWorldPosition (BufferIndex updateBufferIndex)
 Copies the previous inherited position, if this changed in the previous frame. More...
 
const Vector3GetWorldPosition (BufferIndex bufferIndex) const
 Retrieve the position of the node derived from the position of all its parents. More...
 
void SetPositionInheritanceMode (PositionInheritanceMode mode)
 Set the position inheritance mode. More...
 
PositionInheritanceMode GetPositionInheritanceMode () const
 
const QuaternionGetOrientation (BufferIndex bufferIndex) const
 Retrieve the local orientation of the node, relative to its parent. More...
 
void BakeOrientation (BufferIndex updateBufferIndex, const Quaternion &orientation)
 Sets both the local & base orientations of the node. More...
 
void SetWorldOrientation (BufferIndex updateBufferIndex, const Quaternion &orientation)
 Sets the orientation of the node derived from the rotation of all its parents. More...
 
void InheritWorldOrientation (BufferIndex updateBufferIndex)
 Sets the orientation of the node derived from the rotation of all its parents. More...
 
void CopyPreviousWorldOrientation (BufferIndex updateBufferIndex)
 Copies the previous inherited orientation, if this changed in the previous frame. More...
 
const QuaternionGetWorldOrientation (BufferIndex bufferIndex) const
 Retrieve the orientation of the node derived from the rotation of all its parents. More...
 
void SetInheritOrientation (bool inherit)
 Set whether the Node inherits orientation. More...
 
bool IsOrientationInherited () const
 Query whether the node inherits orientation from its parent. More...
 
const Vector3GetScale (BufferIndex bufferIndex) const
 Retrieve the local scale of the node, relative to its parent. More...
 
void SetWorldScale (BufferIndex updateBufferIndex, const Vector3 &scale)
 Sets the scale of the node derived from the scale of all its parents and a pre-scale. More...
 
void InheritWorldScale (BufferIndex updateBufferIndex)
 Sets the scale of the node derived from the scale of all its parents and a pre-scale. More...
 
void CopyPreviousWorldScale (BufferIndex updateBufferIndex)
 Copies the previous inherited scale, if this changed in the previous frame. More...
 
const Vector3GetWorldScale (BufferIndex bufferIndex) const
 Retrieve the scale of the node derived from the scale of all its parents. More...
 
void SetInheritScale (bool inherit)
 Set whether the Node inherits scale. More...
 
bool IsScaleInherited () const
 Query whether the Node inherits scale. More...
 
bool IsVisible (BufferIndex bufferIndex) const
 Retrieve the visibility of the node. More...
 
float GetOpacity (BufferIndex bufferIndex) const
 Retrieve the opacity of the node. More...
 
const Vector4GetColor (BufferIndex bufferIndex) const
 Retrieve the color of the node. More...
 
void SetWorldColor (const Vector4 &color, BufferIndex updateBufferIndex)
 Sets the color of the node derived from the color of all its parents. More...
 
void InheritWorldColor (BufferIndex updateBufferIndex)
 Sets the color of the node derived from the color of all its parents. More...
 
void CopyPreviousWorldColor (BufferIndex updateBufferIndex)
 Copies the previous inherited scale, if this changed in the previous frame. More...
 
const Vector4GetWorldColor (BufferIndex bufferIndex) const
 Retrieve the color of the node, possibly derived from the color of all its parents, depending on the value of mColorMode. More...
 
void SetColorMode (ColorMode colorMode)
 Set the color mode. More...
 
ColorMode GetColorMode () const
 Retrieve the color mode. More...
 
const Vector3GetSize (BufferIndex bufferIndex) const
 Retrieve the size of the node. More...
 
void SetWorldMatrix (BufferIndex updateBufferIndex, const Vector3 &scale, const Quaternion &rotation, const Vector3 &translation)
 Set the world-matrix of a node, with scale + rotation + translation. More...
 
const MatrixGetWorldMatrix (BufferIndex bufferIndex) const
 Retrieve the cached world-matrix of a node. More...
 
void CopyPreviousWorldMatrix (BufferIndex updateBufferIndex)
 Copy previous frames world matrix. More...
 
void SetExclusiveRenderTask (RenderTask *renderTask)
 Mark the node as exclusive to a single RenderTask. More...
 
RenderTaskGetExclusiveRenderTask () const
 Query whether the node is exclusive to a single RenderTask. More...
 
void SetDrawMode (const DrawMode::Type &drawMode)
 Set how the Node and its children should be drawn; see Dali::Actor::SetDrawMode() for more details. More...
 
DrawMode::Type GetDrawMode () const
 Returns whether node is an overlay or not. More...
 
bool operator== (const Node *rhs) const
 Equality operator, checks for identity, not values. More...
 
unsigned short GetDepth () const
 
void AddUniformMapping (UniformPropertyMapping *map)
 Add a map to the mappings table. More...
 
void RemoveUniformMapping (const std::string &uniformName)
 Remove a map from the mappings table. More...
 
void PrepareRender (BufferIndex bufferIndex)
 Prepare the node for rendering. More...
 
virtual bool GetUniformMapChanged (BufferIndex bufferIndex) const
 Return true if the uniform map has been changed this frame Note, this only informs if the uniform mappings have changed, not if any actual property value has changed. More...
 
virtual const CollectedUniformMapGetUniformMap (BufferIndex bufferIndex) const
 Get the complete map of uniforms to property value addresses (The map is double buffered - it can be retrieved through this interface) More...
 
- Public Member Functions inherited from Dali::Internal::SceneGraph::PropertyOwner
virtual ~PropertyOwner ()
 Virtual destructor; this is intended as a base class. More...
 
void AddObserver (Observer &observer)
 Add an observer. More...
 
void RemoveObserver (Observer &observer)
 Remove an observer. More...
 
bool IsObserved ()
 This method can be used to determine if there is an animation or constraint that is using this property owner. More...
 
void Destroy ()
 Called just before destruction to disconnect all observers and remove constraints. More...
 
void ConnectToSceneGraph ()
 Notify all observers that the object has been connected This occurs when the object is connected to the scene-graph during UpdateManager::Update(). More...
 
void DisconnectFromSceneGraph (BufferIndex updateBufferIndex)
 Notify all observers that the object has been disconnected and remove constraints. More...
 
void InstallCustomProperty (PropertyBase *property)
 Install a custom property. More...
 
OwnedPropertyContainerGetCustomProperties ()
 Retrieve the custom properties owned by the object. More...
 
const OwnedPropertyContainerGetCustomProperties () const
 Retrieve the custom properties owned by the object. More...
 
void ResetToBaseValues (BufferIndex updateBufferIndex)
 Reset animatable properties to the corresponding base values. More...
 
void ApplyConstraint (ConstraintBase *constraint)
 Apply a constraint. More...
 
void RemoveConstraint (ConstraintBase *constraint)
 Begin removal of constraints. More...
 
ConstraintOwnerContainerGetConstraints ()
 Retrieve the constraints that are currently applied. More...
 
const UniformMapGetUniformMap () const
 Get the mappings table. More...
 
void AddUniformMapObserver (UniformMap::Observer &observer)
  More...
 
void RemoveUniformMapObserver (UniformMap::Observer &observer)
  More...
 
- Public Member Functions inherited from Dali::Internal::SceneGraph::NodeDataProvider
 NodeDataProvider ()
 Constructor. More...
 

Static Public Member Functions

static NodeNew ()
 Construct a new Node. More...
 
- Static Public Member Functions inherited from Dali::Internal::SceneGraph::PropertyOwner
static PropertyOwnerNew ()
 Create a property owner. More...
 

Public Attributes

PropertyVector3 mParentOrigin
 Local transform; the position is relative to this. Sets the TransformFlag dirty when changed. More...
 
PropertyVector3 mAnchorPoint
 Local transform; local center of rotation. Sets the TransformFlag dirty when changed. More...
 
AnimatableProperty< Vector3mSize
 Size is provided for layouting. More...
 
AnimatableProperty< Vector3mPosition
 Local transform; distance between parent-origin & anchor-point. More...
 
AnimatableProperty< QuaternionmOrientation
 Local transform; rotation relative to parent node. More...
 
AnimatableProperty< Vector3mScale
 Local transform; scale relative to parent node. More...
 
AnimatableProperty< bool > mVisible
 Visibility can be inherited from the Node hierachy. More...
 
AnimatableProperty< Vector4mColor
 Color can be inherited from the Node hierarchy. More...
 
InheritedVector3 mWorldPosition
 Full inherited position. More...
 
InheritedQuaternion mWorldOrientation
 Full inherited orientation. More...
 
InheritedVector3 mWorldScale
 Full inherited scale. More...
 
InheritedMatrix mWorldMatrix
 Full inherited world matrix. More...
 
InheritedColor mWorldColor
 Full inherited color. More...
 

Static Public Attributes

static const
PositionInheritanceMode 
DEFAULT_POSITION_INHERITANCE_MODE
 
static const ColorMode DEFAULT_COLOR_MODE
 

Protected Member Functions

void SetParent (Node &parentNode)
 Set the parent of a Node. More...
 
 Node ()
 Protected constructor; See also Node::New() More...
 
- Protected Member Functions inherited from Dali::Internal::SceneGraph::PropertyOwner
 PropertyOwner ()
 Protected constructor. More...
 
- Protected Member Functions inherited from Dali::Internal::SceneGraph::NodeDataProvider
virtual ~NodeDataProvider ()
 Virtual destructor, this is an interface, no deletion through this interface. More...
 

Protected Attributes

NodemParent
 Pointer to parent node (a child is owned by its parent) More...
 
RenderTaskmExclusiveRenderTask
 Nodes can be marked as exclusive to a single RenderTask. More...
 
NodeAttachmentOwner mAttachment
 Optional owned attachment. More...
 
RendererContainer mRenderer
 Container of renderers; not owned. More...
 
NodeContainer mChildren
 Container of children; not owned. More...
 
CollectedUniformMap mCollectedUniformMap [2]
 Uniform maps of the node. More...
 
unsigned int mUniformMapChanged [2]
 Records if the uniform map has been altered this frame. More...
 
unsigned int mRegenerateUniformMap: 2
 Indicate if the uniform map has to be regenerated this frame. More...
 
unsigned short mDepth: 12
 Depth in the hierarchy. More...
 
int mDirtyFlags:8
 A composite set of flags for each of the Node properties. More...
 
bool mIsRoot:1
 True if the node cannot have a parent. More...
 
bool mInheritOrientation:1
 Whether the parent's orientation should be inherited. More...
 
bool mInheritScale:1
 Whether the parent's scale should be inherited. More...
 
DrawMode::Type mDrawMode:2
 How the Node and its children should be drawn. More...
 
PositionInheritanceMode mPositionInheritanceMode:2
 Determines how position is inherited, 2 bits is enough. More...
 
ColorMode mColorMode:2
 Determines whether mWorldColor is inherited, 2 bits is enough. More...
 
 DALI_LOG_OBJECT_STRING_DECLARATION
 
- Protected Attributes inherited from Dali::Internal::SceneGraph::PropertyOwner
OwnedPropertyContainer mCustomProperties
 Properties provided with InstallCustomProperty() More...
 
UniformMap mUniformMaps
 Container of owned uniform maps. More...
 

Private Member Functions

virtual const MatrixGetModelMatrix (unsigned int bufferId) const
  More...
 
virtual const Vector4GetRenderColor (unsigned int bufferId) const
  More...
 
virtual const Vector3GetRenderSize (unsigned int bufferId) const
 
 Node (const Node &)
 
Nodeoperator= (const Node &rhs)
 
virtual void ResetDefaultProperties (BufferIndex updateBufferIndex)
 Called after ResetToBaseValues; derived classes should reset any default properties. More...
 
void RecursiveDisconnectFromSceneGraph (BufferIndex updateBufferIndex)
 Recursive helper to disconnect a Node and its children. More...
 

Detailed Description

Node is the base class for all nodes in the Scene Graph.

Each node provides a transformation which applies to the node and its children. Node data is double-buffered. This allows an update thread to modify node data, without interferring with another thread reading the values from the previous update traversal.

Definition at line 94 of file node.h.

Constructor & Destructor Documentation

Dali::Internal::SceneGraph::Node::~Node ( )
virtual

Virtual destructor.

Definition at line 84 of file node.cpp.

Dali::Internal::SceneGraph::Node::Node ( )
protected

Protected constructor; See also Node::New()

Definition at line 52 of file node.cpp.

References mUniformMapChanged.

Referenced by New().

Here is the caller graph for this function:

Dali::Internal::SceneGraph::Node::Node ( const Node )
private

Member Function Documentation

void Dali::Internal::SceneGraph::Node::AddRenderer ( Renderer renderer)
inline

Add a renderer to the node.

Parameters
[in]rendererThe renderer added to the node

Definition at line 167 of file node.h.

References mDirtyFlags, mRenderer, Dali::Vector< T, IsTrivialType >::PushBack(), Dali::VectorBase::Size(), and Dali::Internal::SceneGraph::TransformFlag.

Referenced by Dali::Internal::SceneGraph::AddRendererMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::AddUniformMapping ( UniformPropertyMapping map)
virtual

Add a map to the mappings table.

Reimplemented from Dali::Internal::SceneGraph::PropertyOwner.

Definition at line 124 of file node.cpp.

References Dali::Internal::SceneGraph::PropertyOwner::AddUniformMapping(), and mRegenerateUniformMap.

Here is the call graph for this function:

void Dali::Internal::SceneGraph::Node::Attach ( NodeAttachment attachment)

Attach an object to this Node; This should only be done by UpdateManager::AttachToNode.

Precondition
The Node does not already have an attachment.
Parameters
[in]attachmentThe object to attach.

Definition at line 105 of file node.cpp.

References DALI_ASSERT_DEBUG, mAttachment, and SetAllDirtyFlags().

Referenced by Dali::Internal::SceneGraph::UpdateManager::AttachToNode().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::BakeOrientation ( BufferIndex  updateBufferIndex,
const Quaternion orientation 
)
inline

Sets both the local & base orientations of the node.

Parameters
[in]updateBufferIndexThe current update buffer index.
[in]orientationThe new local & base orientation.

Definition at line 543 of file node.h.

References Dali::Internal::SceneGraph::AnimatableProperty< Quaternion >::Bake(), and mOrientation.

Here is the call graph for this function:

void Dali::Internal::SceneGraph::Node::BakePosition ( BufferIndex  updateBufferIndex,
const Vector3 position 
)
inline

Sets both the local & base positions of the node.

Parameters
[in]updateBufferIndexThe current update buffer index.
[in]positionThe new local & base position.

Definition at line 383 of file node.h.

References Dali::Internal::SceneGraph::AnimatableProperty< Vector3 >::Bake(), and mPosition.

Here is the call graph for this function:

void Dali::Internal::SceneGraph::Node::ConnectChild ( Node childNode)

Connect a node to the scene-graph.

Precondition
A node cannot be added to itself.
The parent node is connected to the scene-graph.
The childNode does not already have a parent.
The childNode is not a root node.
Parameters
[in]childNodeThe child to add.

Definition at line 168 of file node.cpp.

References Dali::Internal::SceneGraph::PropertyOwner::ConnectToSceneGraph(), DALI_ASSERT_ALWAYS, GetParent(), IsRoot(), mAttachment, mChildren, mParent, Dali::Vector< T, IsTrivialType >::PushBack(), SetAllDirtyFlags(), and SetParent().

Referenced by Dali::Internal::SceneGraph::UpdateManager::ConnectNode().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::CopyPreviousWorldColor ( BufferIndex  updateBufferIndex)
inline

Copies the previous inherited scale, if this changed in the previous frame.

This method should be called instead of InheritWorldScale i.e. if the inherited scale does not need to be recalculated in the current frame.

Parameters
[in]updateBufferIndexThe current update buffer index.

Definition at line 779 of file node.h.

References Dali::Internal::SceneGraph::InheritedColor::CopyPrevious(), and mWorldColor.

Referenced by Dali::Internal::SceneGraph::UpdateNodeOpacity(), and Dali::Internal::SceneGraph::UpdateRootNodeOpacity().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::CopyPreviousWorldMatrix ( BufferIndex  updateBufferIndex)
inline

Copy previous frames world matrix.

Parameters
[in]updateBufferIndexThe current update buffer index.

Definition at line 855 of file node.h.

References Dali::Internal::SceneGraph::InheritedMatrix::CopyPrevious(), and mWorldMatrix.

Referenced by Dali::Internal::SceneGraph::UpdateNodeWorldMatrix().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::CopyPreviousWorldOrientation ( BufferIndex  updateBufferIndex)
inline

Copies the previous inherited orientation, if this changed in the previous frame.

This method should be called instead of InheritWorldOrientation i.e. if the inherited orientation does not need to be recalculated in the current frame.

Parameters
[in]updateBufferIndexThe current update buffer index.

Definition at line 588 of file node.h.

References Dali::Internal::SceneGraph::InheritedQuaternion::CopyPrevious(), and mWorldOrientation.

Referenced by Dali::Internal::SceneGraph::UpdateNodeTransformValues(), and Dali::Internal::SceneGraph::UpdateRootNodeTransformValues().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::CopyPreviousWorldPosition ( BufferIndex  updateBufferIndex)
inline

Copies the previous inherited position, if this changed in the previous frame.

This method should be called instead of InheritWorldPosition i.e. if the inherited position does not need to be recalculated in the current frame.

Parameters
[in]updateBufferIndexThe current update buffer index.

Definition at line 494 of file node.h.

References Dali::Internal::SceneGraph::InheritedVector3::CopyPrevious(), and mWorldPosition.

Referenced by Dali::Internal::SceneGraph::UpdateNodeTransformValues(), and Dali::Internal::SceneGraph::UpdateRootNodeTransformValues().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::CopyPreviousWorldScale ( BufferIndex  updateBufferIndex)
inline

Copies the previous inherited scale, if this changed in the previous frame.

This method should be called instead of InheritWorldScale i.e. if the inherited scale does not need to be recalculated in the current frame.

Parameters
[in]updateBufferIndexThe current update buffer index.

Definition at line 665 of file node.h.

References Dali::Internal::SceneGraph::InheritedVector3::CopyPrevious(), and mWorldScale.

Referenced by Dali::Internal::SceneGraph::UpdateNodeTransformValues(), and Dali::Internal::SceneGraph::UpdateRootNodeTransformValues().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::DisconnectChild ( BufferIndex  updateBufferIndex,
Node childNode 
)

Disconnect a child (& its children) from the scene-graph.

Precondition
childNode is a child of this Node.
Parameters
[in]updateBufferIndexThe current update buffer index.
[in]childNodeThe node to disconnect.

Definition at line 192 of file node.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), DALI_ASSERT_ALWAYS, Dali::Vector< T, IsTrivialType >::End(), Dali::Vector< T, IsTrivialType >::Erase(), GetParent(), and mChildren.

Referenced by Dali::Internal::SceneGraph::UpdateManager::DisconnectNode().

Here is the call graph for this function:

Here is the caller graph for this function:

const Vector3& Dali::Internal::SceneGraph::Node::GetAnchorPoint ( ) const
inline

Retrieve the anchor-point of the node.

Returns
The anchor-point.

Definition at line 353 of file node.h.

References mAnchorPoint, and Dali::Internal::SceneGraph::PropertyVector3::mValue.

Referenced by Dali::Internal::SceneGraph::PrintNodeTree().

Here is the caller graph for this function:

NodeAttachment& Dali::Internal::SceneGraph::Node::GetAttachment ( ) const
inline

Retreive the object attached to this node.

Returns
The attachment.

Definition at line 217 of file node.h.

References mAttachment.

Referenced by Dali::Internal::SceneGraph::RenderTask::SetCameraNode(), and Dali::Internal::SceneGraph::UpdateNodesAndAttachments().

Here is the caller graph for this function:

const NodeContainer& Dali::Internal::SceneGraph::Node::GetChildren ( ) const
inline

Retrieve the children a Node.

Returns
The container of children.

Definition at line 282 of file node.h.

References mChildren.

Referenced by Dali::Internal::SceneGraph::anonymous_namespace{process-render-tasks.cpp}::AddRenderablesForTask(), Dali::Internal::SceneGraph::PrintNodes(), Dali::Internal::SceneGraph::PrintNodeTree(), and Dali::Internal::SceneGraph::UpdateNodesAndAttachments().

Here is the caller graph for this function:

NodeContainer& Dali::Internal::SceneGraph::Node::GetChildren ( )
inline

Retrieve the children a Node.

Returns
The container of children.

Definition at line 291 of file node.h.

References mChildren.

const Vector4& Dali::Internal::SceneGraph::Node::GetColor ( BufferIndex  bufferIndex) const
inline

Retrieve the color of the node.

Parameters
[in]bufferIndexThe buffer to read from.
Returns
The color.

Definition at line 728 of file node.h.

References mColor.

Referenced by Dali::Internal::Actor::GetCurrentColor(), Dali::Internal::SceneGraph::PrintNodeTree(), and Dali::Internal::SceneGraph::UpdateRootNodeOpacity().

Here is the caller graph for this function:

ColorMode Dali::Internal::SceneGraph::Node::GetColorMode ( ) const
inline

Retrieve the color mode.

Returns
The color mode.

Definition at line 811 of file node.h.

References mColorMode.

unsigned short Dali::Internal::SceneGraph::Node::GetDepth ( ) const
inline

Definition at line 909 of file node.h.

References mDepth.

Referenced by Dali::Internal::SceneGraph::AddRendererToRenderList(), and SetParent().

Here is the caller graph for this function:

int Dali::Internal::SceneGraph::Node::GetDirtyFlags ( ) const
DrawMode::Type Dali::Internal::SceneGraph::Node::GetDrawMode ( ) const
inline

Returns whether node is an overlay or not.

Returns
True if node is an overlay, false otherwise.

Definition at line 891 of file node.h.

References mDrawMode.

Referenced by Dali::Internal::SceneGraph::anonymous_namespace{process-render-tasks.cpp}::AddRenderablesForTask(), Dali::Internal::SceneGraph::ProcessRenderTasks(), and Dali::Internal::SceneGraph::UpdateNodesAndAttachments().

Here is the caller graph for this function:

RenderTask* Dali::Internal::SceneGraph::Node::GetExclusiveRenderTask ( ) const
inline
virtual Layer* Dali::Internal::SceneGraph::Node::GetLayer ( )
inlinevirtual
virtual const Matrix& Dali::Internal::SceneGraph::Node::GetModelMatrix ( unsigned int  bufferId) const
inlineprivatevirtual

Parameters
bufferIdto use
Returns
a reference to the model matrix

Implements Dali::Internal::SceneGraph::NodeDataProvider.

Definition at line 950 of file node.h.

References GetWorldMatrix().

Here is the call graph for this function:

float Dali::Internal::SceneGraph::Node::GetOpacity ( BufferIndex  bufferIndex) const
inline

Retrieve the opacity of the node.

Parameters
[in]bufferIndexThe buffer to read from.
Returns
The opacity.

Definition at line 718 of file node.h.

References mColor.

Referenced by Dali::Internal::Actor::GetCurrentOpacity().

Here is the caller graph for this function:

const Quaternion& Dali::Internal::SceneGraph::Node::GetOrientation ( BufferIndex  bufferIndex) const
inline

Retrieve the local orientation of the node, relative to its parent.

Parameters
[in]bufferIndexThe buffer to read from.
Returns
The local orientation.

Definition at line 533 of file node.h.

References mOrientation.

Referenced by Dali::Internal::Actor::GetCurrentOrientation(), Dali::Internal::SceneGraph::PrintNodes(), Dali::Internal::SceneGraph::PrintNodeTree(), Dali::Internal::SceneGraph::UpdateNodeTransformValues(), and Dali::Internal::SceneGraph::UpdateRootNodeTransformValues().

Here is the caller graph for this function:

Node* Dali::Internal::SceneGraph::Node::GetParent ( )
inline
const Node* Dali::Internal::SceneGraph::Node::GetParent ( ) const
inline

Retrieve the parent of a Node.

Returns
The parent node, or NULL if the Node has not been added to the scene-graph.

Definition at line 255 of file node.h.

References mParent.

const Vector3& Dali::Internal::SceneGraph::Node::GetParentOrigin ( ) const
inline

Retrieve the parent-origin of the node.

Returns
The parent-origin.

Definition at line 334 of file node.h.

References mParentOrigin, and Dali::Internal::SceneGraph::PropertyVector3::mValue.

Referenced by Dali::Internal::SceneGraph::PrintNodeTree().

Here is the caller graph for this function:

const Vector3& Dali::Internal::SceneGraph::Node::GetPosition ( BufferIndex  bufferIndex) const
inline

Retrieve the local position of the node, relative to its parent.

Parameters
[in]bufferIndexThe buffer to read from.
Returns
The local position.

Definition at line 373 of file node.h.

References mPosition.

Referenced by Dali::Internal::Actor::GetCurrentPosition(), Dali::Internal::SceneGraph::PrintNodes(), Dali::Internal::SceneGraph::PrintNodeTree(), and Dali::Internal::SceneGraph::UpdateRootNodeTransformValues().

Here is the caller graph for this function:

PositionInheritanceMode Dali::Internal::SceneGraph::Node::GetPositionInheritanceMode ( ) const
inline
Returns
The position inheritance mode.

Definition at line 523 of file node.h.

References mPositionInheritanceMode.

virtual const Vector4& Dali::Internal::SceneGraph::Node::GetRenderColor ( unsigned int  bufferId) const
inlineprivatevirtual

Parameters
bufferIdto use
Returns
a reference to the color

Implements Dali::Internal::SceneGraph::NodeDataProvider.

Definition at line 958 of file node.h.

References GetWorldColor().

Here is the call graph for this function:

Renderer* Dali::Internal::SceneGraph::Node::GetRendererAt ( unsigned int  index)
inline

Definition at line 200 of file node.h.

References mRenderer.

Referenced by Dali::Internal::SceneGraph::anonymous_namespace{process-render-tasks.cpp}::AddRenderablesForTask().

Here is the caller graph for this function:

unsigned int Dali::Internal::SceneGraph::Node::GetRendererCount ( )
inline

Retrieve the number of renderers for the node.

Definition at line 208 of file node.h.

References mRenderer, and Dali::VectorBase::Size().

Referenced by Dali::Internal::SceneGraph::anonymous_namespace{process-render-tasks.cpp}::AddRenderablesForTask(), and Dali::Internal::SceneGraph::UpdateNodesAndAttachments().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual const Vector3& Dali::Internal::SceneGraph::Node::GetRenderSize ( unsigned int  bufferIndex) const
inlineprivatevirtual
Parameters
[in]bufferIndexThe buffer index to use
Returns
the actor size

Implements Dali::Internal::SceneGraph::NodeDataProvider.

Definition at line 963 of file node.h.

References GetSize().

Here is the call graph for this function:

const Vector3& Dali::Internal::SceneGraph::Node::GetScale ( BufferIndex  bufferIndex) const
inline

Retrieve the local scale of the node, relative to its parent.

Parameters
[in]bufferIndexThe buffer to read from.
Returns
The local scale.

Definition at line 631 of file node.h.

References mScale.

Referenced by Dali::Internal::Actor::GetCurrentScale(), Dali::Internal::SceneGraph::PrintNodes(), Dali::Internal::SceneGraph::PrintNodeTree(), Dali::Internal::SceneGraph::UpdateNodeTransformValues(), and Dali::Internal::SceneGraph::UpdateRootNodeTransformValues().

Here is the caller graph for this function:

const Vector3& Dali::Internal::SceneGraph::Node::GetSize ( BufferIndex  bufferIndex) const
inline

Retrieve the size of the node.

Parameters
[in]bufferIndexThe buffer to read from.
Returns
The size.

Definition at line 821 of file node.h.

References mSize.

Referenced by Dali::Internal::SceneGraph::AddRendererToRenderList(), Dali::Internal::Actor::GetCurrentSize(), GetRenderSize(), InheritWorldPosition(), Dali::Internal::SceneGraph::PrintNodeTree(), Dali::Internal::Actor::RayActorTest(), and Dali::Internal::Actor::RaySphereTest().

Here is the caller graph for this function:

virtual const CollectedUniformMap& Dali::Internal::SceneGraph::Node::GetUniformMap ( BufferIndex  bufferIndex) const
inlinevirtual

Get the complete map of uniforms to property value addresses (The map is double buffered - it can be retrieved through this interface)

Parameters
[in]bufferIndexThe bufferIndex
Returns
the uniform map

Implements Dali::Internal::SceneGraph::NodeDataProvider.

Definition at line 980 of file node.h.

References mCollectedUniformMap.

virtual bool Dali::Internal::SceneGraph::Node::GetUniformMapChanged ( BufferIndex  bufferIndex) const
inlinevirtual

Return true if the uniform map has been changed this frame Note, this only informs if the uniform mappings have changed, not if any actual property value has changed.

Parameters
[in]bufferIndexThe buffer index
Returns
true if the uniform map has changed

Implements Dali::Internal::SceneGraph::NodeDataProvider.

Definition at line 972 of file node.h.

References mUniformMapChanged.

const Vector4& Dali::Internal::SceneGraph::Node::GetWorldColor ( BufferIndex  bufferIndex) const
inline

Retrieve the color of the node, possibly derived from the color of all its parents, depending on the value of mColorMode.

Parameters
[in]bufferIndexThe buffer to read from.
Returns
The world color.

Definition at line 790 of file node.h.

References mWorldColor.

Referenced by Dali::Internal::Actor::GetCurrentWorldColor(), Dali::Internal::SceneGraph::Renderer::GetOpacity(), GetRenderColor(), InheritWorldColor(), and Dali::Internal::SceneGraph::PrintNodeTree().

Here is the caller graph for this function:

const Matrix& Dali::Internal::SceneGraph::Node::GetWorldMatrix ( BufferIndex  bufferIndex) const
inline

Retrieve the cached world-matrix of a node.

Parameters
[in]bufferIndexThe buffer to read from.
Returns
The world-matrix.

Definition at line 846 of file node.h.

References mWorldMatrix.

Referenced by Dali::Internal::SceneGraph::AddRendererToRenderList(), GetModelMatrix(), Dali::Internal::SceneGraph::PrintNodes(), and Dali::Internal::SceneGraph::PrintNodeTree().

Here is the caller graph for this function:

const Quaternion& Dali::Internal::SceneGraph::Node::GetWorldOrientation ( BufferIndex  bufferIndex) const
inline
const Vector3& Dali::Internal::SceneGraph::Node::GetWorldPosition ( BufferIndex  bufferIndex) const
inline
const Vector3& Dali::Internal::SceneGraph::Node::GetWorldScale ( BufferIndex  bufferIndex) const
inline

Retrieve the scale of the node derived from the scale of all its parents.

Parameters
[in]bufferIndexThe buffer to read from.
Returns
The world scale.

Definition at line 675 of file node.h.

References mWorldScale.

Referenced by Dali::Internal::SceneGraph::AddRendererToRenderList(), Dali::Internal::Actor::GetCurrentWorldMatrix(), Dali::Internal::Actor::GetCurrentWorldScale(), InheritWorldPosition(), InheritWorldScale(), Dali::Internal::SceneGraph::PrintNodeTree(), Dali::Internal::Actor::RayActorTest(), Dali::Internal::Actor::RaySphereTest(), Dali::Internal::Actor::ScreenToLocal(), and Dali::Internal::SceneGraph::UpdateNodeWorldMatrix().

Here is the caller graph for this function:

bool Dali::Internal::SceneGraph::Node::HasAttachment ( ) const
inline

Query the node if it has an attachment.

Returns
True if it has an attachment.

Definition at line 158 of file node.h.

References mAttachment.

Referenced by Dali::Internal::SceneGraph::RenderTask::ReadyToRender(), and Dali::Internal::SceneGraph::UpdateNodesAndAttachments().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::InheritWorldColor ( BufferIndex  updateBufferIndex)
inline

Sets the color of the node derived from the color of all its parents.

This method should only be called when the parents world color is up-to-date.

Precondition
The node has a parent.
Parameters
[in]updateBufferIndexThe current update buffer index.

Definition at line 749 of file node.h.

References Dali::Vector4::a, Dali::Vector4::b, DALI_ASSERT_DEBUG, Dali::Vector4::g, GetWorldColor(), mColor, mColorMode, mParent, mWorldColor, Dali::Vector4::r, Dali::Internal::SceneGraph::InheritedColor::Set(), Dali::USE_OWN_MULTIPLY_PARENT_ALPHA, Dali::USE_OWN_MULTIPLY_PARENT_COLOR, and Dali::USE_PARENT_COLOR.

Referenced by Dali::Internal::SceneGraph::UpdateNodeOpacity().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::InheritWorldOrientation ( BufferIndex  updateBufferIndex)
inline

Sets the orientation of the node derived from the rotation of all its parents.

This method should only be called when the parents world orientation is up-to-date.

Precondition
The node has a parent.
Parameters
[in]updateBufferIndexThe current update buffer index.

Definition at line 564 of file node.h.

References DALI_ASSERT_DEBUG, GetWorldOrientation(), Dali::Quaternion::IsIdentity(), mOrientation, mParent, mWorldOrientation, and Dali::Internal::SceneGraph::InheritedQuaternion::Set().

Referenced by Dali::Internal::SceneGraph::UpdateNodeTransformValues().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::InheritWorldPosition ( BufferIndex  updateBufferIndex)
inline

Sets the position of the node derived from the position of all its parents.

This method should only be called when the parent's world position is up-to-date. With a non-central anchor-point, the local orientation and scale affects the world position. Therefore the world orientation & scale must be updated before the world position.

Precondition
The node has a parent.
Parameters
[in]updateBufferIndexThe current update buffer index.
See Also
Dali::PositionInheritanceMode for how these modes are expected to work

Definition at line 406 of file node.h.

References DALI_ASSERT_DEBUG, Dali::DONT_INHERIT_POSITION, GetSize(), GetWorldOrientation(), GetWorldPosition(), GetWorldScale(), Dali::INHERIT_PARENT_POSITION, Dali::Quaternion::IsIdentity(), Dali::Math::MACHINE_EPSILON_0, mAnchorPoint, mParent, mParentOrigin, mPosition, mPositionInheritanceMode, mScale, mSize, Dali::Internal::SceneGraph::PropertyVector3::mValue, mWorldOrientation, mWorldPosition, mWorldScale, Dali::Internal::SceneGraph::InheritedVector3::Set(), Dali::USE_PARENT_POSITION, Dali::USE_PARENT_POSITION_PLUS_LOCAL_POSITION, Dali::Vector3::x, Dali::Vector3::y, and Dali::Vector3::z.

Referenced by Dali::Internal::SceneGraph::UpdateNodeTransformValues().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::InheritWorldScale ( BufferIndex  updateBufferIndex)
inline

Sets the scale of the node derived from the scale of all its parents and a pre-scale.

This method should only be called when the parents world scale is up-to-date.

Precondition
The node has a parent.
Parameters
[in]updateBufferIndexThe current update buffer index.

Definition at line 652 of file node.h.

References DALI_ASSERT_DEBUG, GetWorldScale(), mParent, mScale, mWorldScale, and Dali::Internal::SceneGraph::InheritedVector3::Set().

Referenced by Dali::Internal::SceneGraph::UpdateNodeTransformValues().

Here is the call graph for this function:

Here is the caller graph for this function:

bool Dali::Internal::SceneGraph::Node::IsClean ( ) const
inline

Query whether a node is clean.

Returns
True if the node is clean.

Definition at line 325 of file node.h.

References GetDirtyFlags(), and Dali::Internal::SceneGraph::NothingFlag.

Here is the call graph for this function:

bool Dali::Internal::SceneGraph::Node::IsLayer ( )
inline

Query whether the node is a layer.

Returns
True if the node is a layer.

Definition at line 131 of file node.h.

References GetLayer().

Referenced by Dali::Internal::SceneGraph::UpdateManager::InstallRoot().

Here is the call graph for this function:

Here is the caller graph for this function:

bool Dali::Internal::SceneGraph::Node::IsOrientationInherited ( ) const
inline

Query whether the node inherits orientation from its parent.

Returns
True if the parent orientation is inherited.

Definition at line 621 of file node.h.

References mInheritOrientation.

Referenced by Dali::Internal::SceneGraph::UpdateNodeTransformValues().

Here is the caller graph for this function:

bool Dali::Internal::SceneGraph::Node::IsRoot ( ) const
inline

Query whether a node is the root node.

Root nodes cannot have a parent node. A node becomes a root node, when it is installed by UpdateManager.

Returns
True if the node is a root node.

Definition at line 229 of file node.h.

References mIsRoot.

Referenced by ConnectChild(), Dali::Internal::SceneGraph::RenderTask::ReadyToRender(), and Dali::Internal::SceneGraph::UpdateNodesAndAttachments().

Here is the caller graph for this function:

bool Dali::Internal::SceneGraph::Node::IsScaleInherited ( ) const
inline

Query whether the Node inherits scale.

Returns
if scale is inherited

Definition at line 698 of file node.h.

References mInheritScale.

Referenced by Dali::Internal::SceneGraph::UpdateNodeTransformValues().

Here is the caller graph for this function:

bool Dali::Internal::SceneGraph::Node::IsVisible ( BufferIndex  bufferIndex) const
inline

Retrieve the visibility of the node.

Parameters
[in]bufferIndexThe buffer to read from.
Returns
True if the node is visible.

Definition at line 708 of file node.h.

References mVisible.

Referenced by Dali::Internal::SceneGraph::anonymous_namespace{process-render-tasks.cpp}::AddRenderablesForTask(), Dali::Internal::Actor::IsVisible(), Dali::Internal::SceneGraph::PrintNodeTree(), and Dali::Internal::SceneGraph::UpdateNodesAndAttachments().

Here is the caller graph for this function:

Node * Dali::Internal::SceneGraph::Node::New ( )
static

Construct a new Node.

Definition at line 47 of file node.cpp.

References anonymous_namespace{node.cpp}::gNodeMemoryPool, and Node().

Here is the call graph for this function:

void Dali::Internal::SceneGraph::Node::OnDestroy ( )

Called during UpdateManager::DestroyNode shortly before Node is destroyed.

Definition at line 93 of file node.cpp.

References Dali::Internal::SceneGraph::PropertyOwner::Destroy(), and mAttachment.

Referenced by Dali::Internal::SceneGraph::UpdateManager::DestroyNode().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::operator delete ( void *  ptr)

Overriden delete operator Deletes the node from its global memory pool.

Definition at line 88 of file node.cpp.

References anonymous_namespace{node.cpp}::gNodeMemoryPool.

Node& Dali::Internal::SceneGraph::Node::operator= ( const Node rhs)
private
bool Dali::Internal::SceneGraph::Node::operator== ( const Node rhs) const
inline

Equality operator, checks for identity, not values.

Definition at line 900 of file node.h.

void Dali::Internal::SceneGraph::Node::PrepareRender ( BufferIndex  bufferIndex)

Prepare the node for rendering.

This is called by the UpdateManager when an object is due to be rendered in the current frame.

Parameters
[in]updateBufferIndexThe current update buffer index.

Definition at line 136 of file node.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::VectorBase::Count(), Dali::Internal::SceneGraph::UniformMap::Count(), Dali::Vector< T, IsTrivialType >::End(), mCollectedUniformMap, mRegenerateUniformMap, mUniformMapChanged, Dali::Internal::SceneGraph::PropertyOwner::mUniformMaps, Dali::Vector< T, IsTrivialType >::PushBack(), and Dali::Vector< T, IsTrivialType >::Resize().

Referenced by Dali::Internal::SceneGraph::UpdateNodesAndAttachments().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::RecursiveDisconnectFromSceneGraph ( BufferIndex  updateBufferIndex)
private

Recursive helper to disconnect a Node and its children.

Disconnected Nodes have no parent or children.

Parameters
[in]updateBufferIndexThe current update buffer index.

Definition at line 296 of file node.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Vector< T, IsTrivialType >::Clear(), DALI_ASSERT_ALWAYS, Dali::Internal::SceneGraph::PropertyOwner::DisconnectFromSceneGraph(), Dali::Vector< T, IsTrivialType >::End(), mAttachment, mChildren, mDepth, mIsRoot, and mParent.

Here is the call graph for this function:

void Dali::Internal::SceneGraph::Node::RemoveRenderer ( Renderer renderer)

Remove a renderer from the node.

Parameters
[in]rendererThe renderer to be removed

Definition at line 216 of file node.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Vector< T, IsTrivialType >::Erase(), mRenderer, and Dali::VectorBase::Size().

Referenced by Dali::Internal::SceneGraph::RemoveRendererMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::RemoveUniformMapping ( const std::string &  uniformName)
virtual

Remove a map from the mappings table.

Reimplemented from Dali::Internal::SceneGraph::PropertyOwner.

Definition at line 130 of file node.cpp.

References mRegenerateUniformMap, and Dali::Internal::SceneGraph::PropertyOwner::RemoveUniformMapping().

Here is the call graph for this function:

void Dali::Internal::SceneGraph::Node::ResetDefaultProperties ( BufferIndex  updateBufferIndex)
privatevirtual
void Dali::Internal::SceneGraph::Node::SetAllDirtyFlags ( )
inline

Flag that all of the node values are dirty.

Definition at line 310 of file node.h.

References Dali::Internal::SceneGraph::AllFlags, and mDirtyFlags.

Referenced by Attach(), ConnectChild(), and Dali::Internal::SceneGraph::UpdateNodesAndAttachments().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetAnchorPoint ( const Vector3 anchor)
inline

Sets both the local & base anchor-points of the node.

Parameters
[in]anchorThe new local & base anchor-points.

Definition at line 362 of file node.h.

References mAnchorPoint, Dali::Internal::SceneGraph::PropertyVector3::mValue, and Dali::Internal::SceneGraph::PropertyVector3::OnSet().

Referenced by Dali::Internal::SceneGraph::SetAnchorPointMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetColorMode ( ColorMode  colorMode)
inline

Set the color mode.

This specifies whether the Node uses its own color, or inherits its parent color.

Parameters
[in]colorModeThe new color mode.

Definition at line 800 of file node.h.

References Dali::Internal::SceneGraph::ColorFlag, mColorMode, and SetDirtyFlag().

Referenced by Dali::Internal::SceneGraph::SetColorModeMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetDirtyFlag ( NodePropertyFlags  flag)
inline

Flag that one of the node values has changed in the current frame.

Parameters
[in]flagThe flag to set.

Definition at line 302 of file node.h.

References mDirtyFlags.

Referenced by Dali::Internal::SceneGraph::UpdateManager::DisconnectNode(), SetColorMode(), SetInheritOrientation(), SetInheritScale(), and SetPositionInheritanceMode().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetDrawMode ( const DrawMode::Type drawMode)
inline

Set how the Node and its children should be drawn; see Dali::Actor::SetDrawMode() for more details.

Parameters
[in]drawModeThe new draw-mode to use.

Definition at line 882 of file node.h.

References mDrawMode.

Referenced by Dali::Internal::SceneGraph::SetDrawModeMessage().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetExclusiveRenderTask ( RenderTask renderTask)
inline

Mark the node as exclusive to a single RenderTask.

Parameters
[in]renderTaskThe render-task, or NULL if the Node is not exclusive to a single RenderTask.

Definition at line 864 of file node.h.

References mExclusiveRenderTask.

Referenced by Dali::Internal::SceneGraph::RenderTask::SetExclusive(), Dali::Internal::SceneGraph::RenderTask::SetSourceNode(), and Dali::Internal::SceneGraph::RenderTask::~RenderTask().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetInheritOrientation ( bool  inherit)
inline

Set whether the Node inherits orientation.

Parameters
[in]inheritTrue if the parent orientation is inherited.

Definition at line 607 of file node.h.

References mInheritOrientation, SetDirtyFlag(), and Dali::Internal::SceneGraph::TransformFlag.

Referenced by Dali::Internal::SceneGraph::SetInheritOrientationMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetInheritScale ( bool  inherit)
inline

Set whether the Node inherits scale.

Parameters
inheritTrue if the Node inherits scale.

Definition at line 684 of file node.h.

References mInheritScale, SetDirtyFlag(), and Dali::Internal::SceneGraph::TransformFlag.

Referenced by Dali::Internal::SceneGraph::SetInheritScaleMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetParent ( Node parentNode)
protected

Set the parent of a Node.

Parameters
[in]parentNodethe new parent.

Definition at line 286 of file node.cpp.

References DALI_ASSERT_ALWAYS, GetDepth(), mDepth, mIsRoot, and mParent.

Referenced by ConnectChild().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetParentOrigin ( const Vector3 origin)
inline

Sets both the local & base parent-origins of the node.

Parameters
[in]originThe new local & base parent-origins.

Definition at line 343 of file node.h.

References mParentOrigin, Dali::Internal::SceneGraph::PropertyVector3::mValue, and Dali::Internal::SceneGraph::PropertyVector3::OnSet().

Referenced by Dali::Internal::SceneGraph::SetParentOriginMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetPositionInheritanceMode ( PositionInheritanceMode  mode)
inline

Set the position inheritance mode.

See Also
Dali::Actor::PositionInheritanceMode
Parameters
[in]modeThe new position inheritance mode.

Definition at line 513 of file node.h.

References mPositionInheritanceMode, SetDirtyFlag(), and Dali::Internal::SceneGraph::TransformFlag.

Referenced by Dali::Internal::SceneGraph::SetPositionInheritanceModeMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetRoot ( bool  isRoot)

Set whether a node is the root node.

Root nodes cannot have a parent node. This method should only be called by UpdateManager.

Precondition
When isRoot is true, the node must not have a parent.
Parameters
[in]isRootWhether the node is now a root node.

Definition at line 117 of file node.cpp.

References DALI_ASSERT_DEBUG, mIsRoot, and mParent.

Referenced by Dali::Internal::SceneGraph::UpdateManager::InstallRoot().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetWorldColor ( const Vector4 color,
BufferIndex  updateBufferIndex 
)
inline

Sets the color of the node derived from the color of all its parents.

Parameters
[in]colorThe world color.
[in]updateBufferIndexThe current update buffer index.

Definition at line 738 of file node.h.

References mWorldColor, and Dali::Internal::SceneGraph::InheritedColor::Set().

Referenced by Dali::Internal::SceneGraph::UpdateRootNodeOpacity().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetWorldMatrix ( BufferIndex  updateBufferIndex,
const Vector3 scale,
const Quaternion rotation,
const Vector3 translation 
)
inline

Set the world-matrix of a node, with scale + rotation + translation.

Scale and rotation are centered at the origin. Translation is applied independently of the scale or rotatation axis.

Parameters
[in]updateBufferIndexThe current update buffer index.
[in]scaleThe scale.
[in]rotationThe rotation.
[in]translationThe translation.

Definition at line 835 of file node.h.

References Dali::Internal::SceneGraph::InheritedMatrix::Get(), mWorldMatrix, Dali::Internal::SceneGraph::InheritedMatrix::SetDirty(), and Dali::Matrix::SetTransformComponents().

Referenced by Dali::Internal::SceneGraph::UpdateNodeWorldMatrix().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetWorldOrientation ( BufferIndex  updateBufferIndex,
const Quaternion orientation 
)
inline

Sets the orientation of the node derived from the rotation of all its parents.

Parameters
[in]updateBufferIndexThe current update buffer index.
[in]orientationThe world orientation.

Definition at line 553 of file node.h.

References mWorldOrientation, and Dali::Internal::SceneGraph::InheritedQuaternion::Set().

Referenced by Dali::Internal::SceneGraph::UpdateNodeTransformValues(), and Dali::Internal::SceneGraph::UpdateRootNodeTransformValues().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetWorldPosition ( BufferIndex  updateBufferIndex,
const Vector3 position 
)
inline

Sets the world of the node derived from the position of all its parents.

Parameters
[in]updateBufferIndexThe current update buffer index.
[in]positionThe world position.

Definition at line 393 of file node.h.

References mWorldPosition, and Dali::Internal::SceneGraph::InheritedVector3::Set().

Referenced by Dali::Internal::SceneGraph::UpdateRootNodeTransformValues().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::Node::SetWorldScale ( BufferIndex  updateBufferIndex,
const Vector3 scale 
)
inline

Sets the scale of the node derived from the scale of all its parents and a pre-scale.

Parameters
[in]updateBufferIndexThe current update buffer index.
[in]scaleThe world scale.

Definition at line 641 of file node.h.

References mWorldScale, and Dali::Internal::SceneGraph::InheritedVector3::Set().

Referenced by Dali::Internal::SceneGraph::UpdateNodeTransformValues(), and Dali::Internal::SceneGraph::UpdateRootNodeTransformValues().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

Dali::Internal::SceneGraph::Node::DALI_LOG_OBJECT_STRING_DECLARATION
protected

Definition at line 1052 of file node.h.

const ColorMode Dali::Internal::SceneGraph::Node::DEFAULT_COLOR_MODE
static

Definition at line 100 of file node.h.

const PositionInheritanceMode Dali::Internal::SceneGraph::Node::DEFAULT_POSITION_INHERITANCE_MODE
static

Definition at line 99 of file node.h.

PropertyVector3 Dali::Internal::SceneGraph::Node::mAnchorPoint

Local transform; local center of rotation. Sets the TransformFlag dirty when changed.

Definition at line 1008 of file node.h.

Referenced by GetAnchorPoint(), GetDirtyFlags(), Dali::Internal::Actor::GetSceneObjectInputProperty(), InheritWorldPosition(), ResetDefaultProperties(), and SetAnchorPoint().

NodeAttachmentOwner Dali::Internal::SceneGraph::Node::mAttachment
protected

Optional owned attachment.

Definition at line 1030 of file node.h.

Referenced by Attach(), ConnectChild(), GetAttachment(), HasAttachment(), OnDestroy(), and RecursiveDisconnectFromSceneGraph().

NodeContainer Dali::Internal::SceneGraph::Node::mChildren
protected

Container of children; not owned.

Definition at line 1033 of file node.h.

Referenced by ConnectChild(), DisconnectChild(), GetChildren(), and RecursiveDisconnectFromSceneGraph().

CollectedUniformMap Dali::Internal::SceneGraph::Node::mCollectedUniformMap[2]
protected

Uniform maps of the node.

Definition at line 1035 of file node.h.

Referenced by GetUniformMap(), and PrepareRender().

AnimatableProperty<Vector4> Dali::Internal::SceneGraph::Node::mColor
ColorMode Dali::Internal::SceneGraph::Node::mColorMode
protected

Determines whether mWorldColor is inherited, 2 bits is enough.

Definition at line 1049 of file node.h.

Referenced by GetColorMode(), InheritWorldColor(), and SetColorMode().

unsigned short Dali::Internal::SceneGraph::Node::mDepth
protected

Depth in the hierarchy.

Definition at line 1040 of file node.h.

Referenced by GetDepth(), RecursiveDisconnectFromSceneGraph(), and SetParent().

int Dali::Internal::SceneGraph::Node::mDirtyFlags
protected

A composite set of flags for each of the Node properties.

Definition at line 1041 of file node.h.

Referenced by AddRenderer(), GetDirtyFlags(), ResetDefaultProperties(), SetAllDirtyFlags(), and SetDirtyFlag().

DrawMode::Type Dali::Internal::SceneGraph::Node::mDrawMode
protected

How the Node and its children should be drawn.

Definition at line 1047 of file node.h.

Referenced by GetDrawMode(), and SetDrawMode().

RenderTask* Dali::Internal::SceneGraph::Node::mExclusiveRenderTask
protected

Nodes can be marked as exclusive to a single RenderTask.

Definition at line 1028 of file node.h.

Referenced by GetExclusiveRenderTask(), and SetExclusiveRenderTask().

bool Dali::Internal::SceneGraph::Node::mInheritOrientation
protected

Whether the parent's orientation should be inherited.

Definition at line 1044 of file node.h.

Referenced by IsOrientationInherited(), and SetInheritOrientation().

bool Dali::Internal::SceneGraph::Node::mInheritScale
protected

Whether the parent's scale should be inherited.

Definition at line 1045 of file node.h.

Referenced by IsScaleInherited(), and SetInheritScale().

bool Dali::Internal::SceneGraph::Node::mIsRoot
protected

True if the node cannot have a parent.

Definition at line 1043 of file node.h.

Referenced by IsRoot(), RecursiveDisconnectFromSceneGraph(), SetParent(), and SetRoot().

AnimatableProperty<Quaternion> Dali::Internal::SceneGraph::Node::mOrientation
Node* Dali::Internal::SceneGraph::Node::mParent
protected

Pointer to parent node (a child is owned by its parent)

Definition at line 1027 of file node.h.

Referenced by ConnectChild(), GetParent(), InheritWorldColor(), InheritWorldOrientation(), InheritWorldPosition(), InheritWorldScale(), RecursiveDisconnectFromSceneGraph(), SetParent(), and SetRoot().

PropertyVector3 Dali::Internal::SceneGraph::Node::mParentOrigin

Local transform; the position is relative to this. Sets the TransformFlag dirty when changed.

Definition at line 1007 of file node.h.

Referenced by GetDirtyFlags(), GetParentOrigin(), Dali::Internal::Actor::GetSceneObjectInputProperty(), InheritWorldPosition(), ResetDefaultProperties(), and SetParentOrigin().

AnimatableProperty<Vector3> Dali::Internal::SceneGraph::Node::mPosition
PositionInheritanceMode Dali::Internal::SceneGraph::Node::mPositionInheritanceMode
protected

Determines how position is inherited, 2 bits is enough.

Definition at line 1048 of file node.h.

Referenced by GetPositionInheritanceMode(), InheritWorldPosition(), and SetPositionInheritanceMode().

unsigned int Dali::Internal::SceneGraph::Node::mRegenerateUniformMap
protected

Indicate if the uniform map has to be regenerated this frame.

Definition at line 1037 of file node.h.

Referenced by AddUniformMapping(), PrepareRender(), and RemoveUniformMapping().

RendererContainer Dali::Internal::SceneGraph::Node::mRenderer
protected

Container of renderers; not owned.

Definition at line 1031 of file node.h.

Referenced by AddRenderer(), GetRendererAt(), GetRendererCount(), and RemoveRenderer().

AnimatableProperty<Vector3> Dali::Internal::SceneGraph::Node::mScale
AnimatableProperty<Vector3> Dali::Internal::SceneGraph::Node::mSize
unsigned int Dali::Internal::SceneGraph::Node::mUniformMapChanged[2]
protected

Records if the uniform map has been altered this frame.

Definition at line 1036 of file node.h.

Referenced by GetUniformMapChanged(), Node(), and PrepareRender().

AnimatableProperty<bool> Dali::Internal::SceneGraph::Node::mVisible
InheritedColor Dali::Internal::SceneGraph::Node::mWorldColor
InheritedMatrix Dali::Internal::SceneGraph::Node::mWorldMatrix

Full inherited world matrix.

Definition at line 1022 of file node.h.

Referenced by CopyPreviousWorldMatrix(), Dali::Internal::Actor::GetSceneObjectInputProperty(), GetWorldMatrix(), and SetWorldMatrix().

InheritedQuaternion Dali::Internal::SceneGraph::Node::mWorldOrientation
InheritedVector3 Dali::Internal::SceneGraph::Node::mWorldPosition
InheritedVector3 Dali::Internal::SceneGraph::Node::mWorldScale

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