// 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 _IGESGeom_ConicArc_HeaderFile #define _IGESGeom_ConicArc_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_IGESGeom_ConicArc_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _gp_XY_HeaderFile #include #endif #ifndef _IGESData_IGESEntity_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif class gp_XY; class gp_Pnt2d; class gp_Pnt; class gp_Dir; //! defines IGESConicArc, Type <104> Form <0-3> in package IGESGeom
//! A conic arc is a bounded connected portion of a parent
//! conic curve which consists of more than one point. The
//! parent conic curve is either an ellipse, a parabola, or
//! a hyperbola. The definition space coordinate system is
//! always chosen so that the conic arc lies in a plane either
//! coincident with or parallel to XT, YT plane. Within such
//! a plane a conic is defined by the six coefficients in the
//! following equation.
//! A*XT^2 + B*XT*YT + C*YT^2 + D*XT + E*YT + F = 0
class IGESGeom_ConicArc : public IGESData_IGESEntity { public: Standard_EXPORT IGESGeom_ConicArc(); //! This method is used to set the fields of the class
//! ConicalArc
//! - A, B, C, D, E, F : Coefficients of the equation
//! defining conic arc
//! - ZT : Parallel ZT displacement of the arc
//! from XT, YT plane.
//! - aStart : Starting point of the conic arc
//! - anEnd : End point of the conic arc
Standard_EXPORT void Init(const Standard_Real A,const Standard_Real B,const Standard_Real C,const Standard_Real D,const Standard_Real E,const Standard_Real F,const Standard_Real ZT,const gp_XY& aStart,const gp_XY& anEnd) ; //! sets the Form Number equal to ComputedFormNumber,
//! returns True if changed
Standard_EXPORT Standard_Boolean OwnCorrect() ; //! Computes the Form Number according to the equation
//! 1 for Ellipse, 2 for Hyperbola, 3 for Parabola
Standard_EXPORT Standard_Integer ComputedFormNumber() const; Standard_EXPORT void Equation(Standard_Real& A,Standard_Real& B,Standard_Real& C,Standard_Real& D,Standard_Real& E,Standard_Real& F) const; //! returns the Z displacement of the arc from XT, YT plane
Standard_EXPORT Standard_Real ZPlane() const; //! returns the starting point of the arc
Standard_EXPORT gp_Pnt2d StartPoint() const; //! returns the starting point of the arc after applying
//! Transf. Matrix
Standard_EXPORT gp_Pnt TransformedStartPoint() const; //! returns the end point of the arc
Standard_EXPORT gp_Pnt2d EndPoint() const; //! returns the end point of the arc after applying
//! Transf. Matrix
Standard_EXPORT gp_Pnt TransformedEndPoint() const; //! returns True if parent conic curve is an ellipse
Standard_EXPORT Standard_Boolean IsFromEllipse() const; //! returns True if parent conic curve is a parabola
Standard_EXPORT Standard_Boolean IsFromParabola() const; //! returns True if parent conic curve is a hyperbola
Standard_EXPORT Standard_Boolean IsFromHyperbola() const; //! returns True if StartPoint = EndPoint
Standard_EXPORT Standard_Boolean IsClosed() const; //! Z-Axis of conic (i.e. [0,0,1])
Standard_EXPORT gp_Dir Axis() const; //! Z-Axis after applying Trans. Matrix
Standard_EXPORT gp_Dir TransformedAxis() const; //! Returns a Definition computed from equation, easier to use
//!
: the center of the the conic (meaningless for
//! a parabola) (defined with Z displacement)
//! : the Main Axis of the conic (for a Circle,
//! arbitrary the X Axis)
//! : Minor and Major Radii of the conic
//! For a Circle, Rmin = Rmax,
//! For a Parabola, Rmin = Rmax = the Focal
//! Warning : the basic definition (by equation) is not very stable,
//! limit cases may be approximative
Standard_EXPORT void Definition(gp_Pnt& Center,gp_Dir& MainAxis,Standard_Real& rmin,Standard_Real& rmax) const; //! Same as Definition, but the Location is applied on the
//! Center and the MainAxis
Standard_EXPORT void TransformedDefinition(gp_Pnt& Center,gp_Dir& MainAxis,Standard_Real& rmin,Standard_Real& rmax) const; //! Computes and returns the coordinates of the definition of
//! a comic from its equation. Used by Definition &
//! TransformedDefinition, or may be called directly if needed
Standard_EXPORT void ComputedDefinition(Standard_Real& Xcen,Standard_Real& Ycen,Standard_Real& Xax,Standard_Real& Yax,Standard_Real& Rmin,Standard_Real& Rmax) const; DEFINE_STANDARD_RTTI(IGESGeom_ConicArc) protected: private: Standard_Real theA; Standard_Real theB; Standard_Real theC; Standard_Real theD; Standard_Real theE; Standard_Real theF; Standard_Real theZT; gp_XY theStart; gp_XY theEnd; }; // other Inline functions and methods (like "C++: function call" methods) #endif