Pass EvaluationContext argument everywhere
[blender.git] / intern / itasc / UncontrolledObject.hpp
1 /*
2  * UncontrolledObject.h
3  *
4  *  Created on: Jan 5, 2009
5  *      Author: rubensmits
6  */
7
8 #ifndef UNCONTROLLEDOBJECT_HPP_
9 #define UNCONTROLLEDOBJECT_HPP_
10
11 #include "eigen_types.hpp"
12
13 #include "Object.hpp"
14
15 struct EvaluationContext;
16
17 namespace iTaSC{
18
19 class UncontrolledObject: public Object {
20 protected:
21         unsigned int m_nu, m_nf;
22         e_vector m_xudot;
23         std::vector<e_matrix> m_JuArray;
24
25 public:
26     UncontrolledObject();
27     virtual ~UncontrolledObject();
28
29         virtual void initialize(unsigned int _nu, unsigned int _nf);
30         virtual const e_matrix& getJu(unsigned int frameIndex) const;
31     virtual const e_vector& getXudot() const {return m_xudot;}
32         virtual void updateCoordinates(struct EvaluationContext *eval_ctx, const Timestamp& timestamp)=0;
33     virtual const unsigned int getNrOfCoordinates(){return m_nu;};
34     virtual const unsigned int getNrOfFrames(){return m_nf;};
35
36 };
37
38 }
39
40 #endif /* UNCONTROLLEDOBJECT_H_ */