Open CASCADE Technology 7.8.2.dev
gp_XY Class Reference

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. More...

#include <gp_XY.hxx>

Public Member Functions

 gp_XY ()
 Creates XY object with zero coordinates (0,0).
 
 gp_XY (const Standard_Real theX, const Standard_Real theY)
 a number pair defined by the XY coordinates
 
void SetCoord (const Standard_Integer theIndex, const Standard_Real theXi)
 modifies the coordinate of range theIndex theIndex = 1 => X is modified theIndex = 2 => Y is modified Raises OutOfRange if theIndex != {1, 2}.
 
void SetCoord (const Standard_Real theX, const Standard_Real theY)
 For this number pair, assigns the values theX and theY to its coordinates.
 
void SetX (const Standard_Real theX)
 Assigns the given value to the X coordinate of this number pair.
 
void SetY (const Standard_Real theY)
 Assigns the given value to the Y coordinate of this number pair.
 
Standard_Real Coord (const Standard_Integer theIndex) const
 returns the coordinate of range theIndex : theIndex = 1 => X is returned theIndex = 2 => Y is returned Raises OutOfRange if theIndex != {1, 2}.
 
Standard_RealChangeCoord (const Standard_Integer theIndex)
 
void Coord (Standard_Real &theX, Standard_Real &theY) const
 For this number pair, returns its coordinates X and Y.
 
Standard_Real X () const
 Returns the X coordinate of this number pair.
 
Standard_Real Y () const
 Returns the Y coordinate of this number pair.
 
Standard_Real Modulus () const
 Computes Sqrt (X*X + Y*Y) where X and Y are the two coordinates of this number pair.
 
Standard_Real SquareModulus () const
 Computes X*X + Y*Y where X and Y are the two coordinates of this number pair.
 
Standard_Boolean IsEqual (const gp_XY &theOther, const Standard_Real theTolerance) const
 Returns true if the coordinates of this number pair are equal to the respective coordinates of the number pair theOther, within the specified tolerance theTolerance. I.e.: abs(<me>.X() - theOther.X()) <= theTolerance and abs(<me>.Y() - theOther.Y()) <= theTolerance and computations.
 
void Add (const gp_XY &theOther)
 Computes the sum of this number pair and number pair theOther.
 
void operator+= (const gp_XY &theOther)
 
gp_XY Added (const gp_XY &theOther) const
 Computes the sum of this number pair and number pair theOther.
 
gp_XY operator+ (const gp_XY &theOther) const
 
Standard_Real Crossed (const gp_XY &theOther) const
 
Standard_Real operator^ (const gp_XY &theOther) const
 
Standard_Real CrossMagnitude (const gp_XY &theRight) const
 computes the magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||
 
Standard_Real CrossSquareMagnitude (const gp_XY &theRight) const
 computes the square magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||**2
 
void Divide (const Standard_Real theScalar)
 divides <me> by a real.
 
void operator/= (const Standard_Real theScalar)
 
gp_XY Divided (const Standard_Real theScalar) const
 Divides <me> by a real.
 
gp_XY operator/ (const Standard_Real theScalar) const
 
Standard_Real Dot (const gp_XY &theOther) const
 Computes the scalar product between <me> and theOther.
 
Standard_Real operator* (const gp_XY &theOther) const
 
void Multiply (const Standard_Real theScalar)
 
void operator*= (const Standard_Real theScalar)
 
void Multiply (const gp_XY &theOther)
 
void operator*= (const gp_XY &theOther)
 
void Multiply (const gp_Mat2d &theMatrix)
 <me> = theMatrix * <me>
 
void operator*= (const gp_Mat2d &theMatrix)
 
gp_XY Multiplied (const Standard_Real theScalar) const
 
gp_XY operator* (const Standard_Real theScalar) const
 
gp_XY Multiplied (const gp_XY &theOther) const
 
gp_XY Multiplied (const gp_Mat2d &theMatrix) const
 New = theMatrix * <me>
 
gp_XY operator* (const gp_Mat2d &theMatrix) const
 
void Normalize ()
 
gp_XY Normalized () const
 
void Reverse ()
 
gp_XY Reversed () const
 
gp_XY operator- () const
 
void SetLinearForm (const Standard_Real theA1, const gp_XY &theXY1, const Standard_Real theA2, const gp_XY &theXY2)
 Computes the following linear combination and assigns the result to this number pair:
 
void SetLinearForm (const Standard_Real theA1, const gp_XY &theXY1, const Standard_Real theA2, const gp_XY &theXY2, const gp_XY &theXY3)
 – Computes the following linear combination and assigns the result to this number pair:
 
void SetLinearForm (const Standard_Real theA1, const gp_XY &theXY1, const gp_XY &theXY2)
 Computes the following linear combination and assigns the result to this number pair:
 
