File: towedarray.h

package info (click to toggle)
openssn 1.4-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 7,340 kB
  • sloc: cpp: 10,973; makefile: 80
file content (59 lines) | stat: -rw-r--r-- 2,104 bytes parent folder | download | duplicates (3)
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
50
51
52
53
54
55
56
57
58
59
/***************************************************************************
                          towedarray.h  -  description
                             -------------------
    begin                : Sat Mar 16 2002
    copyright            : (C) 2002 by Michael Bridak
    email                :michael.bridak@verizon.net
$Id: towedarray.h,v 1.3 2003/04/14 05:52:40 mbridak Exp $
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License.     *
 *    .                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef TOWEDARRAY_H
#define TOWEDARRAY_H

#include "stack.h"

#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif

/**
  *@author Michael Bridak
  */

class TowedArray : public Stack  {
public:
	TowedArray();
	TowedArray(double, double);
	~TowedArray();
	void RecordPos(double lat, double lon);
	int Extend();
	void Stop();
	int ReelIn();
        int CutArray();    // cut the rope and let it go
	int GetLength();
	void OperateWinch();
	void ReturnLatLon(double &latitude, double &longitude);
	float ReturnHeading();
	float BearingAmbiguity(float);
	float BearingToTarget(double target_Latitude, double target_longitude);
	float CalcBearing(double observer_latitude, double observer_longitude ,double target_latitude,double target_longitude);
	double RangeToTarget(double target_latitude, double target_longitude);
	double latitude_array[100], longitude_array[100];
	float length;  // how far out is the array?
	int winch;   // is the array going out or coming in or stopped?
        int cut;     // did we cut the array?
};

#endif