#include <dali/internal/common/internal-constants.h>
#include <dali/internal/common/memory-pool-object-allocator.h>
#include <dali/internal/update/common/discard-queue.h>
-#include <dali/internal/update/manager/geometry-batcher.h>
#include <dali/public-api/common/dali-common.h>
#include <dali/public-api/common/constants.h>
}
Node::Node()
-: mTransformManager( NULL ),
+: mTransformManager(0),
mTransformId( INVALID_TRANSFORM_ID ),
mParentOrigin( TRANSFORM_PROPERTY_PARENT_ORIGIN ),
mAnchorPoint( TRANSFORM_PROPERTY_ANCHOR_POINT ),
mWorldOrientation(), // initialized to identity by default
mWorldMatrix(),
mWorldColor( Color::WHITE ),
- mGeometryBatcher( NULL ),
- mBatchIndex( BATCH_NULL_HANDLE ),
- mIsBatchParent( false ),
mParent( NULL ),
- mBatchParent( NULL ),
mExclusiveRenderTask( NULL ),
mChildren(),
mRegenerateUniformMap( 0 ),
found->RecursiveDisconnectFromSceneGraph( updateBufferIndex );
}
-void Node::AddRenderer( Renderer* renderer )
-{
- //Check that it has not been already added
- unsigned int rendererCount( mRenderer.Size() );
- for( unsigned int i(0); i<rendererCount; ++i )
- {
- if( mRenderer[i] == renderer )
- {
- //Renderer already in the list
- return;
- }
- }
-
- //If it is the first renderer added, make sure the world transform will be calculated
- //in the next update as world transform is not computed if node has no renderers
- if( rendererCount == 0 )
- {
- mDirtyFlags |= TransformFlag;
- }
-
- mRenderer.PushBack( renderer );
-
- // Tell geometry batcher if should batch the child
- if( mRenderer.Size() == 1 && mRenderer[0]->mBatchingEnabled )
- {
- mGeometryBatcher->AddNode( this );
- }
-}
-
void Node::RemoveRenderer( Renderer* renderer )
{
unsigned int rendererCount( mRenderer.Size() );
mDirtyFlags = NothingFlag;
}
-void Node::SetParent( Node& parentNode )
+void Node::SetParent(Node& parentNode)
{
DALI_ASSERT_ALWAYS(this != &parentNode);
DALI_ASSERT_ALWAYS(!mIsRoot);
}
}
-void Node::SetBatchParent( Node* batchParentNode )
-{
- DALI_ASSERT_ALWAYS(!mIsRoot);
- mBatchParent = batchParentNode;
-}
-
-void Node::SetIsBatchParent( bool enabled )
-{
- if( mIsBatchParent != enabled )
- {
- mIsBatchParent = enabled;
-
- if( enabled )
- {
- mGeometryBatcher->AddBatchParent( this );
- }
- else
- {
- mGeometryBatcher->RemoveBatchParent( this );
- }
- }
-}
-
void Node::RecursiveDisconnectFromSceneGraph( BufferIndex updateBufferIndex )
{
DALI_ASSERT_ALWAYS(!mIsRoot);