OpenLexocad  27.1
Circ2D3TanAnalyser.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include <Geom/Circ2d.h>
5 #include <Geom/Lin2d.h>
6 
7 
8 class GccAna_Circ2d3Tan;
9 
10 namespace Geom
11 {
12 class LX_GEOM_EXPORT Circ2D3TanAnalyser
13 {
14 public:
15  Circ2D3TanAnalyser(const Geom::Lin2d& line1, const Geom::Lin2d& line2, const Geom::Lin2d& line3);
16  Circ2D3TanAnalyser(const Geom::Circ2d& circ1, const Geom::Circ2d& circ2, const Geom::Circ2d& circ3);
17  Circ2D3TanAnalyser(const Geom::Lin2d& line1, const Geom::Lin2d& line2, const Geom::Circ2d& circle);
18  Circ2D3TanAnalyser(const Geom::Lin2d& line1, const Geom::Lin2d& line2, const Geom::Pnt2d& point);
19  Circ2D3TanAnalyser(const Geom::Lin2d& line, const Geom::Circ2d& circ1, const Geom::Circ2d& circ2);
20  Circ2D3TanAnalyser(const Geom::Lin2d& line, const Geom::Circ2d& circ, const Geom::Pnt2d& poinjt);
21  Circ2D3TanAnalyser(const Geom::Lin2d& line, const Geom::Pnt2d& point1, const Geom::Pnt2d& point2);
22  Circ2D3TanAnalyser(const Geom::Circ2d& circ1, const Geom::Circ2d& circ2, const Geom::Pnt2d& point);
23  Circ2D3TanAnalyser(const Geom::Circ2d& circ, const Geom::Pnt2d& point1, const Geom::Pnt2d& point2);
25 
26  bool isDone() const;
27  int numberSulutions() const;
28 
29  Geom::Circ2d getSolution(int index) const;
30  bool tangentPoint1(int index, Geom::Pnt2d& result) const;
31  bool tangentPoint2(int index, Geom::Pnt2d& result) const;
32  bool tangentPoint3(int index, Geom::Pnt2d& result) const;
33 
34 private:
35  GccAna_Circ2d3Tan* _analyser;
36 
37  bool _extFail;
38 };
39 
40 } // namespace Geom
Definition: Variant.h:60
Definition: Lin2d.h:51
Definition: Circ2d.h:57
Definition: Circ2D3TanAnalyser.h:12
Defines a non-persistent 2D cartesian point.
Definition: Pnt2d.h:33