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 "COLLADASaxFWLCOLLADACsymbol.h" 13 14 #include "MathMLASTVisitor.h" 15 16 17 namespace COLLADASaxFWL 18 { 19 20 //------------------------------ COLLADACsymbol(const SidAddress & sidAddress)21 COLLADACsymbol::COLLADACsymbol( const SidAddress& sidAddress) 22 : mSidAddress(sidAddress) 23 , mFunctionName() 24 , mFormulaUniqueId(COLLADAFW::UniqueId::INVALID) 25 , mCSymbolType(PARAMETER) 26 , mParameterList() 27 { 28 29 } 30 31 //------------------------------ COLLADACsymbol(const String & functionName,const COLLADAFW::UniqueId & formulaUniqueId)32 COLLADACsymbol::COLLADACsymbol( const String& functionName, const COLLADAFW::UniqueId& formulaUniqueId ) 33 : mSidAddress() 34 , mFunctionName(functionName) 35 , mFormulaUniqueId(formulaUniqueId) 36 , mCSymbolType(FUNCTION) 37 , mParameterList() 38 { 39 40 } 41 42 //------------------------------ ~COLLADACsymbol()43 COLLADACsymbol::~COLLADACsymbol() 44 { 45 } 46 47 //------------------------------ accept(MathML::AST::IVisitor * visitor) const48 void COLLADACsymbol::accept( MathML::AST::IVisitor* visitor ) const 49 { 50 visitor->visit( this ); 51 } 52 53 //----------------------------------------------------------------- clone(CloneFlags cloneFlags) const54 MathML::AST::INode* COLLADACsymbol::clone(CloneFlags cloneFlags) const 55 { 56 COLLADACsymbol* copy = 0; 57 if ( mCSymbolType == PARAMETER) 58 { 59 copy = new COLLADACsymbol( mSidAddress ); 60 } 61 else 62 { 63 copy = new COLLADACsymbol( mFunctionName, mFormulaUniqueId ); 64 } 65 return copy; 66 } 67 68 //------------------------------ getFormulaUniqueId() const69 const COLLADAFW::UniqueId& COLLADACsymbol::getFormulaUniqueId() const 70 { 71 return mFormulaUniqueId; 72 } 73 74 //------------------------------ getFunctionName() const75 const String& COLLADACsymbol::getFunctionName() const 76 { 77 return mFunctionName; 78 } 79 80 81 } // namespace COLLADASaxFWL 82