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 "COLLADASaxFWLInstanceArticulatedSystemLoader.h" 13 14 15 namespace COLLADASaxFWL 16 { 17 18 //------------------------------ InstanceArticulatedSystemLoader()19 InstanceArticulatedSystemLoader::InstanceArticulatedSystemLoader() 20 : mInstanceArticulatedSystem(0) 21 , mCurrentBind(0) 22 { 23 } 24 25 //------------------------------ ~InstanceArticulatedSystemLoader()26 InstanceArticulatedSystemLoader::~InstanceArticulatedSystemLoader() 27 { 28 } 29 30 //------------------------------ begin__bind____kinematics_bind_type(const bind____kinematics_bind_type__AttributeData & attributeData)31 bool InstanceArticulatedSystemLoader::begin__bind____kinematics_bind_type( const bind____kinematics_bind_type__AttributeData& attributeData ) 32 { 33 if ( !mInstanceArticulatedSystem ) 34 { 35 return true; 36 } 37 mCurrentBind = new KinematicsBind(); 38 return true; 39 } 40 41 //------------------------------ end__bind____kinematics_bind_type()42 bool InstanceArticulatedSystemLoader::end__bind____kinematics_bind_type() 43 { 44 if ( !mInstanceArticulatedSystem ) 45 { 46 return true; 47 } 48 mInstanceArticulatedSystem->addBind(mCurrentBind); 49 mCurrentBind = 0; 50 return true; 51 } 52 53 //------------------------------ begin__param____kinematics_param_type(const param____kinematics_param_type__AttributeData & attributeData)54 bool InstanceArticulatedSystemLoader::begin__param____kinematics_param_type( const param____kinematics_param_type__AttributeData& attributeData ) 55 { 56 if ( !mInstanceArticulatedSystem || !mCurrentBind || !attributeData.ref) 57 { 58 return true; 59 } 60 mCurrentBind->setParamValue(attributeData.ref); 61 return true; 62 } 63 64 //------------------------------ setInstanceArticulatedSystem(KinematicsInstanceArticulatedSystem * instanceArticulatedSystem)65 void InstanceArticulatedSystemLoader::setInstanceArticulatedSystem( KinematicsInstanceArticulatedSystem* instanceArticulatedSystem ) 66 { 67 mInstanceArticulatedSystem = instanceArticulatedSystem; 68 } 69 70 //------------------------------ getInstanceArticulatedSystem()71 KinematicsInstanceArticulatedSystem* InstanceArticulatedSystemLoader::getInstanceArticulatedSystem() 72 { 73 return mInstanceArticulatedSystem; 74 } 75 76 } // namespace COLLADASaxFWL 77