namespace SceneGraph
{
-const PositionInheritanceMode Node::DEFAULT_POSITION_INHERITANCE_MODE( INHERIT_PARENT_POSITION );
const ColorMode Node::DEFAULT_COLOR_MODE( USE_OWN_MULTIPLY_PARENT_ALPHA );
uint32_t Node::mNodeCounter = 0; ///< A counter to provide unique node ids, up-to 4 billion
}
Node::Node()
-: mTransformManager( NULL ),
+: mTransformManager( nullptr ),
mTransformId( INVALID_TRANSFORM_ID ),
mParentOrigin( TRANSFORM_PROPERTY_PARENT_ORIGIN ),
mAnchorPoint( TRANSFORM_PROPERTY_ANCHOR_POINT ),
mVisible( true ),
mCulled( false ),
mColor( Color::WHITE ),
+ mUpdateSizeHint( Vector3::ZERO ),
mWorldPosition( TRANSFORM_PROPERTY_WORLD_POSITION, Vector3( 0.0f,0.0f,0.0f ) ), // Zero initialized by default
mWorldScale( TRANSFORM_PROPERTY_WORLD_SCALE, Vector3( 1.0f,1.0f,1.0f ) ),
mWorldOrientation(), // Initialized to identity by default
mWorldColor( Color::WHITE ),
mClippingSortModifier( 0u ),
mId( ++mNodeCounter ),
- mParent( NULL ),
- mExclusiveRenderTask( NULL ),
+ mParent( nullptr ),
+ mExclusiveRenderTask( nullptr ),
mChildren(),
mClippingDepth( 0u ),
mScissorDepth( 0u ),
mIsRoot = isRoot;
}
-void Node::AddUniformMapping( OwnerPointer< UniformPropertyMapping >& map )
+void Node::AddUniformMapping(const UniformPropertyMapping& map)
{
PropertyOwner::AddUniformMapping( map );
mRegenerateUniformMap = 2;
}
-void Node::RemoveUniformMapping( const std::string& uniformName )
+void Node::RemoveUniformMapping( const ConstString& uniformName )
{
PropertyOwner::RemoveUniformMapping( uniformName );
mRegenerateUniformMap = 2;
}
+bool Node::IsAnimationPossible() const
+{
+ return mIsConnectedToSceneGraph;
+}
+
void Node::PrepareRender( BufferIndex bufferIndex )
{
if( mRegenerateUniformMap != 0 )
for( UniformMap::SizeType i = 0, count=mUniformMaps.Count(); i<count; ++i )
{
- localMap.PushBack( &mUniformMaps[i] );
+ localMap.PushBack(mUniformMaps[i]);
}
}
else if( mRegenerateUniformMap == 1 )
void Node::ConnectChild( Node* childNode )
{
DALI_ASSERT_ALWAYS( this != childNode );
- DALI_ASSERT_ALWAYS( IsRoot() || NULL != mParent ); // Parent should be connected first
- DALI_ASSERT_ALWAYS( !childNode->IsRoot() && NULL == childNode->GetParent() ); // Child should be disconnected
+ DALI_ASSERT_ALWAYS( IsRoot() || nullptr != mParent ); // Parent should be connected first
+ DALI_ASSERT_ALWAYS( !childNode->IsRoot() && nullptr == childNode->GetParent() ); // Child should be disconnected
childNode->SetParent( *this );
DALI_ASSERT_ALWAYS( childNode.GetParent() == this );
// Find the childNode and remove it
- Node* found( NULL );
+ Node* found( nullptr );
const NodeIter endIter = mChildren.End();
for ( NodeIter iter = mChildren.Begin(); iter != endIter; ++iter )
break; // iter is no longer valid
}
}
- DALI_ASSERT_ALWAYS( NULL != found );
+ DALI_ASSERT_ALWAYS( nullptr != found );
found->RecursiveDisconnectFromSceneGraph( updateBufferIndex );
}
mRenderer.PushBack( renderer );
}
-void Node::RemoveRenderer( Renderer* renderer )
+void Node::RemoveRenderer( const Renderer* renderer )
{
RendererContainer::SizeType rendererCount( mRenderer.Size() );
for( RendererContainer::SizeType i = 0; i < rendererCount; ++i )
{
DALI_ASSERT_ALWAYS(this != &parentNode);
DALI_ASSERT_ALWAYS(!mIsRoot);
- DALI_ASSERT_ALWAYS(mParent == NULL);
+ DALI_ASSERT_ALWAYS(mParent == nullptr);
mParent = &parentNode;
void Node::RecursiveDisconnectFromSceneGraph( BufferIndex updateBufferIndex )
{
DALI_ASSERT_ALWAYS(!mIsRoot);
- DALI_ASSERT_ALWAYS(mParent != NULL);
+ DALI_ASSERT_ALWAYS(mParent != nullptr);
const NodeIter endIter = mChildren.End();
for ( NodeIter iter = mChildren.Begin(); iter != endIter; ++iter )
PropertyOwner::DisconnectFromSceneGraph( updateBufferIndex );
// Remove back-pointer to parent
- mParent = NULL;
+ mParent = nullptr;
// Remove all child pointers
mChildren.Clear();