void Skin::Initialize() { Base::Initialize(); m_Mesh = Reflect::SafeCast< Mesh > ( m_Owner->FindNode( m_MeshID ) ); if ( m_Mesh ) { // Make this a dependency of the mesh m_Mesh->CreateDependency( this ); // Dereference influence objects std::vector<TUID>::const_iterator infItr = m_InfluenceObjectIDs.begin(); std::vector<TUID>::const_iterator infEnd = m_InfluenceObjectIDs.end(); for ( ; infItr != infEnd; ++infItr ) { SceneNode* obj = m_Owner->FindNode( *infItr ); Transform* transform = Reflect::SafeCast< Transform >( obj ); HELIUM_ASSERT( transform ); if ( transform ) { m_InfluenceObjects.push_back( transform ); CreateDependency( transform ); transform->Dirty(); } } } }