summaryrefslogtreecommitdiff
path: root/inc/gce_MakeCirc.hxx
blob: ae9b907ae056be3fe3b31cbb1d2d26a0907cd478 (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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
// 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 _gce_MakeCirc_HeaderFile
#define _gce_MakeCirc_HeaderFile

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

#ifndef _gp_Circ_HeaderFile
#include <gp_Circ.hxx>
#endif
#ifndef _gce_Root_HeaderFile
#include <gce_Root.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
class StdFail_NotDone;
class gp_Ax2;
class gp_Circ;
class gp_Pnt;
class gp_Dir;
class gp_Pln;
class gp_Ax1;


//! This class implements the following algorithms used <br>
//!           to create Circ from gp. <br>
//! <br>
//!           * Create a Circ coaxial to another and passing <br>
//!             though a point. <br>
//!           * Create a Circ coaxial to another at the distance <br>
//!             Dist. <br>
//!           * Create a Circ passing through 3 points. <br>
//!           * Create a Circ with its center and the normal of its <br>
//!             plane and its radius. <br>
//!           * Create a Circ with its center and its plane and its <br>
//!             radius. <br>
//!           * Create a Circ with its axis and radius. <br>
//!           * Create a Circ with two points giving its axis and <br>
//!             its radius. <br>
//!           * Create a Circ with is Ax2 and its Radius. <br>
class gce_MakeCirc  : public gce_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); 
  }

  
//!  A2 locates the circle and gives its orientation in 3D space. <br>
//! Warnings : <br>
//!  It is not forbidden to create a circle with Radius = 0.0 <br>
//! The status is "NegativeRadius" if Radius < 0.0 <br>
  Standard_EXPORT   gce_MakeCirc(const gp_Ax2& A2,const Standard_Real Radius);
  //! Makes a Circ from gp <TheCirc> coaxial to another <br>
//!           Circ <Circ> at a distance <Dist>. <br>
//!           If Dist is greater than zero the result is encloses <br>
//!           the circle <Circ>, else the result is enclosed by the <br>
//!           circle <Circ>. <br>
  Standard_EXPORT   gce_MakeCirc(const gp_Circ& Circ,const Standard_Real Dist);
  //! Makes a Circ from gp <TheCirc> coaxial to another <br>
//!           Circ <Circ> and passing through a Pnt2d <Point>. <br>
  Standard_EXPORT   gce_MakeCirc(const gp_Circ& Circ,const gp_Pnt& Point);
  //! Makes a Circ from gp <TheCirc> passing through 3 <br>
//!           Pnt2d <P1>,<P2>,<P3>. <br>
  Standard_EXPORT   gce_MakeCirc(const gp_Pnt& P1,const gp_Pnt& P2,const gp_Pnt& P3);
  //! Makes a Circ from gp <TheCirc> with its center <br>
//!           <Center> and the normal of its plane <Norm> and <br>
//!           its radius <Radius>. <br>
  Standard_EXPORT   gce_MakeCirc(const gp_Pnt& Center,const gp_Dir& Norm,const Standard_Real Radius);
  //! Makes a Circ from gp <TheCirc> with its center <br>
//!           <Center> and the normal of its plane <Plane> and <br>
//!           its radius <Radius>. <br>
  Standard_EXPORT   gce_MakeCirc(const gp_Pnt& Center,const gp_Pln& Plane,const Standard_Real Radius);
  //! Makes a Circ from gp <TheCirc> with its center <br>
//!           <Center> and a point <Ptaxis> giving the normal <br>
//!           of its plane <Plane> and its radius <Radius>. <br>
  Standard_EXPORT   gce_MakeCirc(const gp_Pnt& Center,const gp_Pnt& Ptaxis,const Standard_Real Radius);
  //! Makes a Circ from gp <TheCirc> with its center <br>
//!           <Center> and its radius <Radius>. <br>
//! Warning <br>
//! The MakeCirc class does not prevent the <br>
//! construction of a circle with a null radius. <br>
//! If an error occurs (that is, when IsDone returns <br>
//! false), the Status function returns: <br>
//! -   gce_Negative Radius if: <br>
//!   -   Radius is less than 0.0, or <br>
//!   -   Dist is less than 0.0 and the absolute value of <br>
//!    Dist is greater than the radius of Circ; <br>
//! -   gce_IntersectionError if the points P1, P2 and <br>
//!   P3 are collinear, and the three are not coincident; <br>
//! -   gce_ConfusedPoints if two of the three points <br>
//!   P1, P2 and P3 are coincident; or <br>
//! -   gce_NullAxis if Center and Ptaxis are coincident. <br>
  Standard_EXPORT   gce_MakeCirc(const gp_Ax1& Axis,const Standard_Real Radius);
  //! Returns the constructed circle. <br>
//! Exceptions StdFail_NotDone if no circle is constructed. <br>
  Standard_EXPORT    const gp_Circ& Value() const;
  
  Standard_EXPORT    const gp_Circ& Operator() const;
Standard_EXPORT operator gp_Circ() const;





protected:





private:



gp_Circ TheCirc;


};





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


#endif