summaryrefslogtreecommitdiff
path: root/inc/gce_MakeElips2d.hxx
blob: 4257945089850633e7ad31fb236e7855ed9b2de2 (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 _gce_MakeElips2d_HeaderFile
#define _gce_MakeElips2d_HeaderFile

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

#ifndef _gp_Elips2d_HeaderFile
#include <gp_Elips2d.hxx>
#endif
#ifndef _gce_Root_HeaderFile
#include <gce_Root.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
class StdFail_NotDone;
class gp_Ax2d;
class gp_Ax22d;
class gp_Pnt2d;
class gp_Elips2d;


//!This class implements the following algorithms used to <br>
//!          create Elips2d from gp. <br>
//! <br>
//!          * Create an ellipse from its center, and two points: <br>
//!            one on the ciconference giving the major radius, the <br>
//!            other giving the value of the small radius. <br>
//!          * Create an ellipse from its major axis and its major <br>
//!            radius and its minor radius. <br>
class gce_MakeElips2d  : 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); 
  }

  
//!  Creates an ellipse with the major axis, the major and the <br>
//!  minor radius. The location of the MajorAxis is the center <br>
//!  of the  ellipse. <br>
//!  The sense of parametrization is given by Sense. <br>
//!  It is possible to create an ellipse with MajorRadius = MinorRadius. <br>
//!  the status is "InvertRadius" if MajorRadius < MinorRadius or <br>
//!  "NegativeRadius" if MinorRadius < 0.0 <br>
  Standard_EXPORT   gce_MakeElips2d(const gp_Ax2d& MajorAxis,const Standard_Real MajorRadius,const Standard_Real MinorRadius,const Standard_Boolean Sense = Standard_True);
  
//!  Axis defines the Xaxis and Yaxis of the ellipse which defines <br>
//!  the origin and the sense of parametrization. <br>
//!  Creates an ellipse with the AxisPlacement the major and the <br>
//!  minor radius. The location of Axis is the center <br>
//!  of the  ellipse. <br>
//!  It is possible to create an ellipse with MajorRadius = MinorRadius. <br>
//!  the status is "InvertRadius" if MajorRadius < MinorRadius or <br>
//!  "NegativeRadius" if MinorRadius < 0.0 <br>
  Standard_EXPORT   gce_MakeElips2d(const gp_Ax22d& A,const Standard_Real MajorRadius,const Standard_Real MinorRadius);
  //! Makes an Elips2d with its center and two points. <br>
//!          The sense of parametrization is given by S1, S2, <br>
//!          and Center. <br>
//! Depending on the constructor, the  implicit orientation of the ellipse is: <br>
//! -   the sense defined by A, <br>
//! -   the sense defined by points Center, S1 and S2, <br>
//! -   the trigonometric sense if Sense is not given or is true, or <br>
//! -   the opposite if Sense is false. <br>
//! It is possible to construct an ellipse where the major <br>
//! and minor radii are equal. <br>
//! Warning <br>
//! If an error occurs (that is, when IsDone returns <br>
//! false), the Status function returns: <br>
//! -   gce_InvertRadius if MajorRadius is less than MinorRadius, <br>
//! -   gce_NegativeRadius if MajorRadius or <br>
//!   MinorRadius is less than 0.0, <br>
//! -   gce_NullAxis if points S1, S2 and Center are collinear, or <br>
//! -   gce_InvertAxis if the major radius computed with <br>
//!   Center and S1 is less than the minor radius <br>
//!   computed with Center, S1 and S2. <br>
  Standard_EXPORT   gce_MakeElips2d(const gp_Pnt2d& S1,const gp_Pnt2d& S2,const gp_Pnt2d& Center);
  //! Returns the constructed ellipse. <br>
//! Exceptions StdFail_NotDone if no ellipse is constructed. <br>
  Standard_EXPORT    const gp_Elips2d& Value() const;
  
  Standard_EXPORT    const gp_Elips2d& Operator() const;
Standard_EXPORT operator gp_Elips2d() const;





protected:





private:



gp_Elips2d TheElips2d;


};





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


#endif