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 #ifndef __COLLADASAXFWL_INSTANCEKINEMATICSMODELLOADER_H__
12 #define __COLLADASAXFWL_INSTANCEKINEMATICSMODELLOADER_H__
13 
14 #include "COLLADASaxFWLPrerequisites.h"
15 
16 
17 namespace COLLADASaxFWL
18 {
19 	class KinematicsInstanceKinematicsModel;
20 	class KinematicsNewParam;
21 
22     /** TODO Documentation */
23 	class InstanceKinematicsModelLoader
24 	{
25 	private:
26 		/** The instance KinematicsModel currently being filled.*/
27 		KinematicsInstanceKinematicsModel* mCurrentKinematicsInstanceKinematicsModel;
28 
29 		/** The formula new param currently being parsed.*/
30 		KinematicsNewParam* mCurrentKinematicsNewParam;
31 
32 		/** The sid of the current new param.*/
33 		String mCurrentKinematicsNewParamSid;
34 
35 		/** Used to gather all the characters of a sid ref.*/
36 		String mSidRefString;
37 
38 
39 	public:
40 
41         /** Constructor. */
42 		InstanceKinematicsModelLoader();
43 
44         /** Destructor. */
45 		virtual ~InstanceKinematicsModelLoader();
46 
47 		/** The instance KinematicsModel currently being filled.*/
setCurrentInstanceKinematicsModel(KinematicsInstanceKinematicsModel * val)48 		void setCurrentInstanceKinematicsModel(KinematicsInstanceKinematicsModel* val) { mCurrentKinematicsInstanceKinematicsModel = val; }
49 
50 		bool begin__newparam____kinematics_newparam_type( const newparam____kinematics_newparam_type__AttributeData& attributeData );
51 		bool end__newparam____kinematics_newparam_type();
52 
53 		bool begin__float();
54 		bool end__float();
55 		bool data__float( float value );
56 
57 		bool begin__int();
58 		bool end__int();
59 		bool data__int( int value );
60 
61 		bool begin__bool();
62 		bool end__bool();
63 		bool data__bool( bool value );
64 
65 		bool begin__SIDREF();
66 		bool end__SIDREF();
67 		bool data__SIDREF( const ParserChar* value, size_t length );
68 
69 
70 	private:
71 
72         /** Disable default copy ctor. */
73 		InstanceKinematicsModelLoader( const InstanceKinematicsModelLoader& pre );
74 
75         /** Disable default assignment operator. */
76 		const InstanceKinematicsModelLoader& operator= ( const InstanceKinematicsModelLoader& pre );
77 
78 	};
79 
80 } // namespace COLLADASAXFWL
81 
82 #endif // __COLLADASAXFWL_INSTANCEKINEMATICSMODELLOADER_H__
83