summaryrefslogtreecommitdiff
path: root/src/GCE2d/GCE2d_MakeCircle.cxx
blob: 01bcae278482ff660619d8a6ab2f31b7e69d2901 (plain)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// File:	GCE2d_MakeCircle.cxx
// Created:	Fri Oct  2 16:32:04 1992
// Author:	Remi GILET
//		<reg@topsn3>

#include <GCE2d_MakeCircle.ixx>
#include <gce_MakeCirc2d.hxx>
#include <Geom2d_Circle.hxx>
#include <StdFail_NotDone.hxx>

GCE2d_MakeCircle::GCE2d_MakeCircle(const gp_Circ2d& C)
{
  TheError = gce_Done;
  TheCircle = new Geom2d_Circle(C);
}

GCE2d_MakeCircle::GCE2d_MakeCircle(const gp_Ax2d&         A     ,
				   const Standard_Real    Radius,
				   const Standard_Boolean Sense )
{
  if (Radius < 0.0) { TheError = gce_NegativeRadius; }
  else {
    TheError = gce_Done;
    TheCircle = new Geom2d_Circle(A,Radius,Sense);
  }
}

GCE2d_MakeCircle::GCE2d_MakeCircle(const gp_Ax22d&     A     ,
				   const Standard_Real Radius)
{
  if (Radius < 0.0) { TheError = gce_NegativeRadius; }
  else {
    TheError = gce_Done;
    TheCircle = new Geom2d_Circle(A,Radius);
  }
}

GCE2d_MakeCircle::GCE2d_MakeCircle(const gp_Circ2d& Circ  ,
				   const gp_Pnt2d&  Point ) 
{
  gp_Circ2d C = gce_MakeCirc2d(Circ,Point);
  TheCircle = new Geom2d_Circle(C);
  TheError = gce_Done;
}

GCE2d_MakeCircle::GCE2d_MakeCircle(const gp_Circ2d&    Circ ,
				   const Standard_Real Dist ) 
{
  gce_MakeCirc2d C = gce_MakeCirc2d(Circ,Dist);
  TheError = C.Status();
  if (TheError == gce_Done) {
    TheCircle = new Geom2d_Circle(C.Value());
  }
}

GCE2d_MakeCircle::GCE2d_MakeCircle(const gp_Pnt2d& P1 ,
				   const gp_Pnt2d& P2 ,
				   const gp_Pnt2d& P3 ) 
{
  gce_MakeCirc2d C = gce_MakeCirc2d(P1,P2,P3);
  TheError = C.Status();
  if (TheError == gce_Done) {
    TheCircle = new Geom2d_Circle(C.Value());
  }

}

GCE2d_MakeCircle::GCE2d_MakeCircle(const gp_Pnt2d&        Point  ,
				   const Standard_Real    Radius ,
				   const Standard_Boolean Sense  ) 
{
  gce_MakeCirc2d C = gce_MakeCirc2d(Point,Radius,Sense);
  TheError = C.Status();
  if (TheError == gce_Done) {
    TheCircle = new Geom2d_Circle(C.Value());
  }
}

GCE2d_MakeCircle::GCE2d_MakeCircle(const gp_Pnt2d&        Center ,
				   const gp_Pnt2d&        Point  ,
				   const Standard_Boolean Sense  ) 
{
  gce_MakeCirc2d C = gce_MakeCirc2d(Center,Point,Sense);
  TheError = C.Status();
  if (TheError == gce_Done) {
    TheCircle = new Geom2d_Circle(C.Value());
  }
}

const Handle(Geom2d_Circle)& GCE2d_MakeCircle::Value() const
{ 
  StdFail_NotDone_Raise_if(!TheError == gce_Done,"");
  return TheCircle;
}

const Handle(Geom2d_Circle)& GCE2d_MakeCircle::Operator() const 
{
  return Value();
}

GCE2d_MakeCircle::operator Handle(Geom2d_Circle) () const
{
  return Value();
}