codac 1.5.6
Loading...
Searching...
No Matches
codac_ThickEdge.h
1
11#ifndef __CODAC_THICKEDGE_H__
12#define __CODAC_THICKEDGE_H__
13
14#include "codac_Vector.h"
15#include "codac_Interval.h"
17#include "codac_BoolInterval.h"
18#include "codac_ThickPoint.h"
19
20namespace codac
21{
22 class ThickEdge
23 {
24 public:
25
28
29 ThickEdge(const ThickPoint& p1, const ThickPoint& p2);
30 ThickEdge(const Vector& p1, const Vector& p2);
31 const ThickEdge& operator=(const ThickEdge& e);
32
36
37 const ThickPoint& p1() const;
38 const ThickPoint& p2() const;
39 const Interval length() const;
40 const IntervalVector box() const;
41
45
46 const BoolInterval is_horizontal() const;
47 const BoolInterval is_vertical() const;
48 const BoolInterval is_degenerated() const;
49 bool does_not_exist() const;
50 const BoolInterval contains(const ThickPoint& p) const;
51 bool operator==(const ThickEdge& e) const;
52 bool operator!=(const ThickEdge& e) const;
53
57
58 const IntervalVector operator&(const IntervalVector& x) const;
59 const ThickPoint operator&(const ThickEdge& e) const;
60 static const ThickPoint proj_intersection(const ThickEdge& e1, const ThickEdge& e2);
61
65
66 friend std::ostream& operator<<(std::ostream& str, const ThickEdge& e);
67
71
72 static const BoolInterval parallel(const ThickEdge& e1, const ThickEdge& e2);
73 static void push(const IntervalVector& box, std::vector<ThickEdge>& v_edges);
74
76
77
78 protected:
79
80 ThickPoint m_pts[2];
81 };
82}
83
84#endif
FixPoint of a separator The fixpoint of a separator is computed by calling the "::"separate function ...
Definition codac_capd_helpers.h:9