Blender  V3.3
Object.hpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: LGPL-2.1-or-later
2  * Copyright 2009 Ruben Smits. */
3 
8 #ifndef OBJECT_HPP_
9 #define OBJECT_HPP_
10 
11 #include "Cache.hpp"
12 #include "kdl/frames.hpp"
13 #include <string>
14 
15 namespace iTaSC{
16 
17 class WorldObject;
18 
19 class Object {
20 public:
23 
24 private:
25  ObjectType m_type;
26 protected:
29  bool m_updated;
30  virtual void updateJacobian()=0;
31 public:
33  virtual ~Object(){};
34 
35  virtual int addEndEffector(const std::string& name){return 0;};
36  virtual bool finalize(){return true;};
37  virtual const KDL::Frame& getPose(const unsigned int end_effector=0){return m_internalPose;};
38  virtual const ObjectType getType(){return m_type;};
39  virtual const unsigned int getNrOfCoordinates(){return 0;};
40  virtual void updateKinematics(const Timestamp& timestamp)=0;
41  virtual void pushCache(const Timestamp& timestamp)=0;
42  virtual void initCache(Cache *_cache) = 0;
43  bool updated() {return m_updated;};
44  void updated(bool val) {m_updated=val;};
45 };
46 
47 }
48 #endif /* OBJECT_HPP_ */
int m_type
represents a frame transformation in 3D space (rotation + translation)
Definition: frames.hpp:526
virtual const unsigned int getNrOfCoordinates()
Definition: Object.hpp:39
virtual bool finalize()
Definition: Object.hpp:36
bool updated()
Definition: Object.hpp:43
Object(ObjectType _type)
Definition: Object.hpp:32
virtual void pushCache(const Timestamp &timestamp)=0
virtual const KDL::Frame & getPose(const unsigned int end_effector=0)
Definition: Object.hpp:37
virtual void initCache(Cache *_cache)=0
virtual void updateKinematics(const Timestamp &timestamp)=0
void updated(bool val)
Definition: Object.hpp:44
Cache * m_cache
Definition: Object.hpp:27
static WorldObject world
Definition: Object.hpp:22
virtual const ObjectType getType()
Definition: Object.hpp:38
virtual ~Object()
Definition: Object.hpp:33
KDL::Frame m_internalPose
Definition: Object.hpp:28
bool m_updated
Definition: Object.hpp:29
virtual int addEndEffector(const std::string &name)
Definition: Object.hpp:35
virtual void updateJacobian()=0
const Frame F_identity