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
|
// 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
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <Handle_Geom_Ellipse.hxx>
#include <GC_Root.hxx>
#include <Standard_Real.hxx>
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:
DEFINE_STANDARD_ALLOC
//! 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;
};
#endif // _GC_MakeEllipse_HeaderFile
|