void SetLinearForm (const gp_XY &theXY1, const gp_XY &theXY2)
 Computes the following linear combination and assigns the result to this number pair:
 
void Subtract (const gp_XY &theOther)
 
void operator-= (const gp_XY &theOther)
 
gp_XY Subtracted (const gp_XY &theOther) const
 
gp_XY operator- (const gp_XY &theOther) const
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ gp_XY() [1/2]

gp_XY::gp_XY ( )
inline

Creates XY object with zero coordinates (0,0).

◆ gp_XY() [2/2]

gp_XY::gp_XY ( const Standard_Real theX,
const Standard_Real theY )
inline

a number pair defined by the XY coordinates

Member Function Documentation

◆ Add()

void gp_XY::Add ( const gp_XY & theOther)
inline

Computes the sum of this number pair and number pair theOther.

<me>.X() = <me>.X() + theOther.X()
<me>.Y() = <me>.Y() + theOther.Y()

◆ Added()

gp_XY gp_XY::Added ( const gp_XY & theOther) const
inline

Computes the sum of this number pair and number pair theOther.

new.X() = <me>.X() + theOther.X()
new.Y() = <me>.Y() + theOther.Y()

◆ ChangeCoord()

Standard_Real & gp_XY::ChangeCoord ( const Standard_Integer theIndex)
inline

◆ Coord() [1/2]

Standard_Real gp_XY::Coord ( const Standard_Integer theIndex) const
inline

returns the coordinate of range theIndex : theIndex = 1 => X is returned theIndex = 2 => Y is returned Raises OutOfRange if theIndex != {1, 2}.

◆ Coord() [2/2]

void gp_XY::Coord ( Standard_Real & theX,
Standard_Real & theY ) const
inline

For this number pair, returns its coordinates X and Y.

◆ Crossed()

Standard_Real gp_XY::Crossed ( const gp_XY & theOther) const
inline
double D = <me>.X() * theOther.Y() - <me>.Y() * theOther.X()

◆ CrossMagnitude()

Standard_Real gp_XY::CrossMagnitude ( const gp_XY & theRight) const
inline

computes the magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||

◆ CrossSquareMagnitude()

Standard_Real gp_XY::CrossSquareMagnitude ( const gp_XY & theRight) const
inline

computes the square magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||**2

◆ Divide()

void gp_XY::Divide ( const Standard_Real theScalar)
inline

divides <me> by a real.

◆ Divided()

gp_XY gp_XY::Divided ( const Standard_Real theScalar) const
inline

Divides <me> by a real.

◆ Dot()

Standard_Real gp_XY::Dot ( const gp_XY & theOther) const
inline

Computes the scalar product between <me> and theOther.

◆ IsEqual()

Standard_Boolean gp_XY::IsEqual ( const gp_XY & theOther,
const Standard_Real theTolerance ) const

Returns true if the coordinates of this number pair are equal to the respective coordinates of the number pair theOther, within the specified tolerance theTolerance. I.e.: abs(<me>.X() - theOther.X()) <= theTolerance and abs(<me>.Y() - theOther.Y()) <= theTolerance and computations.

◆ Modulus()

Standard_Real gp_XY::Modulus ( ) const
inline

Computes Sqrt (X*X + Y*Y) where X and Y are the two coordinates of this number pair.

◆ Multiplied() [1/3]

gp_XY gp_XY::Multiplied ( const gp_Mat2d & theMatrix) const
inline

New = theMatrix * <me>

◆ Multiplied() [2/3]

gp_XY gp_XY::Multiplied ( const gp_XY & theOther) const
inline
new.X() = <me>.X() * theOther.X();
new.Y() = <me>.Y() * theOther.Y();

◆ Multiplied() [3/3]

gp_XY gp_XY::Multiplied ( const Standard_Real theScalar) const
inline
New.X() = <me>.X() * theScalar;
New.Y() = <me>.Y() * theScalar;

◆ Multiply() [1/3]

void gp_XY::Multiply ( const gp_Mat2d & theMatrix)
inline

<me> = theMatrix * <me>

◆ Multiply() [2/3]

void gp_XY::Multiply ( const gp_XY & theOther)
inline
<me>.X() = <me>.X() * theOther.X();
<me>.Y() = <me>.Y() * theOther.Y();

◆ Multiply() [3/3]

void gp_XY::Multiply ( const Standard_Real theScalar)
inline
<me>.X() = <me>.X() * theScalar;
<me>.Y() = <me>.Y() * theScalar;

◆ Normalize()

void gp_XY::Normalize ( )
inline
<me>.X() = <me>.X()/ <me>.Modulus()
<me>.Y() = <me>.Y()/ <me>.Modulus()

Raises ConstructionError if <me>.Modulus() <= Resolution from gp

◆ Normalized()

