PropertyOwner::~PropertyOwner()
{
- DisconnectFromSceneGraph();
+ Destroy();
}
void PropertyOwner::AddObserver(Observer& observer)
return mObservers.Count() != 0u;
}
-void PropertyOwner::DisconnectFromSceneGraph()
+void PropertyOwner::Destroy()
{
// Notification for observers
const ConstObserverIter endIter = mObservers.End();
mConstraints.Clear();
}
+void PropertyOwner::ConnectToSceneGraph()
+{
+ // Notification for observers
+ const ConstObserverIter endIter = mObservers.End();
+ for( ConstObserverIter iter = mObservers.Begin(); iter != endIter; ++iter)
+ {
+ (*iter)->PropertyOwnerConnected( *this );
+ }
+}
+
+void PropertyOwner::DisconnectFromSceneGraph( BufferIndex updateBufferIndex )
+{
+ // Notification for observers
+ const ConstObserverIter endIter = mObservers.End();
+ for( ConstObserverIter iter = mObservers.Begin(); iter != endIter; ++iter)
+ {
+ (*iter)->PropertyOwnerDisconnected( updateBufferIndex, *this );
+ }
+
+ // Remove all constraints when disconnected from scene-graph
+ mConstraints.Clear();
+}
+
void PropertyOwner::InstallCustomProperty(PropertyBase* property)
{
DALI_ASSERT_DEBUG( NULL != property );
(*iter)->ResetToBaseValue( updateBufferIndex );
}
- // Reset constraint weights
- const ConstraintIter constraintEndIter = mConstraints.End();
- for( ConstraintIter iter = mConstraints.Begin(); constraintEndIter != iter; ++iter )
- {
- (*iter)->mWeight.ResetToBaseValue( updateBufferIndex );
- }
-
// Notification for derived classes, to reset default properties
ResetDefaultProperties( updateBufferIndex );
}
void PropertyOwner::RemoveConstraint( ConstraintBase* constraint )
{
- // Reset constraint weights
const ConstraintIter constraintEndIter = mConstraints.End();
for( ConstraintIter iter = mConstraints.Begin(); constraintEndIter != iter; ++iter )
{
{
}
+void PropertyOwner::AddUniformMapping( UniformPropertyMapping* map )
+{
+ mUniformMaps.Add( map );
+}
+
+void PropertyOwner::RemoveUniformMapping( const std::string& uniformName )
+{
+ mUniformMaps.Remove( uniformName );
+}
+
+const UniformMap& PropertyOwner::GetUniformMap() const
+{
+ return mUniformMaps;
+}
+
+void PropertyOwner::AddUniformMapObserver( UniformMap::Observer& observer )
+{
+ mUniformMaps.AddObserver( observer );
+}
+
+void PropertyOwner::RemoveUniformMapObserver( UniformMap::Observer& observer )
+{
+ mUniformMaps.RemoveObserver( observer );
+}
+
+
+
} // namespace SceneGraph
} // namespace Internal