22 #include "MAEarsController.hpp" 24 #include "core/MADevice.hpp" 25 #include "core/MARandomness.hpp" 26 #include "core/MAValueGenerators.hpp" 27 #include "types/skits/MAMotionSkit.hpp" 40 MC_WARNING(
"The global ears controller is overridden.");
50 if (MA::Ears.
get() ==
this)
63 return MA::DeviceList();
67 bool MAEarsController::IsMovingEars()
const 74 MA::DeviceGeneratorsMap MAEarsController::FlapEars()
78 MA::DeviceGeneratorsMap DeviceGenerators;
83 return MA::DeviceGeneratorsMap();
84 for (
int i = 0; i < Flaps; ++i)
102 EarLeft->AddGeneratorContainer(*EarLContainer);
103 MA_INSERT_DEVICEGENERATOR(DeviceGenerators,
EarLeft.get(), EarLContainer);
104 EarRight->AddGeneratorContainer(*EarRContainer);
105 MA_INSERT_DEVICEGENERATOR(DeviceGenerators,
EarRight.get(), EarRContainer);
106 return DeviceGenerators;
116 return MA::DeviceGeneratorsMap();
118 MA::DeviceGeneratorsMap DeviceGenerators;
124 EarLeft->AddGeneratorContainer(*Container);
125 MA_INSERT_DEVICEGENERATOR(DeviceGenerators,
EarLeft.get(), Container);
129 EarRight->AddGeneratorContainer(*Container);
130 MA_INSERT_DEVICEGENERATOR(DeviceGenerators,
EarRight.get(), Container);
131 return DeviceGenerators;
#define MA_RANDOM_POINT_1(_variable_name, _min, _max)
Set a random point with one value.
void AddGenerator(MAGeneratorBase &generator, bool in_front=false)
Add a new generator after the last internal generator.
boost::shared_ptr< MADevice > EarRight
Ear right.
virtual MA::DeviceList GetMotors() const override
Get the list of the motors.
#define MC_WARNING(...)
Warning macro.
Base class for the controllers.
virtual ~MAEarsController()
Class destructor.
boost::shared_ptr< MADevice > EarLeft
Ear left.
MAEarsController()
Class constructor.
#define MC_UNUSED(a)
Helper macro to avoid compiler warning about unused function parameters.
virtual void UpdateRobotState(MARobotState &state) override
Update the robot state.
Generator container class.
MAGeneratorContainer * GetGeneratorContainer(MA::Leg::LegTypes leg, MA::LegJointsType joint) const
Get generator container for a leg joint.
virtual MA::DeviceGeneratorsMap GetSkitTransitionGenerators(MA::SkitBaseSPtr skit) override
Get skit transition generators.
Motion sequence (motion skit) class.
A wrapper class to cover boost::thread_specific_ptr/folly::ThreadLocal API on certain targets...
Periodic generator class (waveform _/‾\_)
#define MA_RANDOM_POINT_N(_variable_name, _count, _min, _max)
Set a random point with a value list.