// 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 _Geom_Direction_HeaderFile #define _Geom_Direction_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_Geom_Direction_HeaderFile #include #endif #ifndef _Geom_Vector_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Handle_Geom_Vector_HeaderFile #include #endif #ifndef _Handle_Geom_Geometry_HeaderFile #include #endif class Standard_ConstructionError; class gp_Dir; class Geom_Vector; class gp_Trsf; class Geom_Geometry; //! The class Direction specifies a vector that is never null.
//! It is a unit vector.
class Geom_Direction : public Geom_Vector { public: //! Creates a unit vector with it 3 cartesian coordinates.
//! Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.
Standard_EXPORT Geom_Direction(const Standard_Real X,const Standard_Real Y,const Standard_Real Z); //! Creates a transient copy of .
Standard_EXPORT Geom_Direction(const gp_Dir& V); //! Sets to X,Y,Z coordinates.
//! Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.
Standard_EXPORT void SetCoord(const Standard_Real X,const Standard_Real Y,const Standard_Real Z) ; //! Converts the gp_Dir unit vector V into this unit vector.
Standard_EXPORT void SetDir(const gp_Dir& V) ; //! Changes the X coordinate of .
//! Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.
Standard_EXPORT void SetX(const Standard_Real X) ; //! Changes the Y coordinate of .
//! Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.
Standard_EXPORT void SetY(const Standard_Real Y) ; //! Changes the Z coordinate of .
//! Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.
Standard_EXPORT void SetZ(const Standard_Real Z) ; //! Returns the non transient direction with the same
//! coordinates as .
Standard_EXPORT gp_Dir Dir() const; //! returns 1.0 which is the magnitude of any unit vector.
Standard_EXPORT Standard_Real Magnitude() const; //! returns 1.0 which is the square magnitude of any unit vector.
Standard_EXPORT Standard_Real SquareMagnitude() const; //! Computes the cross product between and .
//! Raised if the two vectors are parallel because it is
//! not possible to have a direction with null length.
Standard_EXPORT void Cross(const Handle(Geom_Vector)& Other) ; //! Computes the triple vector product ^(V1 ^ V2).
//! Raised if V1 and V2 are parallel or and (V1 ^ V2) are
//! parallel
Standard_EXPORT void CrossCross(const Handle(Geom_Vector)& V1,const Handle(Geom_Vector)& V2) ; //! Computes the cross product between and .
//! A new direction is returned.
//! Raised if the two vectors are parallel because it is
//! not possible to have a direction with null length.
Standard_EXPORT Handle_Geom_Vector Crossed(const Handle(Geom_Vector)& Other) const; //! Computes the triple vector product ^(V1 ^ V2).
//! Raised if V1 and V2 are parallel or and (V1 ^ V2) are
//! parallel
Standard_EXPORT Handle_Geom_Vector CrossCrossed(const Handle(Geom_Vector)& V1,const Handle(Geom_Vector)& V2) const; //! Applies the transformation T to this unit vector, then normalizes it.
Standard_EXPORT void Transform(const gp_Trsf& T) ; //! Creates a new object which is a copy of this unit vector.
Standard_EXPORT Handle_Geom_Geometry Copy() const; DEFINE_STANDARD_RTTI(Geom_Direction) protected: private: }; // other Inline functions and methods (like "C++: function call" methods) #endif