1 /* 2 Copyright (c) 2008-2009 NetAllied Systems GmbH 3 4 This file is part of COLLADASaxFrameworkLoader. 5 6 Licensed under the MIT Open Source License, 7 for details please see LICENSE file or the website 8 http://www.opensource.org/licenses/mit-license.php 9 */ 10 11 #include "COLLADASaxFWLStableHeaders.h" 12 #include "COLLADASaxFWLLibraryNodesLoader.h" 13 #include "COLLADASaxFWLFileLoader.h" 14 15 #include "COLLADAFWIWriter.h" 16 #include "COLLADAFWLibraryNodes.h" 17 18 19 namespace COLLADASaxFWL 20 { 21 22 //------------------------------ LibraryNodesLoader(IFilePartLoader * callingFilePartLoader)23 LibraryNodesLoader::LibraryNodesLoader(IFilePartLoader* callingFilePartLoader) 24 : FilePartLoader(callingFilePartLoader), 25 mLibraryNodes(new COLLADAFW::LibraryNodes()) 26 { 27 NodeLoader::setHandlingFilePartLoader(this); 28 } 29 30 //------------------------------ ~LibraryNodesLoader()31 LibraryNodesLoader::~LibraryNodesLoader() 32 { 33 } 34 35 //------------------------------ getUniqueId()36 const COLLADAFW::UniqueId& LibraryNodesLoader::getUniqueId () 37 { 38 if ( !mNodeStack.empty() ) 39 return mNodeStack.top()->getUniqueId(); 40 return COLLADAFW::UniqueId::INVALID; 41 } 42 43 //------------------------------ handleRootNode(COLLADAFW::Node * rootNode)44 void LibraryNodesLoader::handleRootNode( COLLADAFW::Node* rootNode ) 45 { 46 mLibraryNodes->getNodes().append(rootNode); 47 } 48 49 //------------------------------ begin__node(const node__AttributeData & attributeData)50 bool LibraryNodesLoader::begin__node( const node__AttributeData& attributeData ) 51 { 52 return beginNode(attributeData); 53 } 54 55 //------------------------------ end__node()56 bool LibraryNodesLoader::end__node() 57 { 58 return endNode(); 59 } 60 61 //------------------------------ end__library_nodes()62 bool LibraryNodesLoader::end__library_nodes() 63 { 64 moveUpInSidTree(); 65 getFileLoader()->addLibraryNodes(mLibraryNodes); 66 finish(); 67 return true; 68 } 69 70 } // namespace COLLADASaxFWL 71