// 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 _gp_XY_HeaderFile #define _gp_XY_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_Storable_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_PrimitiveTypes_HeaderFile #include #endif class Standard_ConstructionError; class Standard_OutOfRange; class gp_Mat2d; Standard_EXPORT const Handle(Standard_Type)& STANDARD_TYPE(gp_XY); //! This class describes a cartesian coordinate entity in 2D
//! space {X,Y}. This class is non persistent. This entity used
//! for algebraic calculation. An XY can be transformed with a
//! Trsf2d or a GTrsf2d from package gp.
//! It is used in vectorial computations or for holding this type
//! of information in data structures.
class gp_XY { 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 XY object with zero coordinates (0,0).
gp_XY(); //! a number pair defined by the XY coordinates
gp_XY(const Standard_Real X,const Standard_Real Y); //! modifies the coordinate of range Index
//! Index = 1 => X is modified
//! Index = 2 => Y is modified
//! Raises OutOfRange if Index != {1, 2}.
void SetCoord(const Standard_Integer Index,const Standard_Real Xi) ; //! For this number pair, assigns
//! the values X and Y to its coordinates
void SetCoord(const Standard_Real X,const Standard_Real Y) ; //! Assigns the given value to the X coordinate of this number pair.
void SetX(const Standard_Real X) ; //! Assigns the given value to the Y coordinate of this number pair.
void SetY(const Standard_Real Y) ; //! returns the coordinate of range Index :
//! Index = 1 => X is returned
//! Index = 2 => Y is returned
//! Raises OutOfRange if Index != {1, 2}.
Standard_Real Coord(const Standard_Integer Index) const; //! For this number pair, returns its coordinates X and Y.
void Coord(Standard_Real& X,Standard_Real& Y) const; //! Returns the X coordinate of this number pair.
Standard_Real X() const; //! Returns the Y coordinate of this number pair.
Standard_Real Y() const; //! Computes Sqrt (X*X + Y*Y) where X and Y are the two coordinates of this number pair.
Standard_Real Modulus() const; //! Computes X*X + Y*Y where X and Y are the two coordinates of this number pair.
Standard_Real SquareModulus() const; //! Returns true if the coordinates of this number pair are
//! equal to the respective coordinates of the number pair
//! Other, within the specified tolerance Tolerance. I.e.:
//! abs(.X() - Other.X()) <= Tolerance and
//! abs(.Y() - Other.Y()) <= Tolerance and
//! computations
Standard_EXPORT Standard_Boolean IsEqual(const gp_XY& Other,const Standard_Real Tolerance) const; //! Computes the sum of this number pair and number pair Other
//! .X() = .X() + Other.X()
//! .Y() = .Y() + Other.Y()
void Add(const gp_XY& Other) ; void operator +=(const gp_XY& Other) { Add(Other); } //! Computes the sum of this number pair and number pair Other
//! new.X() = .X() + Other.X()
//! new.Y() = .Y() + Other.Y()
gp_XY Added(const gp_XY& Other) const; gp_XY operator +(const gp_XY& Other) const { return Added(Other); } //! Real D = .X() * Other.Y() - .Y() * Other.X()
Standard_Real Crossed(const gp_XY& Right) const; Standard_Real operator ^(const gp_XY& Right) const { return Crossed(Right); } //! computes the magnitude of the cross product between and
//! Right. Returns || ^ Right ||
Standard_Real CrossMagnitude(const gp_XY& Right) const; //! computes the square magnitude of the cross product between and
//! Right. Returns || ^ Right ||**2
Standard_Real CrossSquareMagnitude(const gp_XY& Right) const; //! divides by a real.
void Divide(const Standard_Real Scalar) ; void operator /=(const Standard_Real Scalar) { Divide(Scalar); } //! Divides by a real.
gp_XY Divided(const Standard_Real Scalar) const; gp_XY operator /(const Standard_Real Scalar) const { return Divided(Scalar); } //! Computes the scalar product between and Other
Standard_Real Dot(const gp_XY& Other) const; Standard_Real operator *(const gp_XY& Other) const { return Dot(Other); } //! .X() = .X() * Scalar;
//! .Y() = .Y() * Scalar;
void Multiply(const Standard_Real Scalar) ; void operator *=(const Standard_Real Scalar) { Multiply(Scalar); } //! .X() = .X() * Other.X();
//! .Y() = .Y() * Other.Y();
void Multiply(const gp_XY& Other) ; void operator *=(const gp_XY& Other) { Multiply(Other); } //! = Matrix *
void Multiply(const gp_Mat2d& Matrix) ; void operator *=(const gp_Mat2d& Matrix) { Multiply(Matrix); } //! New.X() = .X() * Scalar;
//! New.Y() = .Y() * Scalar;
gp_XY Multiplied(const Standard_Real Scalar) const; gp_XY operator *(const Standard_Real Scalar) const { return Multiplied(Scalar); } //! new.X() = .X() * Other.X();
//! new.Y() = .Y() * Other.Y();
gp_XY Multiplied(const gp_XY& Other) const; //! New = Matrix *
gp_XY Multiplied(const gp_Mat2d& Matrix) const; gp_XY operator *(const gp_Mat2d& Matrix) const { return Multiplied(Matrix); } //! .X() = .X()/ .Modulus()
//! .Y() = .Y()/ .Modulus()
//! Raises ConstructionError if .Modulus() <= Resolution from gp
void Normalize() ; //! New.X() = .X()/ .Modulus()
//! New.Y() = .Y()/ .Modulus()
//! Raises ConstructionError if .Modulus() <= Resolution from gp
gp_XY Normalized() const; //! .X() = -.X()
//! .Y() = -.Y()
void Reverse() ; //! New.X() = -.X()
//! New.Y() = -.Y()
gp_XY Reversed() const; gp_XY operator -() const { return Reversed(); } //! Computes the following linear combination and
//! assigns the result to this number pair:
//! A1 * XY1 + A2 * XY2
void SetLinearForm(const Standard_Real A1,const gp_XY& XY1,const Standard_Real A2,const gp_XY& XY2) ; //! -- Computes the following linear combination and
//! assigns the result to this number pair:
//! A1 * XY1 + A2 * XY2 + XY3
void SetLinearForm(const Standard_Real A1,const gp_XY& XY1,const Standard_Real A2,const gp_XY& XY2,const gp_XY& XY3) ; //! Computes the following linear combination and
//! assigns the result to this number pair:
//! A1 * XY1 + XY2
void SetLinearForm(const Standard_Real A1,const gp_XY& XY1,const gp_XY& XY2) ; //! Computes the following linear combination and
//! assigns the result to this number pair:
//! XY1 + XY2
void SetLinearForm(const gp_XY& XY1,const gp_XY& XY2) ; //! .X() = .X() - Other.X()
//! .Y() = .Y() - Other.Y()
void Subtract(const gp_XY& Right) ; void operator -=(const gp_XY& Right) { Subtract(Right); } //! new.X() = .X() - Other.X()
//! new.Y() = .Y() - Other.Y()
gp_XY Subtracted(const gp_XY& Right) const; gp_XY operator -(const gp_XY& Right) const { return Subtracted(Right); } Standard_Real _CSFDB_Getgp_XYx() const { return x; } void _CSFDB_Setgp_XYx(const Standard_Real p) { x = p; } Standard_Real _CSFDB_Getgp_XYy() const { return y; } void _CSFDB_Setgp_XYy(const Standard_Real p) { y = p; } protected: private: Standard_Real x; Standard_Real y; }; #include // other Inline functions and methods (like "C++: function call" methods) #endif