// 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_MakeElips_HeaderFile #define _gce_MakeElips_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _gp_Elips_HeaderFile #include #endif #ifndef _gce_Root_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif class StdFail_NotDone; class gp_Ax2; class gp_Pnt; class gp_Elips; //!This class implements the following algorithms used to
//! create an ellipse from gp.
//!
//! * Create an ellipse from its center, and two points:
//! one on the ciconference giving the major radius, the
//! other giving the value of the small radius.
class gce_MakeElips : 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); } //!The major radius of the ellipse is on the "XAxis" and the
//! minor radius is on the "YAxis" of the ellipse. The "XAxis"
//! is defined with the "XDirection" of A2 and the "YAxis" is
//! defined with the "YDirection" of A2.
//! Warnings :
//! It is not forbidden to create an ellipse with
//! MajorRadius = MinorRadius.
Standard_EXPORT gce_MakeElips(const gp_Ax2& A2,const Standard_Real MajorRadius,const Standard_Real MinorRadius); //! Make an ellipse with its center and two points.
//! Warning
//! The MakeElips class does not prevent the
//! construction of an ellipse where the MajorRadius is
//! equal to the MinorRadius.
//! If an error occurs (that is, when IsDone returns
//! false), the Status function returns:
//! - gce_InvertRadius if MajorRadius is less than MinorRadius;
//! - gce_NegativeRadius if MinorRadius is less than 0.0;
//! - gce_NullAxis if the points S1 and Center are coincident; or
//! - gce_InvertAxis if:
//! - the major radius computed with Center and S1
//! is less than the minor radius computed with Center, S1 and S2, or
//! - Center, S1 and S2 are collinear.
Standard_EXPORT gce_MakeElips(const gp_Pnt& S1,const gp_Pnt& S2,const gp_Pnt& Center); //! Returns the constructed ellipse.
//! Exceptions StdFail_NotDone if no ellipse is constructed.
Standard_EXPORT const gp_Elips& Value() const; Standard_EXPORT const gp_Elips& Operator() const; Standard_EXPORT operator gp_Elips() const; protected: private: gp_Elips TheElips; }; // other Inline functions and methods (like "C++: function call" methods) #endif