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