// 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_MakeEllipse_HeaderFile #define _GC_MakeEllipse_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Handle_Geom_Ellipse_HeaderFile #include #endif #ifndef _GC_Root_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif class Geom_Ellipse; class StdFail_NotDone; class gp_Elips; class gp_Ax2; class gp_Pnt; //!This class implements construction algorithms for an ellipse in
//! 3D space. The result is a Geom_Ellipse ellipse.
//! A MakeEllipse object provides a framework for:
//! - defining the construction of the ellipse,
//! - implementing the construction algorithm, and
//! - consulting the results. In particular, the Value
//! function returns the constructed ellipse.
class GC_MakeEllipse : 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 an ellipse from a non persistent ellipse E from package gp by its conversion.
Standard_EXPORT GC_MakeEllipse(const gp_Elips& E); //! Constructs an ellipse with major and minor radii MajorRadius and
//! MinorRadius, and located in the plane defined by
//! the "X Axis" and "Y Axis" of the coordinate system A2, where:
//! - its center is the origin of A2, and
//! - its major axis is the "X Axis" of A2;
//! Warnings :
//! The MakeEllipse class does not prevent the
//! construction of an ellipse where MajorRadius is equal to 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 GC_MakeEllipse(const gp_Ax2& A2,const Standard_Real MajorRadius,const Standard_Real MinorRadius); //! Constructs an ellipse centered on the point Center, where
//! - the plane of the ellipse is defined by Center, S1 and S2,
//! - its major axis is defined by Center and S1,
//! - its major radius is the distance between Center and S1, and
//! - its minor radius is the distance between S2 and the major axis.
Standard_EXPORT GC_MakeEllipse(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 Handle_Geom_Ellipse& Value() const; Standard_EXPORT const Handle_Geom_Ellipse& Operator() const; Standard_EXPORT operator Handle_Geom_Ellipse() const; protected: private: Handle_Geom_Ellipse TheEllipse; }; // other Inline functions and methods (like "C++: function call" methods) #endif