| 2562 | } |
| 2563 | |
| 2564 | SceneInterfacePtr SceneCache::child( const Name &name, SceneCache::MissingBehaviour missingBehaviour ) |
| 2565 | { |
| 2566 | ImplementationPtr impl; |
| 2567 | ReaderImplementation *reader = ReaderImplementation::reader( m_implementation.get(), false ); |
| 2568 | if ( reader ) |
| 2569 | { |
| 2570 | impl = reader->child( name, missingBehaviour ); |
| 2571 | } |
| 2572 | else |
| 2573 | { |
| 2574 | WriterImplementation *writer = WriterImplementation::writer( m_implementation.get() ); |
| 2575 | impl = writer->child( name, missingBehaviour ); |
| 2576 | } |
| 2577 | |
| 2578 | if ( !impl ) |
| 2579 | { |
| 2580 | return nullptr; |
| 2581 | } |
| 2582 | |
| 2583 | return duplicate( impl ); |
| 2584 | } |
| 2585 | |
| 2586 | ConstSceneInterfacePtr SceneCache::child( const Name &name, SceneCache::MissingBehaviour missingBehaviour ) const |
| 2587 | { |