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 "COLLADASaxFWLInstanceKinematicsModelLoader.h" 13 #include "COLLADASaxFWLKinematicsIntermediateData.h" 14 15 16 namespace COLLADASaxFWL 17 { 18 19 //------------------------------ InstanceKinematicsModelLoader()20 InstanceKinematicsModelLoader::InstanceKinematicsModelLoader() 21 : mCurrentKinematicsInstanceKinematicsModel(0) 22 , mCurrentKinematicsNewParam(0) 23 { 24 } 25 26 //------------------------------ ~InstanceKinematicsModelLoader()27 InstanceKinematicsModelLoader::~InstanceKinematicsModelLoader() 28 { 29 } 30 31 //------------------------------ begin__newparam____kinematics_newparam_type(const newparam____kinematics_newparam_type__AttributeData & attributeData)32 bool InstanceKinematicsModelLoader::begin__newparam____kinematics_newparam_type( const newparam____kinematics_newparam_type__AttributeData& attributeData ) 33 { 34 if ( attributeData.sid ) 35 { 36 mCurrentKinematicsNewParamSid = attributeData.sid; 37 } 38 return true; 39 } 40 41 //------------------------------ end__newparam____kinematics_newparam_type()42 bool InstanceKinematicsModelLoader::end__newparam____kinematics_newparam_type() 43 { 44 if ( mCurrentKinematicsInstanceKinematicsModel ) 45 { 46 mCurrentKinematicsInstanceKinematicsModel->addKinematicsNewParam(mCurrentKinematicsNewParam); 47 } 48 mCurrentKinematicsNewParamSid.clear(); 49 mCurrentKinematicsNewParam = 0; 50 return true; 51 } 52 53 //----------------------------------------------------------------- begin__float()54 bool InstanceKinematicsModelLoader::begin__float() 55 { 56 mCurrentKinematicsNewParam = new KinematicsNewParam(KinematicsNewParam::VALUETYPE_FLOAT); 57 mCurrentKinematicsNewParam->setName(mCurrentKinematicsNewParamSid); 58 return true; 59 } 60 61 //----------------------------------------------------------------- end__float()62 bool InstanceKinematicsModelLoader::end__float() 63 { 64 return true; 65 } 66 67 //----------------------------------------------------------------- data__float(float value)68 bool InstanceKinematicsModelLoader::data__float( float value ) 69 { 70 mCurrentKinematicsNewParam->setDoubleValue( value ); 71 return true; 72 } 73 74 //----------------------------------------------------------------- begin__int()75 bool InstanceKinematicsModelLoader::begin__int() 76 { 77 mCurrentKinematicsNewParam = new KinematicsNewParam(KinematicsNewParam::VALUETYPE_INT); 78 mCurrentKinematicsNewParam->setName(mCurrentKinematicsNewParamSid); 79 return true; 80 } 81 82 //----------------------------------------------------------------- end__int()83 bool InstanceKinematicsModelLoader::end__int() 84 { 85 return true; 86 } 87 88 //----------------------------------------------------------------- data__int(int value)89 bool InstanceKinematicsModelLoader::data__int( int value ) 90 { 91 mCurrentKinematicsNewParam->setIntValue( value ); 92 return true; 93 } 94 95 //----------------------------------------------------------------- begin__bool()96 bool InstanceKinematicsModelLoader::begin__bool() 97 { 98 mCurrentKinematicsNewParam = new KinematicsNewParam(KinematicsNewParam::VALUETYPE_BOOL); 99 mCurrentKinematicsNewParam->setName(mCurrentKinematicsNewParamSid); 100 return true; 101 } 102 103 //----------------------------------------------------------------- end__bool()104 bool InstanceKinematicsModelLoader::end__bool() 105 { 106 return true; 107 } 108 109 //----------------------------------------------------------------- data__bool(bool value)110 bool InstanceKinematicsModelLoader::data__bool( bool value ) 111 { 112 mCurrentKinematicsNewParam->setBoolValue( value ); 113 return true; 114 } 115 116 //----------------------------------------------------------------- begin__SIDREF()117 bool InstanceKinematicsModelLoader::begin__SIDREF() 118 { 119 mCurrentKinematicsNewParam = new KinematicsNewParam(KinematicsNewParam::VALUETYPE_SIDREF); 120 mCurrentKinematicsNewParam->setName(mCurrentKinematicsNewParamSid); 121 return true; 122 } 123 124 //----------------------------------------------------------------- end__SIDREF()125 bool InstanceKinematicsModelLoader::end__SIDREF() 126 { 127 mCurrentKinematicsNewParam->setSidrefValue( mSidRefString ); 128 mSidRefString.clear(); 129 return true; 130 } 131 132 //----------------------------------------------------------------- data__SIDREF(const ParserChar * value,size_t length)133 bool InstanceKinematicsModelLoader::data__SIDREF( const ParserChar* value, size_t length ) 134 { 135 mSidRefString.append( value, length ); 136 return true; 137 } 138 139 140 141 } // namespace COLLADASaxFWL 142