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