-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathTangentLine.h
50 lines (41 loc) · 1.2 KB
/
TangentLine.h
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
/*
* TangentLine.h
* Release: ACCoRD++-2.b (08/22/10)
*
* Contact: Cesar Munoz ([email protected])
* NASA LaRC
* http://shemesh.larc.nasa.gov/people/cam/ACCoRD
*
* Computes a vector that is tangent to the protected zone.
*
* Copyright (c) 2011-2021 United States Government as represented by
* the National Aeronautics and Space Administration. No copyright
* is claimed in the United States under Title 17, U.S.Code. All Other
* Rights Reserved.
*/
#ifndef TANGENTLINE_H_
#define TANGENTLINE_H_
#include "Vect2.h"
namespace larcfm {
/** Tangent line to a circle */
class TangentLine: public Vect2 {
public:
/** Construct a tangent line */
TangentLine();
/** Construct a tangent line */
TangentLine(const Vect2& s, const double D, const int eps);
/** Is the tangent line undefined? */
bool undef() const;
/** Has horizontal criterion been met? */
bool horizontal_criterion(const Vect2& v) const;
/** Epsilon value */
int get_eps() const;
/** Q function (relative tangent line) */
static Vect2 Q(const Vect2& s, const double D, const int eps);
private:
int eps;
};
///** Q function */
// Vect2 Q(const Vect2& s, const double D, const int eps);
}
#endif /* TANGENTLINE_H_ */