source: flair-src/trunk/lib/FlairFilter/src/TrajectoryGenerator2DCircle.cpp @ 7

Last change on this file since 7 was 7, checked in by Sanahuja Guillaume, 5 years ago

filter and meta

File size: 2.1 KB
Line 
1//  created:    2013/04/08
2//  filename:   TrajectoryGenerator2DCircle.cpp
3//
4//  author:     Guillaume Sanahuja
5//              Copyright Heudiasyc UMR UTC/CNRS 7253
6//
7//  version:    $Id: $
8//
9//  purpose:    Class generating a circle trajectory in 2D
10//
11//
12/*********************************************************************/
13
14#include "TrajectoryGenerator2DCircle.h"
15#include "TrajectoryGenerator2DCircle_impl.h"
16#include <cvmatrix.h>
17#include <Layout.h>
18#include <LayoutPosition.h>
19#include <Vector2D.h>
20
21using std::string;
22using namespace flair::core;
23using namespace flair::gui;
24
25namespace flair
26{
27namespace filter
28{
29
30TrajectoryGenerator2DCircle::TrajectoryGenerator2DCircle(const LayoutPosition* position,string name) : IODevice(position->getLayout(),name)
31{
32    pimpl_=new TrajectoryGenerator2DCircle_impl(this,position,name);
33    AddDataToLog(pimpl_->output);
34}
35
36
37TrajectoryGenerator2DCircle::~TrajectoryGenerator2DCircle()
38{
39    delete pimpl_;
40}
41
42bool TrajectoryGenerator2DCircle::IsRunning(void) const
43{
44    return pimpl_->is_running;
45}
46
47cvmatrix *TrajectoryGenerator2DCircle::Matrix(void) const
48{
49    return pimpl_->output;
50}
51
52void TrajectoryGenerator2DCircle::StartTraj(const Vector2D &start_pos,float nb_lap)
53{
54    pimpl_->StartTraj(start_pos,nb_lap);
55}
56
57void TrajectoryGenerator2DCircle::FinishTraj(void)
58{
59    pimpl_->FinishTraj();
60}
61
62void TrajectoryGenerator2DCircle::StopTraj(void)
63{
64    pimpl_->is_running=false;
65}
66
67void TrajectoryGenerator2DCircle::GetPosition(Vector2D &point) const
68{
69    point.x=pimpl_->output->Value(0,0);
70    point.y=pimpl_->output->Value(0,1);
71}
72
73void TrajectoryGenerator2DCircle::SetCenter(const Vector2D &value)
74{
75    pimpl_->pos_off=value;
76}
77
78void TrajectoryGenerator2DCircle::GetSpeed(Vector2D &point) const
79{
80    point.x=pimpl_->output->Value(1,0);
81    point.y=pimpl_->output->Value(1,1);
82}
83
84void TrajectoryGenerator2DCircle::SetCenterSpeed(const Vector2D &value)
85{
86    pimpl_->vel_off=value;
87}
88
89void TrajectoryGenerator2DCircle::Update(Time time)
90{
91    pimpl_->Update(time);
92    ProcessUpdate(pimpl_->output);
93}
94
95} // end namespace filter
96} // end namespace flair
Note: See TracBrowser for help on using the repository browser.