source: NonGTP/FCollada/Documentation/_f_c_d_transform_8h-source.html @ 964

Revision 964, 40.2 KB checked in by igarcia, 18 years ago (diff)
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>FCollada: FCDocument/FCDTransform.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.4.6-NO -->
8<div class="tabs">
9  <ul>
10    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11    <li><a href="modules.html"><span>Modules</span></a></li>
12    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13    <li><a href="classes.html"><span>Classes</span></a></li>
14    <li id="current"><a href="files.html"><span>Files</span></a></li>
15    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
16  </ul></div>
17<div class="tabs">
18  <ul>
19    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
20    <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
21  </ul></div>
22<h1>FCDocument/FCDTransform.h</h1><a href="_f_c_d_transform_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
23<a name="l00002"></a>00002 <span class="comment">    Copyright (C) 2005-2006 Feeling Software Inc.</span>
24<a name="l00003"></a>00003 <span class="comment">    MIT License: http://www.opensource.org/licenses/mit-license.php</span>
25<a name="l00004"></a>00004 <span class="comment">*/</span>
26<a name="l00005"></a>00005 <span class="comment">/*</span>
27<a name="l00006"></a>00006 <span class="comment">    Based on the FS Import classes:</span>
28<a name="l00007"></a>00007 <span class="comment">    Copyright (C) 2005-2006 Feeling Software Inc</span>
29<a name="l00008"></a>00008 <span class="comment">    Copyright (C) 2005-2006 Autodesk Media Entertainment</span>
30<a name="l00009"></a>00009 <span class="comment">    MIT License: http://www.opensource.org/licenses/mit-license.php</span>
31<a name="l00010"></a>00010 <span class="comment">*/</span>
32<a name="l00011"></a>00011
33<a name="l00018"></a>00018 <span class="preprocessor">#ifndef _FCD_TRANSFORM_H_</span>
34<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define _FCD_TRANSFORM_H_</span>
35<a name="l00020"></a>00020 <span class="preprocessor"></span>
36<a name="l00021"></a>00021 <span class="keyword">class </span><a class="code" href="class_f_c_document.html">FCDocument</a>;
37<a name="l00022"></a>00022 <span class="keyword">class </span><a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>;
38<a name="l00023"></a>00023
39<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="_f_c_d_object_8h.html">FCDocument/FCDObject.h</a>"</span>
40<a name="l00025"></a>00025
41<a name="l00035"></a><a class="code" href="class_f_c_d_transform.html">00035</a> <span class="keyword">class </span>FCOLLADA_EXPORT <a class="code" href="class_f_c_d_transform.html">FCDTransform</a> : <span class="keyword">public</span> <a class="code" href="class_f_c_d_object.html">FCDObject</a>
42<a name="l00036"></a>00036 {
43<a name="l00037"></a>00037 <span class="keyword">public</span>:
44<a name="l00039"></a><a class="code" href="class_f_c_d_transform.html#13e561c5e53aeaf84dedf4661cdc8921">00039</a>     <span class="keyword">enum</span> <a class="code" href="class_f_c_d_transform.html#13e561c5e53aeaf84dedf4661cdc8921">Type</a>
45<a name="l00040"></a>00040     {
46<a name="l00041"></a>00041         TRANSLATION,
47<a name="l00042"></a>00042         ROTATION,
48<a name="l00043"></a>00043         SCALE,
49<a name="l00044"></a>00044         MATRIX,
50<a name="l00045"></a>00045         LOOKAT,
51<a name="l00046"></a><a class="code" href="class_f_c_d_transform.html#13e561c5e53aeaf84dedf4661cdc892164a79e08a191d674915594b9bdbeb6ad">00046</a>         SKEW
52<a name="l00047"></a>00047     };
53<a name="l00048"></a>00048
54<a name="l00049"></a>00049 <span class="keyword">private</span>:
55<a name="l00050"></a>00050     <a class="code" href="_f_u_object_type_8h.html#8124b8a8706cd10260f8cd5a7bd8e691">DeclareObjectType</a>;
56<a name="l00051"></a>00051     <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* parent;
57<a name="l00052"></a>00052
58<a name="l00053"></a>00053 <span class="keyword">public</span>:
59<a name="l00060"></a>00060     <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>(<a class="code" href="class_f_c_document.html">FCDocument</a>* document, <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* parent);
60<a name="l00061"></a>00061
61<a name="l00064"></a>00064 <span class="keyword">virtual</span> ~<a class="code" href="class_f_c_d_transform.html">FCDTransform</a>();
62<a name="l00065"></a>00065
63<a name="l00069"></a><a class="code" href="class_f_c_d_transform.html#3da9bedb5a4ff62df3ffe10672a34e0a">00069</a>     <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* GetParent() { <span class="keywordflow">return</span> parent; }
64<a name="l00070"></a><a class="code" href="class_f_c_d_transform.html#75778e4996553320c274a21cc120014b">00070</a>     <span class="keyword">const</span> <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* GetParent()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> parent; }
65<a name="l00075"></a>00075 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* Clone(<a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* newParent) = 0;
66<a name="l00076"></a>00076
67<a name="l00080"></a>00080 <span class="keyword">virtual</span> Type GetType() <span class="keyword">const </span>= 0;
68<a name="l00081"></a>00081
69<a name="l00085"></a>00085 <span class="keyword">virtual</span> <a class="code" href="class_f_m_matrix44.html">FMMatrix44</a> ToMatrix() <span class="keyword">const </span>= 0;
70<a name="l00086"></a>00086
71<a name="l00089"></a>00089 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> IsAnimated() <span class="keyword">const </span>= 0;
72<a name="l00090"></a>00090
73<a name="l00094"></a>00094 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_animated.html">FCDAnimated</a>* GetAnimated() = 0;
74<a name="l00095"></a>00095
75<a name="l00102"></a>00102 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> IsInverse(<span class="keyword">const</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* transform) <span class="keyword">const</span>;
76<a name="l00103"></a>00103
77<a name="l00108"></a>00108 <span class="keyword">virtual</span> <a class="code" href="class_f_u_status.html">FUStatus</a> LoadFromXML(xmlNode* transformNode) = 0;
78<a name="l00109"></a>00109
79<a name="l00113"></a>00113 <span class="keyword">virtual</span> xmlNode* WriteToXML(xmlNode* parentNode) <span class="keyword">const </span>= 0;
80<a name="l00114"></a>00114 };
81<a name="l00115"></a>00115
82<a name="l00122"></a><a class="code" href="class_f_c_d_t_translation.html">00122</a> <span class="keyword">class </span>FCOLLADA_EXPORT FCDTTranslation : <span class="keyword">public</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>
83<a name="l00123"></a>00123 {
84<a name="l00124"></a>00124 <span class="keyword">private</span>:
85<a name="l00125"></a>00125     <a class="code" href="_f_u_object_type_8h.html#8124b8a8706cd10260f8cd5a7bd8e691">DeclareObjectType</a>;
86<a name="l00126"></a>00126 <a class="code" href="class_f_m_vector3.html">FMVector3</a> translation;
87<a name="l00127"></a>00127
88<a name="l00128"></a>00128 <span class="keyword">public</span>:
89<a name="l00136"></a>00136     FCDTTranslation(<a class="code" href="class_f_c_document.html">FCDocument</a>* document, <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* parent);
90<a name="l00137"></a>00137     
91<a name="l00140"></a>00140 <span class="keyword">virtual</span> ~FCDTTranslation();
92<a name="l00141"></a>00141
93<a name="l00144"></a><a class="code" href="class_f_c_d_t_translation.html#d72589137729bcf5ea8b88f0ad2b2208">00144</a>     <span class="keyword">virtual</span> Type <a class="code" href="class_f_c_d_transform.html#f406aebcba6215ebc1358a3cf87ab29d">GetType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TRANSLATION; }
94<a name="l00145"></a>00145
95<a name="l00149"></a><a class="code" href="class_f_c_d_t_translation.html#baac0bad48d81857fcdf810236e512b2">00149</a>     <span class="keyword">inline</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetTranslation() { <span class="keywordflow">return</span> translation; }
96<a name="l00150"></a><a class="code" href="class_f_c_d_t_translation.html#77ee6688bbab061a2e1e34a8e373bb86">00150</a>     <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetTranslation()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> translation; }
97<a name="l00154"></a><a class="code" href="class_f_c_d_t_translation.html#5939f2f2de53b653e6d319999c707c89">00154</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetTranslation(<span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; _translation) { translation = _translation; }
98<a name="l00155"></a>00155
99<a name="l00160"></a><a class="code" href="class_f_c_d_t_translation.html#fbb217d569f2b3203f8af60333579b66">00160</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetTranslation(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z) { translation = <a class="code" href="class_f_m_vector3.html">FMVector3</a>(x, y, z); }
100<a name="l00161"></a>00161
101<a name="l00164"></a>00164 <span class="keyword">virtual</span> <a class="code" href="class_f_m_matrix44.html">FMMatrix44</a> <a class="code" href="class_f_c_d_transform.html#fd7fc3c7dc012782ebb2886c5bc13d01">ToMatrix</a>() <span class="keyword">const</span>;
102<a name="l00165"></a>00165
103<a name="l00168"></a>00168 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_f_c_d_transform.html#b12ac63fa2d46fbcf8c025971635cda4">IsAnimated</a>() <span class="keyword">const</span>;
104<a name="l00169"></a>00169
105<a name="l00174"></a>00174 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_animated.html">FCDAnimated</a>* <a class="code" href="class_f_c_d_transform.html#827134177675c23e823dcffdc1c1cdae">GetAnimated</a>();
106<a name="l00175"></a>00175
107<a name="l00181"></a>00181 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_f_c_d_transform.html#9fa1a02a51f833f819248c2ff020507c">IsInverse</a>(<span class="keyword">const</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* transform) <span class="keyword">const</span>;
108<a name="l00182"></a>00182
109<a name="l00186"></a>00186 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* <a class="code" href="class_f_c_d_transform.html#036030bd68c7bf2ba7886b79aeb531f6">Clone</a>(<a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* newParent);
110<a name="l00187"></a>00187
111<a name="l00192"></a>00192 <span class="keyword">virtual</span> <a class="code" href="class_f_u_status.html">FUStatus</a> <a class="code" href="class_f_c_d_transform.html#b6ec75fc9ed1c6d4e03a781c251682fc">LoadFromXML</a>(xmlNode* translationNode);
112<a name="l00193"></a>00193
113<a name="l00197"></a>00197 <span class="keyword">virtual</span> xmlNode* <a class="code" href="class_f_c_d_transform.html#cd254f154a32d1e313001ee4d693162a">WriteToXML</a>(xmlNode* parentNode) <span class="keyword">const</span>;
114<a name="l00198"></a>00198 };
115<a name="l00199"></a>00199
116<a name="l00205"></a><a class="code" href="class_f_c_d_t_scale.html">00205</a> <span class="keyword">class </span>FCOLLADA_EXPORT FCDTScale : <span class="keyword">public</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>
117<a name="l00206"></a>00206 {
118<a name="l00207"></a>00207 <span class="keyword">private</span>:
119<a name="l00208"></a>00208     <a class="code" href="_f_u_object_type_8h.html#8124b8a8706cd10260f8cd5a7bd8e691">DeclareObjectType</a>;
120<a name="l00209"></a>00209 <a class="code" href="class_f_m_vector3.html">FMVector3</a> scale;
121<a name="l00210"></a>00210
122<a name="l00211"></a>00211 <span class="keyword">public</span>:
123<a name="l00219"></a>00219     FCDTScale(<a class="code" href="class_f_c_document.html">FCDocument</a>* document, <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* parent);
124<a name="l00220"></a>00220
125<a name="l00223"></a>00223 <span class="keyword">virtual</span> ~FCDTScale();
126<a name="l00224"></a>00224
127<a name="l00227"></a><a class="code" href="class_f_c_d_t_scale.html#69a9e36fcc1a3ba516a3a0f47c37db61">00227</a>     <span class="keyword">virtual</span> Type <a class="code" href="class_f_c_d_transform.html#f406aebcba6215ebc1358a3cf87ab29d">GetType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SCALE; }
128<a name="l00228"></a>00228
129<a name="l00232"></a><a class="code" href="class_f_c_d_t_scale.html#9c46eecf23f102b7c1d5508494d4eac7">00232</a>     <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetScale() { <span class="keywordflow">return</span> scale; }
130<a name="l00233"></a><a class="code" href="class_f_c_d_t_scale.html#ba6fb425e9a782044dced64f8fc57421">00233</a>     <span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetScale()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> scale; }
131<a name="l00237"></a><a class="code" href="class_f_c_d_t_scale.html#4fb83f56790d88afeaf43dea90b710e7">00237</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetScale(<span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; _scale) { scale = _scale; }
132<a name="l00238"></a>00238
133<a name="l00243"></a><a class="code" href="class_f_c_d_t_scale.html#4354c67b84bca84d5f73ed0e34d8ac29">00243</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetScale(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z) { scale = <a class="code" href="class_f_m_vector3.html">FMVector3</a>(x, y, z); }
134<a name="l00244"></a>00244
135<a name="l00247"></a>00247 <span class="keyword">virtual</span> <a class="code" href="class_f_m_matrix44.html">FMMatrix44</a> <a class="code" href="class_f_c_d_transform.html#fd7fc3c7dc012782ebb2886c5bc13d01">ToMatrix</a>() <span class="keyword">const</span>;
136<a name="l00248"></a>00248
137<a name="l00251"></a>00251 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_f_c_d_transform.html#b12ac63fa2d46fbcf8c025971635cda4">IsAnimated</a>() <span class="keyword">const</span>;
138<a name="l00252"></a>00252
139<a name="l00257"></a>00257 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_animated.html">FCDAnimated</a>* <a class="code" href="class_f_c_d_transform.html#827134177675c23e823dcffdc1c1cdae">GetAnimated</a>();
140<a name="l00258"></a>00258
141<a name="l00262"></a>00262 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* <a class="code" href="class_f_c_d_transform.html#036030bd68c7bf2ba7886b79aeb531f6">Clone</a>(<a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* newParent);
142<a name="l00263"></a>00263
143<a name="l00268"></a>00268 <span class="keyword">virtual</span> <a class="code" href="class_f_u_status.html">FUStatus</a> <a class="code" href="class_f_c_d_transform.html#b6ec75fc9ed1c6d4e03a781c251682fc">LoadFromXML</a>(xmlNode* scaleNode);
144<a name="l00269"></a>00269
145<a name="l00273"></a>00273 <span class="keyword">virtual</span> xmlNode* <a class="code" href="class_f_c_d_transform.html#cd254f154a32d1e313001ee4d693162a">WriteToXML</a>(xmlNode* parentNode) <span class="keyword">const</span>;
146<a name="l00274"></a>00274 };
147<a name="l00275"></a>00275
148<a name="l00283"></a><a class="code" href="class_f_c_d_t_rotation.html">00283</a> <span class="keyword">class </span>FCOLLADA_EXPORT FCDTRotation : <span class="keyword">public</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>
149<a name="l00284"></a>00284 {
150<a name="l00285"></a>00285 <span class="keyword">private</span>:
151<a name="l00286"></a>00286     <a class="code" href="_f_u_object_type_8h.html#8124b8a8706cd10260f8cd5a7bd8e691">DeclareObjectType</a>;
152<a name="l00287"></a>00287 <span class="keywordtype">float</span> angle;
153<a name="l00288"></a>00288 <a class="code" href="class_f_m_vector3.html">FMVector3</a> axis;
154<a name="l00289"></a>00289
155<a name="l00290"></a>00290 <span class="keyword">public</span>:
156<a name="l00298"></a>00298     FCDTRotation(<a class="code" href="class_f_c_document.html">FCDocument</a>* document, <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* parent);
157<a name="l00299"></a>00299     
158<a name="l00302"></a>00302 <span class="keyword">virtual</span> ~FCDTRotation();
159<a name="l00303"></a>00303
160<a name="l00306"></a><a class="code" href="class_f_c_d_t_rotation.html#f5ddd1b7b673eaa1d57f36b4e685a3c8">00306</a>     <span class="keyword">virtual</span> Type <a class="code" href="class_f_c_d_transform.html#f406aebcba6215ebc1358a3cf87ab29d">GetType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ROTATION; }
161<a name="l00307"></a>00307
162<a name="l00311"></a><a class="code" href="class_f_c_d_t_rotation.html#2c5629790e8172222f1095be97728e6f">00311</a>     <span class="keyword">inline</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetAxis() { <span class="keywordflow">return</span> axis; }
163<a name="l00312"></a><a class="code" href="class_f_c_d_t_rotation.html#2049a1603120ef757614c31110a18a4d">00312</a>     <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetAxis()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> axis; }
164<a name="l00316"></a><a class="code" href="class_f_c_d_t_rotation.html#38a9fb0447523cb9c6735508b0cf939a">00316</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetAxis(<span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; _axis) { axis = _axis; }
165<a name="l00317"></a>00317
166<a name="l00322"></a><a class="code" href="class_f_c_d_t_rotation.html#550e50cede877e255589506c9fbc2e34">00322</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetAxis(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z) { axis = <a class="code" href="class_f_m_vector3.html">FMVector3</a>(x, y, z); }
167<a name="l00323"></a>00323
168<a name="l00327"></a><a class="code" href="class_f_c_d_t_rotation.html#521fd665dca9d5a92450467a5680a156">00327</a>     <span class="keyword">inline</span> <span class="keywordtype">float</span>&amp; GetAngle() { <span class="keywordflow">return</span> angle; }
169<a name="l00328"></a><a class="code" href="class_f_c_d_t_rotation.html#b6b9d98eac74729fc5c0c55a13bac478">00328</a>     <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">float</span>&amp; GetAngle()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> angle; }
170<a name="l00332"></a><a class="code" href="class_f_c_d_t_rotation.html#097be8d6e0d8f52e9a2da884d3d397ae">00332</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetAngle(<span class="keywordtype">float</span> a) { angle = a; }
171<a name="l00333"></a>00333
172<a name="l00337"></a><a class="code" href="class_f_c_d_t_rotation.html#233cbce5006d0978ee7dcbd4bf9a5bc4">00337</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetRotation(<span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; _axis, <span class="keywordtype">float</span> a) { axis = _axis; angle = a; }
173<a name="l00338"></a>00338
174<a name="l00341"></a>00341 <span class="keyword">virtual</span> <a class="code" href="class_f_m_matrix44.html">FMMatrix44</a> <a class="code" href="class_f_c_d_transform.html#fd7fc3c7dc012782ebb2886c5bc13d01">ToMatrix</a>() <span class="keyword">const</span>;
175<a name="l00342"></a>00342
176<a name="l00345"></a>00345 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_f_c_d_transform.html#b12ac63fa2d46fbcf8c025971635cda4">IsAnimated</a>() <span class="keyword">const</span>;
177<a name="l00346"></a>00346
178<a name="l00351"></a>00351 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_animated.html">FCDAnimated</a>* <a class="code" href="class_f_c_d_transform.html#827134177675c23e823dcffdc1c1cdae">GetAnimated</a>();
179<a name="l00352"></a>00352
180<a name="l00358"></a>00358 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_f_c_d_transform.html#9fa1a02a51f833f819248c2ff020507c">IsInverse</a>(<span class="keyword">const</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* transform) <span class="keyword">const</span>;
181<a name="l00359"></a>00359
182<a name="l00363"></a>00363 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* <a class="code" href="class_f_c_d_transform.html#036030bd68c7bf2ba7886b79aeb531f6">Clone</a>(<a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* newParent);
183<a name="l00364"></a>00364
184<a name="l00369"></a>00369 <span class="keyword">virtual</span> <a class="code" href="class_f_u_status.html">FUStatus</a> <a class="code" href="class_f_c_d_transform.html#b6ec75fc9ed1c6d4e03a781c251682fc">LoadFromXML</a>(xmlNode* rotationNode);
185<a name="l00370"></a>00370
186<a name="l00374"></a>00374 <span class="keyword">virtual</span> xmlNode* <a class="code" href="class_f_c_d_transform.html#cd254f154a32d1e313001ee4d693162a">WriteToXML</a>(xmlNode* parentNode) <span class="keyword">const</span>;
187<a name="l00375"></a>00375 };
188<a name="l00376"></a>00376
189<a name="l00383"></a><a class="code" href="class_f_c_d_t_matrix.html">00383</a> <span class="keyword">class </span>FCOLLADA_EXPORT FCDTMatrix : <span class="keyword">public</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>
190<a name="l00384"></a>00384 {
191<a name="l00385"></a>00385 <span class="keyword">private</span>:
192<a name="l00386"></a>00386     <a class="code" href="_f_u_object_type_8h.html#8124b8a8706cd10260f8cd5a7bd8e691">DeclareObjectType</a>;
193<a name="l00387"></a>00387 <a class="code" href="class_f_m_matrix44.html">FMMatrix44</a> transform;
194<a name="l00388"></a>00388
195<a name="l00389"></a>00389 <span class="keyword">public</span>:
196<a name="l00395"></a>00395     FCDTMatrix(<a class="code" href="class_f_c_document.html">FCDocument</a>* document, <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* parent);
197<a name="l00396"></a>00396
198<a name="l00399"></a>00399 <span class="keyword">virtual</span> ~FCDTMatrix();
199<a name="l00400"></a>00400     
200<a name="l00403"></a><a class="code" href="class_f_c_d_t_matrix.html#73abaf07dc65e188ceb14d49e27355ee">00403</a>     <span class="keyword">virtual</span> Type <a class="code" href="class_f_c_d_transform.html#f406aebcba6215ebc1358a3cf87ab29d">GetType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> MATRIX; }
201<a name="l00404"></a>00404
202<a name="l00408"></a><a class="code" href="class_f_c_d_t_matrix.html#2fde7b0fdc8aca17076cc1ab05bde87e">00408</a>     <a class="code" href="class_f_m_matrix44.html">FMMatrix44</a>&amp; GetTransform() { <span class="keywordflow">return</span> transform; }
203<a name="l00409"></a><a class="code" href="class_f_c_d_t_matrix.html#95bac9c9b8eee0c89545c8b871cfebed">00409</a>     <span class="keyword">const</span> <a class="code" href="class_f_m_matrix44.html">FMMatrix44</a>&amp; GetTransform()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> transform; }
204<a name="l00413"></a><a class="code" href="class_f_c_d_t_matrix.html#9ad2ef293251bedafb477ea7fa624021">00413</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetTransform(<span class="keyword">const</span> <a class="code" href="class_f_m_matrix44.html">FMMatrix44</a>&amp; mx) { transform = mx; }
205<a name="l00414"></a>00414
206<a name="l00418"></a><a class="code" href="class_f_c_d_t_matrix.html#26384eeccaa1205b0f88d0ad16134669">00418</a>     <span class="keyword">virtual</span> <a class="code" href="class_f_m_matrix44.html">FMMatrix44</a> <a class="code" href="class_f_c_d_transform.html#fd7fc3c7dc012782ebb2886c5bc13d01">ToMatrix</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> transform; }
207<a name="l00419"></a>00419
208<a name="l00422"></a>00422 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_f_c_d_transform.html#b12ac63fa2d46fbcf8c025971635cda4">IsAnimated</a>() <span class="keyword">const</span>;
209<a name="l00423"></a>00423
210<a name="l00428"></a>00428 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_animated.html">FCDAnimated</a>* <a class="code" href="class_f_c_d_transform.html#827134177675c23e823dcffdc1c1cdae">GetAnimated</a>();
211<a name="l00429"></a>00429
212<a name="l00433"></a>00433 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* <a class="code" href="class_f_c_d_transform.html#036030bd68c7bf2ba7886b79aeb531f6">Clone</a>(<a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* newParent);
213<a name="l00434"></a>00434
214<a name="l00439"></a>00439 <span class="keyword">virtual</span> <a class="code" href="class_f_u_status.html">FUStatus</a> <a class="code" href="class_f_c_d_transform.html#b6ec75fc9ed1c6d4e03a781c251682fc">LoadFromXML</a>(xmlNode* matrixNode);
215<a name="l00440"></a>00440
216<a name="l00444"></a>00444 <span class="keyword">virtual</span> xmlNode* <a class="code" href="class_f_c_d_transform.html#cd254f154a32d1e313001ee4d693162a">WriteToXML</a>(xmlNode* parentNode) <span class="keyword">const</span>;
217<a name="l00445"></a>00445 };
218<a name="l00446"></a>00446
219<a name="l00454"></a><a class="code" href="class_f_c_d_t_look_at.html">00454</a> <span class="keyword">class </span>FCOLLADA_EXPORT FCDTLookAt : <span class="keyword">public</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>
220<a name="l00455"></a>00455 {
221<a name="l00456"></a>00456 <span class="keyword">private</span>:
222<a name="l00457"></a>00457     <a class="code" href="_f_u_object_type_8h.html#8124b8a8706cd10260f8cd5a7bd8e691">DeclareObjectType</a>;
223<a name="l00458"></a>00458 <a class="code" href="class_f_m_vector3.html">FMVector3</a> position;
224<a name="l00459"></a>00459 <a class="code" href="class_f_m_vector3.html">FMVector3</a> target;
225<a name="l00460"></a>00460 <a class="code" href="class_f_m_vector3.html">FMVector3</a> up;
226<a name="l00461"></a>00461
227<a name="l00462"></a>00462 <span class="keyword">public</span>:
228<a name="l00468"></a>00468     FCDTLookAt(<a class="code" href="class_f_c_document.html">FCDocument</a>* document, <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* parent);
229<a name="l00469"></a>00469
230<a name="l00472"></a>00472 <span class="keyword">virtual</span> ~FCDTLookAt();
231<a name="l00473"></a>00473
232<a name="l00476"></a><a class="code" href="class_f_c_d_t_look_at.html#1f3fc1c2e95176026628276ddf6f30a0">00476</a>     <span class="keyword">virtual</span> Type <a class="code" href="class_f_c_d_transform.html#f406aebcba6215ebc1358a3cf87ab29d">GetType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LOOKAT; }
233<a name="l00477"></a>00477
234<a name="l00481"></a><a class="code" href="class_f_c_d_t_look_at.html#ed9285b26df96252f27c619eb7d4206e">00481</a>     <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetPosition() { <span class="keywordflow">return</span> position; }
235<a name="l00482"></a><a class="code" href="class_f_c_d_t_look_at.html#a1fed9d62a50ced26db28b139787c4ad">00482</a>     <span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetPosition()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> position; }
236<a name="l00486"></a><a class="code" href="class_f_c_d_t_look_at.html#829becc1363d90854e74b8a7f202081e">00486</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetPosition(<span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; pos) { position = pos; }
237<a name="l00487"></a>00487
238<a name="l00492"></a><a class="code" href="class_f_c_d_t_look_at.html#4c9374a9d4a6c78ffd1fab74389d1cd8">00492</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetPosition(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z) { position = <a class="code" href="class_f_m_vector3.html">FMVector3</a>(x, y, z); }
239<a name="l00493"></a>00493
240<a name="l00497"></a><a class="code" href="class_f_c_d_t_look_at.html#c2c36146acd0a09d093fe1745a8ac2bb">00497</a>     <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetTarget() { <span class="keywordflow">return</span> target; }
241<a name="l00498"></a><a class="code" href="class_f_c_d_t_look_at.html#2e86cb4fd7d215dcd20cb816fb075614">00498</a>     <span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetTarget()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> target; }
242<a name="l00502"></a><a class="code" href="class_f_c_d_t_look_at.html#253288d9d6e1695ce99191e5b5073279">00502</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetTarget(<span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; _target) { target = _target; }
243<a name="l00503"></a>00503
244<a name="l00508"></a><a class="code" href="class_f_c_d_t_look_at.html#e2e8e556cffefa9632db14348ceec443">00508</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetTarget(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z) { target = <a class="code" href="class_f_m_vector3.html">FMVector3</a>(x, y, z); }
245<a name="l00509"></a>00509
246<a name="l00513"></a><a class="code" href="class_f_c_d_t_look_at.html#d41f28e486d12f68541574a8a46f8ddf">00513</a>     <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetUp() { <span class="keywordflow">return</span> up; }
247<a name="l00514"></a><a class="code" href="class_f_c_d_t_look_at.html#47760c84b69ec97c20de9e7a56f62c43">00514</a>     <span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetUp()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> up; }
248<a name="l00518"></a><a class="code" href="class_f_c_d_t_look_at.html#ead043538c04ac12fb83722b00c09417">00518</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetUp(<span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; _up) { up = _up; }
249<a name="l00519"></a>00519
250<a name="l00524"></a><a class="code" href="class_f_c_d_t_look_at.html#bd6938a979f2df0c452767f79beaeca7">00524</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetUp(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z) { up = <a class="code" href="class_f_m_vector3.html">FMVector3</a>(x, y, z); }
251<a name="l00525"></a>00525
252<a name="l00528"></a>00528 <span class="keyword">virtual</span> <a class="code" href="class_f_m_matrix44.html">FMMatrix44</a> <a class="code" href="class_f_c_d_transform.html#fd7fc3c7dc012782ebb2886c5bc13d01">ToMatrix</a>() <span class="keyword">const</span>;
253<a name="l00529"></a>00529
254<a name="l00532"></a>00532 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_f_c_d_transform.html#b12ac63fa2d46fbcf8c025971635cda4">IsAnimated</a>() <span class="keyword">const</span>;
255<a name="l00533"></a>00533
256<a name="l00536"></a>00536 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_animated.html">FCDAnimated</a>* <a class="code" href="class_f_c_d_transform.html#827134177675c23e823dcffdc1c1cdae">GetAnimated</a>();
257<a name="l00537"></a>00537
258<a name="l00541"></a>00541 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* <a class="code" href="class_f_c_d_transform.html#036030bd68c7bf2ba7886b79aeb531f6">Clone</a>(<a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* newParent);
259<a name="l00542"></a>00542
260<a name="l00547"></a>00547 <span class="keyword">virtual</span> <a class="code" href="class_f_u_status.html">FUStatus</a> <a class="code" href="class_f_c_d_transform.html#b6ec75fc9ed1c6d4e03a781c251682fc">LoadFromXML</a>(xmlNode* lookAtNode);
261<a name="l00548"></a>00548
262<a name="l00552"></a>00552 <span class="keyword">virtual</span> xmlNode* <a class="code" href="class_f_c_d_transform.html#cd254f154a32d1e313001ee4d693162a">WriteToXML</a>(xmlNode* parentNode) <span class="keyword">const</span>;
263<a name="l00553"></a>00553 };
264<a name="l00554"></a>00554
265<a name="l00562"></a><a class="code" href="class_f_c_d_t_skew.html">00562</a> <span class="keyword">class </span>FCOLLADA_EXPORT FCDTSkew : <span class="keyword">public</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>
266<a name="l00563"></a>00563 {
267<a name="l00564"></a>00564 <span class="keyword">private</span>:
268<a name="l00565"></a>00565     <a class="code" href="_f_u_object_type_8h.html#8124b8a8706cd10260f8cd5a7bd8e691">DeclareObjectType</a>;
269<a name="l00566"></a>00566 <a class="code" href="class_f_m_vector3.html">FMVector3</a> rotateAxis;
270<a name="l00567"></a>00567 <a class="code" href="class_f_m_vector3.html">FMVector3</a> aroundAxis;
271<a name="l00568"></a>00568 <span class="keywordtype">float</span> angle;
272<a name="l00569"></a>00569
273<a name="l00570"></a>00570 <span class="keyword">public</span>:
274<a name="l00576"></a>00576     FCDTSkew(<a class="code" href="class_f_c_document.html">FCDocument</a>* document, <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* parent);
275<a name="l00577"></a>00577
276<a name="l00580"></a>00580 <span class="keyword">virtual</span> ~FCDTSkew();
277<a name="l00581"></a>00581
278<a name="l00584"></a><a class="code" href="class_f_c_d_t_skew.html#069afb12195014737cc891cf4edd0946">00584</a>     <span class="keyword">virtual</span> Type <a class="code" href="class_f_c_d_transform.html#f406aebcba6215ebc1358a3cf87ab29d">GetType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SKEW; }
279<a name="l00585"></a>00585
280<a name="l00588"></a><a class="code" href="class_f_c_d_t_skew.html#3fc21e33c8a5af04410e09a1ed0d7275">00588</a>     <span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetRotateAxis()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rotateAxis; }
281<a name="l00589"></a>00589
282<a name="l00592"></a><a class="code" href="class_f_c_d_t_skew.html#cf018bf27460abd2e354ae3461b294a6">00592</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetRotateAxis(<span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; axis) { rotateAxis = axis; }
283<a name="l00593"></a>00593
284<a name="l00596"></a><a class="code" href="class_f_c_d_t_skew.html#1cf6d65244d940a70913f396c4a21394">00596</a>     <span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; GetAroundAxis()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> aroundAxis; }
285<a name="l00597"></a>00597
286<a name="l00600"></a><a class="code" href="class_f_c_d_t_skew.html#3fc0739c9c4e57510e849217fa023890">00600</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetAroundAxis(<span class="keyword">const</span> <a class="code" href="class_f_m_vector3.html">FMVector3</a>&amp; axis) { aroundAxis = axis; }
287<a name="l00601"></a>00601
288<a name="l00604"></a><a class="code" href="class_f_c_d_t_skew.html#6b1e596ecd19d7ab73c7bb38b45e502a">00604</a>     <span class="keyword">const</span> <span class="keywordtype">float</span>&amp; GetAngle() { <span class="keywordflow">return</span> angle; }
289<a name="l00605"></a>00605
290<a name="l00608"></a><a class="code" href="class_f_c_d_t_skew.html#62c011e9f7a6817a8292d14a7c62e497">00608</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> SetAngle(<span class="keywordtype">float</span> _angle) { angle = _angle; }
291<a name="l00609"></a>00609
292<a name="l00612"></a>00612 <span class="keyword">virtual</span> <a class="code" href="class_f_m_matrix44.html">FMMatrix44</a> <a class="code" href="class_f_c_d_transform.html#fd7fc3c7dc012782ebb2886c5bc13d01">ToMatrix</a>() <span class="keyword">const</span>;
293<a name="l00613"></a>00613
294<a name="l00616"></a>00616 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_f_c_d_transform.html#b12ac63fa2d46fbcf8c025971635cda4">IsAnimated</a>() <span class="keyword">const</span>;
295<a name="l00617"></a>00617
296<a name="l00620"></a>00620 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_animated.html">FCDAnimated</a>* <a class="code" href="class_f_c_d_transform.html#827134177675c23e823dcffdc1c1cdae">GetAnimated</a>();
297<a name="l00621"></a>00621
298<a name="l00625"></a>00625 <span class="keyword">virtual</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* <a class="code" href="class_f_c_d_transform.html#036030bd68c7bf2ba7886b79aeb531f6">Clone</a>(<a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* newParent);
299<a name="l00626"></a>00626
300<a name="l00631"></a>00631 <span class="keyword">virtual</span> <a class="code" href="class_f_u_status.html">FUStatus</a> <a class="code" href="class_f_c_d_transform.html#b6ec75fc9ed1c6d4e03a781c251682fc">LoadFromXML</a>(xmlNode* skewNode);
301<a name="l00632"></a>00632
302<a name="l00636"></a>00636 <span class="keyword">virtual</span> xmlNode* <a class="code" href="class_f_c_d_transform.html#cd254f154a32d1e313001ee4d693162a">WriteToXML</a>(xmlNode* parentNode) <span class="keyword">const</span>;
303<a name="l00637"></a>00637 };
304<a name="l00638"></a>00638
305<a name="l00644"></a><a class="code" href="class_f_c_d_t_factory.html">00644</a> <span class="keyword">class </span>FCOLLADA_EXPORT FCDTFactory
306<a name="l00645"></a>00645 {
307<a name="l00646"></a>00646 <span class="keyword">private</span>:
308<a name="l00647"></a>00647     FCDTFactory() {} <span class="comment">// Static class: do not instantiate.</span>
309<a name="l00648"></a>00648
310<a name="l00649"></a>00649 <span class="keyword">public</span>:
311<a name="l00656"></a>00656 <span class="keyword">static</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* CreateTransform(<a class="code" href="class_f_c_document.html">FCDocument</a>* document, <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* parent, <a class="code" href="class_f_c_d_transform.html#13e561c5e53aeaf84dedf4661cdc8921">FCDTransform::Type</a> type);
312<a name="l00657"></a>00657
313<a name="l00664"></a>00664 <span class="keyword">static</span> <a class="code" href="class_f_c_d_transform.html">FCDTransform</a>* CreateTransform(<a class="code" href="class_f_c_document.html">FCDocument</a>* document, <a class="code" href="class_f_c_d_scene_node.html">FCDSceneNode</a>* parent, xmlNode* node);
314<a name="l00665"></a>00665 };
315<a name="l00666"></a>00666
316<a name="l00667"></a>00667 <span class="preprocessor">#endif // _FR_TRANSFORM_H_</span>
317</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri May 12 16:44:39 2006 for FCollada by&nbsp;
318<a href="http://www.doxygen.org/index.html">
319<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6-NO </small></address>
320</body>
321</html>
Note: See TracBrowser for help on using the repository browser.