mPosition( TRANSFORM_PROPERTY_POSITION ), // Zero initialized by default
mOrientation(), // Initialized to identity by default
mScale( TRANSFORM_PROPERTY_SCALE ),
- mUpdateSizeHint( TRANSFORM_PROPERTY_UPDATE_SIZE_HINT ),
mVisible( true ),
mCulled( false ),
mColor( Color::WHITE ),
{
mUniformMapChanged[0] = 0u;
mUniformMapChanged[1] = 0u;
- mPropertyDirty = false;
#ifdef DEBUG_ENABLED
gNodeCount++;
//Initialize all the animatable properties
mPosition.Initialize( transformManager, mTransformId );
mScale.Initialize( transformManager, mTransformId );
- mUpdateSizeHint.Initialize( transformManager, mTransformId );
mOrientation.Initialize( transformManager, mTransformId );
mSize.Initialize( transformManager, mTransformId );
mParentOrigin.Initialize( transformManager, mTransformId );
}
mRenderer.PushBack( renderer );
- SetPropertyDirty( true );
}
void Node::RemoveRenderer( const Renderer* renderer )
{
if( mRenderer[i] == renderer )
{
- SetPropertyDirty( true );
mRenderer.Erase( mRenderer.Begin()+i);
return;
}
void Node::ResetDirtyFlags( BufferIndex updateBufferIndex )
{
mDirtyFlags = NodePropertyFlags::NOTHING;
-
- SetPropertyDirty( false );
-
- for( auto&& existingRenderer : mRenderer )
- {
- existingRenderer->SetDirty( false );
- }
-
}
void Node::SetParent( Node& parentNode )
}
}
-void Node::SetPropertyDirty( bool value )
-{
- mPropertyDirty = value;
-
- const NodeIter endIter = mChildren.End();
- for ( NodeIter iter = mChildren.Begin(); iter != endIter; ++iter )
- {
- Node* current = *iter;
- current->SetPropertyDirty( value );
- }
-}
-
-bool Node::IsPropertyDirty() const
-{
- for( auto&& existingRenderer : mRenderer )
- {
- if( existingRenderer->IsDirty() )
- {
- return true;
- }
- }
-
- return mPropertyDirty;
-}
-
} // namespace SceneGraph
} // namespace Internal