summaryrefslogtreecommitdiff
path: root/inc/GC_MakeCircle.hxx
blob: 37e5d8281836cada64f34f296f8712b0bcb7b739 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _GC_MakeCircle_HeaderFile
#define _GC_MakeCircle_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _Handle_Geom_Circle_HeaderFile
#include <Handle_Geom_Circle.hxx>
#endif
#ifndef _GC_Root_HeaderFile
#include <GC_Root.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
class Geom_Circle;
class StdFail_NotDone;
class gp_Circ;
class gp_Ax2;
class gp_Pnt;
class gp_Dir;
class gp_Ax1;


//! This class implements the following algorithms used <br>
//!           to create Cirlec from Geom. <br>
//! <br>
//!           * Create a Circle parallel to another and passing <br>
//!             though a point. <br>
//!           * Create a Circle parallel to another at the distance <br>
//!             Dist. <br>
//!           * Create a Circle passing through 3 points. <br>
//!           * Create a Circle with its center and the normal of its <br>
//!             plane and its radius. <br>
//!           * Create a Circle with its axis and radius. <br>
//!  The circle's parameter is the angle (Radian). <br>
//!  The parametrization range is [0,2*PI]. <br>
//!  The circle is a closed and periodic curve. <br>
//!  The center of the circle is the Location point of its axis <br>
//!  placement. The XDirection of the axis placement defines the <br>
//!  origin of the parametrization. <br>
class GC_MakeCircle  : public GC_Root {
public:

  void* operator new(size_t,void* anAddress) 
  {
    return anAddress;
  }
  void* operator new(size_t size) 
  {
    return Standard::Allocate(size); 
  }
  void  operator delete(void *anAddress) 
  {
    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
  }

  //!  creates a circle from a non persistent circle C by its conversion. <br>
  Standard_EXPORT   GC_MakeCircle(const gp_Circ& C);
  
//!  A2 is the local coordinates system of the circle. <br>
//!  It is not forbidden to create a circle with Radius = 0.0 <br>
//!  Status is "NegativeRadius" if Radius < 0. <br>
  Standard_EXPORT   GC_MakeCircle(const gp_Ax2& A2,const Standard_Real Radius);
  //! Make a Circle from Geom <TheCirc> parallel to another <br>
//!           Circ <Circ> with a distance <Dist>. <br>
//!           If Dist is greater than zero the result is enclosing <br>
//!           the circle <Circ>, else the result is enclosed by the <br>
//!           circle <Circ>. <br>
  Standard_EXPORT   GC_MakeCircle(const gp_Circ& Circ,const Standard_Real Dist);
  //! Make a Circle from Geom <TheCirc> parallel to another <br>
//!           Circ <Circ> and passing through a Pnt <Point>. <br>
  Standard_EXPORT   GC_MakeCircle(const gp_Circ& Circ,const gp_Pnt& Point);
  //! Make a Circ from gp <TheCirc> passing through 3 <br>
//!           Pnt2d <P1>,<P2>,<P3>. <br>
  Standard_EXPORT   GC_MakeCircle(const gp_Pnt& P1,const gp_Pnt& P2,const gp_Pnt& P3);
  //! Make a Circle from Geom <TheCirc> with its center <br>
//!           <Center> and the normal of its plane <Norm> and <br>
//!           its radius <Radius>. <br>
  Standard_EXPORT   GC_MakeCircle(const gp_Pnt& Center,const gp_Dir& Norm,const Standard_Real Radius);
  //! Make a Circle from Geom <TheCirc> with its center <br>
//!           <Center> and the normal of its plane defined by the <br>
//!           two points <Center> and <PtAxis> and its radius <Radius>. <br>
  Standard_EXPORT   GC_MakeCircle(const gp_Pnt& Center,const gp_Pnt& PtAxis,const Standard_Real Radius);
  //! Make a Circle from Geom <TheCirc> with its center <br>
//!           <Center> and its radius <Radius>. <br>
  Standard_EXPORT   GC_MakeCircle(const gp_Ax1& Axis,const Standard_Real Radius);
  
//! Returns the constructed circle. <br>
//! Exceptions <br>
//! StdFail_NotDone if no circle is constructed. <br>
  Standard_EXPORT    const Handle_Geom_Circle& Value() const;
  
  Standard_EXPORT    const Handle_Geom_Circle& Operator() const;
Standard_EXPORT operator Handle_Geom_Circle() const;





protected:





private:



Handle_Geom_Circle TheCircle;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif