aboutsummaryrefslogtreecommitdiff
path: root/fly-tools/FlyObject.h
blob: 10dbd4fbee5c45281725d4b9a0857f2fd8b452aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
 *  FlyObject.h
 *  
 *
 *  Created by Md. Alimoor Reza on 6/26/10.
 *  Copyright 2010 Drexel University. All rights reserved.
 *
 */
#include<iostream>
#include<vector>
#include<list>
#include<cmath>
using namespace std;

class FlyObject {
public:
	//FlyObject(int area, pair<int, int> centroid, pair<double,double> majorAxisEV, pair<double,double> velocityV, vector<pair<int, int> > areaCoord);
	FlyObject(int area, pair<int, int> centroid, pair<double,double> majorAxisEV, pair<double,double> velocityV,bool headIsInDirectionMAEV, pair<double, double> head, double speed);
	FlyObject(const FlyObject &f);
	int getArea() const;
	pair<int, int> getCentroid() const;
	pair<double,double> getMajorAxisEV() const;
	pair<double,double> getVelocityV() const;
	bool getHeadIsInDirectionMAEV() const;
	pair<double,double> getHead() const;
	double getSpeed() const;
	//vector<pair<int, int> > getAreaCoord() const;
	void setArea(int area);
	void setCentroid(pair<int, int>);
	void setMajorAxisEV(pair<double,double>);
	void setVelocityV(pair<double,double>);
	void normalizeVelocity();
	void setHeadIsInDirectionMAEV(bool);
	void setHead(pair<double, double> head);
	void setSpeed(double speed);
	//void setAreaCoord(vector<pair<int , int> >);
	void output(ostream &out);
	

private:
	int area;
	//vector<pair<int , int> > areaCoord;
	pair<int, int> centroid; 
	pair<double,double> majorAxisEV;
	pair<double,double> velocityV;
	bool headIsInDirectionMAEV;
	pair<double, double> head;
	double speed;
};