svn merge ^/trunk/blender -r41227:41230 . --accept=theirs-full
[blender.git] / intern / itasc / UncontrolledObject.cpp
1 /** \file itasc/UncontrolledObject.cpp
2  *  \ingroup itasc
3  */
4  * UncontrolledObject.cpp
5  *
6  *  Created on: Jan 5, 2009
7  *      Author: rubensmits
8  */
9
10 #include "UncontrolledObject.hpp"
11
12 namespace iTaSC{
13
14 UncontrolledObject::UncontrolledObject():Object(UnControlled),
15         m_nu(0), m_nf(0), m_xudot()
16 {
17 }
18
19 UncontrolledObject::~UncontrolledObject() 
20 {
21 }
22
23 void UncontrolledObject::initialize(unsigned int _nu, unsigned int _nf)
24 {
25         assert (_nf >= 1);
26         m_nu = _nu;
27         m_nf = _nf;
28         if (_nu > 0)
29                 m_xudot = e_zero_vector(_nu);
30         // clear all Jacobian if any
31         m_JuArray.clear();
32         // reserve one more to have an zero matrix handy
33         if (m_nu > 0)
34                 m_JuArray.resize(m_nf+1, e_zero_matrix(6,m_nu));
35 }
36
37 const e_matrix& UncontrolledObject::getJu(unsigned int frameIndex) const
38 {
39         assert (m_nu > 0);
40         return m_JuArray[(frameIndex>m_nf)?m_nf:frameIndex];
41 }
42
43
44
45 }