// 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_MakeDir2d_HeaderFile #define _gce_MakeDir2d_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _gp_Dir2d_HeaderFile #include #endif #ifndef _gce_Root_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif class StdFail_NotDone; class gp_Vec2d; class gp_XY; class gp_Pnt2d; class gp_Dir2d; //! This class implements the following algorithms used
//! to create a Dir2d from gp.
//! * Create a Dir2d with 2 points.
//! * Create a Dir2d with a Vec2d.
//! * Create a Dir2d with a XY from gp.
//! * Create a Dir2d with a 2 Reals (Coordinates).
class gce_MakeDir2d : 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); } //! Normalizes the vector V and creates a direction.
//! Status is "NullVector" if V.Magnitude() <= Resolution.
Standard_EXPORT gce_MakeDir2d(const gp_Vec2d& V); //! Creates a direction from a triplet of coordinates.
//! Status is "NullVector" if Coord.Modulus() <=
//! Resolution from gp.
Standard_EXPORT gce_MakeDir2d(const gp_XY& Coord); //! Creates a direction with its 3 cartesian coordinates.
//! Status is "NullVector" if Sqrt(Xv*Xv + Yv*Yv )
//! <= Resolution
Standard_EXPORT gce_MakeDir2d(const Standard_Real Xv,const Standard_Real Yv); //! Make a Dir2d from gp passing through 2
//! Pnt ,.
//! Status is "ConfusedPoints" if and are confused.
//! Warning
//! If an error occurs (that is, when IsDone returns
//! false), the Status function returns:
//! - gce_ConfusedPoints if points P1 and P2 are coincident, or
//! - gce_NullVector if one of the following is less
//! than or equal to gp::Resolution():
//! - the magnitude of vector V,
//! - the modulus of Coord,
//! - Sqrt(Xv*Xv + Yv*Yv).
Standard_EXPORT gce_MakeDir2d(const gp_Pnt2d& P1,const gp_Pnt2d& P2); //! Returns the constructed unit vector.
//! Exceptions StdFail_NotDone if no unit vector is constructed.
Standard_EXPORT const gp_Dir2d& Value() const; Standard_EXPORT const gp_Dir2d& Operator() const; Standard_EXPORT operator gp_Dir2d() const; protected: private: gp_Dir2d TheDir2d; }; // other Inline functions and methods (like "C++: function call" methods) #endif