Page MenuHomec4science

Oncilla.h
No OneTemporary

File Metadata

Created
Tue, May 21, 08:03

Oncilla.h

/*
* Oncilla.h
*
* Created on: 15 dec. 2011
* Author: Alexandre Tuleu, Arne Nordmann
*/
#pragma once
#include <vector>
#include <iostream>
#include <boost/shared_ptr.hpp>
/*
*
*/
/*
*
*/
namespace rci {
namespace oncilla {
class Oncilla;
typedef boost::shared_ptr<Oncilla> OncillaPtr;
class OncillaSynchronizer;
typedef boost::shared_ptr<OncillaSynchronizer> OncillaSynchronizerPtr;
class OncillaTrunk;
typedef boost::shared_ptr<OncillaTrunk> OncillaTrunkPtr;
class OncillaL0;
typedef boost::shared_ptr<OncillaL0> OncillaL0Ptr;
class OncillaL1;
typedef boost::shared_ptr<OncillaL1> OncillaL1Ptr;
class OncillaL2;
typedef boost::shared_ptr<OncillaL2> OncillaL2Ptr;
class OncillaL3;
typedef boost::shared_ptr<OncillaL3> OncillaL3Ptr;
class OncillaL4;
typedef boost::shared_ptr<OncillaL4> OncillaL4Ptr;
class Oncilla {
public:
enum Leg {
LEFT_FORE = 0,
RIGHT_FORE = 1,
LEFT_HIND = 2,
RIGHT_HIND = 3,
NUM_LEGS = 4
};
Oncilla();
virtual ~Oncilla();
OncillaL0Ptr getL0(Leg l) const;
OncillaL1Ptr getL1(Leg l) const;
OncillaL2Ptr getL2(Leg l) const;
OncillaL3Ptr getL3(Leg l) const;
OncillaL4Ptr getL4(Leg l) const;
OncillaTrunkPtr getTrunk() const;
void setSynchronizer(OncillaSynchronizerPtr synchronizer);
private:
void init();
OncillaSynchronizerPtr synchronizer;
std::vector<OncillaL0Ptr> d_l0s;
std::vector<OncillaL1Ptr> d_l1s;
std::vector<OncillaL2Ptr> d_l2s;
std::vector<OncillaL3Ptr> d_l3s;
std::vector<OncillaL4Ptr> d_l4s;
OncillaTrunkPtr d_trunk;
};
}
}

Event Timeline