gp_XY gp_XY::Normalized ( ) const
inline
New.X() = <me>.X()/ <me>.Modulus()
New.Y() = <me>.Y()/ <me>.Modulus()

Raises ConstructionError if <me>.Modulus() <= Resolution from gp

◆ operator*() [1/3]

gp_XY gp_XY::operator* ( const gp_Mat2d & theMatrix) const
inline

◆ operator*() [2/3]

Standard_Real gp_XY::operator* ( const gp_XY & theOther) const
inline

◆ operator*() [3/3]

gp_XY gp_XY::operator* ( const Standard_Real theScalar) const
inline

◆ operator*=() [1/3]

void gp_XY::operator*= ( const gp_Mat2d & theMatrix)
inline

◆ operator*=() [2/3]

void gp_XY::operator*= ( const gp_XY & theOther)
inline

◆ operator*=() [3/3]

void gp_XY::operator*= ( const Standard_Real theScalar)
inline

◆ operator+()

gp_XY gp_XY::operator+ ( const gp_XY & theOther) const
inline

◆ operator+=()

void gp_XY::operator+= ( const gp_XY & theOther)
inline

◆ operator-() [1/2]

gp_XY gp_XY::operator- ( ) const
inline

◆ operator-() [2/2]

gp_XY gp_XY::operator- ( const gp_XY & theOther) const
inline

◆ operator-=()

void gp_XY::operator-= ( const gp_XY & theOther)
inline

◆ operator/()

gp_XY gp_XY::operator/ ( const Standard_Real theScalar) const
inline

◆ operator/=()

void gp_XY::operator/= ( const Standard_Real theScalar)
inline

◆ operator^()

Standard_Real gp_XY::operator^ ( const gp_XY & theOther) const
inline

◆ Reverse()

void gp_XY::Reverse ( )
inline
<me>.X() = -<me>.X()
<me>.Y() = -<me>.Y()

◆ Reversed()

gp_XY gp_XY::Reversed ( ) const
inline
New.X() = -<me>.X()
New.Y() = -<me>.Y()

◆ SetCoord() [1/2]

void gp_XY::SetCoord ( const Standard_Integer theIndex,
const Standard_Real theXi )
inline

modifies the coordinate of range theIndex theIndex = 1 => X is modified theIndex = 2 => Y is modified Raises OutOfRange if theIndex != {1, 2}.

◆ SetCoord() [2/2]

void gp_XY::SetCoord ( const Standard_Real theX,
const Standard_Real theY )
inline

For this number pair, assigns the values theX and theY to its coordinates.

◆ SetLinearForm() [1/4]

void gp_XY::SetLinearForm ( const gp_XY & theXY1,
const gp_XY & theXY2 )
inline

Computes the following linear combination and assigns the result to this number pair:

theXY1 + theXY2

◆ SetLinearForm() [2/4]

void gp_XY::SetLinearForm ( const Standard_Real theA1,
const gp_XY & theXY1,
const gp_XY & theXY2 )
inline

Computes the following linear combination and assigns the result to this number pair:

theA1 * theXY1 + theXY2

◆ SetLinearForm() [3/4]

void gp_XY::SetLinearForm ( const Standard_Real theA1,
const gp_XY & theXY1,
const Standard_Real theA2,
const gp_XY & theXY2 )
inline

Computes the following linear combination and assigns the result to this number pair:

theA1 * theXY1 + theA2 * theXY2

◆ SetLinearForm() [4/4]

void gp_XY::SetLinearForm ( const Standard_Real theA1,
const gp_XY & theXY1,
const Standard_Real theA2,
const gp_XY & theXY2,
const gp_XY & theXY3 )
inline

– Computes the following linear combination and assigns the result to this number pair:

theA1 * theXY1 + theA2 * theXY2 + theXY3

◆ SetX()

void gp_XY::SetX ( const Standard_Real theX)
inline

Assigns the given value to the X coordinate of this number pair.

◆ SetY()

void gp_XY::SetY ( const Standard_Real theY)
inline

Assigns the given value to the Y coordinate of this number pair.

◆ SquareModulus()

Standard_Real gp_XY::SquareModulus ( ) const
inline

Computes X*X + Y*Y where X and Y are the two coordinates of this number pair.

◆ Subtract()

void gp_XY::Subtract ( const gp_XY & theOther)
inline
<me>.X() = <me>.X() - theOther.X()
<me>.Y() = <me>.Y() - theOther.Y()

◆ Subtracted()

gp_XY gp_XY::Subtracted ( const gp_XY & theOther) const
inline
new.X() = <me>.X() - theOther.X()
new.Y() = <me>.Y() - theOther.Y()

◆ X()

Standard_Real gp_XY::X ( ) const
inline

Returns the X coordinate of this number pair.

◆ Y()

Standard_Real gp_XY::Y ( ) const
inline

Returns the Y coordinate of this number pair.


The documentation for this class was generated from the following file: