test

Dependencies:   mbed ros_lib_kinetic nhk19mr2_can_info splitData SerialHalfDuplex_HM

Walk/orbit/orbit.cpp

Committer:
shimizuta
Date:
2019-03-11
Revision:
50:36741e8ab197
Parent:
39:87dcdff27797

File content as of revision 50:36741e8ab197:

#include "orbit.h"

Orbit::Orbit(OrbitPattern pattern)
{
    pattern_ = pattern;
}
float Orbit::GetOneWalkTime()
{
    float time_s;
    switch (pattern_)
    {
    case FREELINES:
        time_s = FreeLines::GetOneWalkTime();
        break;
    case FOURPOINT:
        time_s = FourPoint::GetOneWalkTime();
        break;
    default:
        time_s = Triangle::GetOneWalkTime();
        break;
    }
    return time_s;
}
int Orbit::GetOrbit(OneLeg &leg, float phasetime_s)
{
    int ret;
    switch (pattern_)
    {
    case FREELINES:
        ret = FreeLines::GetOrbit(leg, phasetime_s);
        break;
    case FOURPOINT:
        ret = FourPoint::GetOrbit(leg, phasetime_s);
        break;
    default:
        ret = Triangle::GetOrbit(leg, phasetime_s);
        break;
    }
    return ret;
}
void Orbit::Copy(const Orbit &origin)
{
    pattern_ = origin.pattern_;
    switch (pattern_)
    {
    case FREELINES:
        FreeLines::Copy((FreeLines)origin);
        break;
    case FOURPOINT:
        FourPoint::Copy((FourPoint)origin);
        break;
    default:
        Triangle::Copy((Triangle)origin);
        break;
    }
}