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