![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
This class describes a cartesian coordinate entity in 3D space {X,Y,Z}. This entity is used for algebraic calculation. This entity can be transformed with a "Trsf" or a "GTrsf" from package "gp". It is used in vectorial computations or for holding this type of information in data structures. More...
#include <gp_XYZ.hxx>

Public Member Functions | |
| constexpr | gp_XYZ () noexcept |
| Creates an XYZ object with zero coordinates (0,0,0) | |
| constexpr | gp_XYZ (const double theX, const double theY, const double theZ) noexcept |
| creates an XYZ with given coordinates | |
| constexpr void | SetCoord (const double theX, const double theY, const double theZ) noexcept |
| For this XYZ object, assigns the values theX, theY and theZ to its three coordinates. | |
| constexpr void | SetCoord (const int theIndex, const double theXi) |
| modifies the coordinate of range theIndex theIndex = 1 => X is modified theIndex = 2 => Y is modified theIndex = 3 => Z is modified Raises OutOfRange if theIndex != {1, 2, 3}. | |
| constexpr void | SetX (const double theX) noexcept |
| Assigns the given value to the X coordinate. | |
| constexpr void | SetY (const double theY) noexcept |
| Assigns the given value to the Y coordinate. | |
| constexpr void | SetZ (const double theZ) noexcept |
| Assigns the given value to the Z coordinate. | |
| constexpr double | Coord (const int theIndex) const |
| returns the coordinate of range theIndex : theIndex = 1 => X is returned theIndex = 2 => Y is returned theIndex = 3 => Z is returned | |
| constexpr double & | ChangeCoord (const int theIndex) |
| constexpr void | Coord (double &theX, double &theY, double &theZ) const noexcept |
| constexpr const double * | GetData () const noexcept |
| Returns a const ptr to coordinates location. Is useful for algorithms, but DOES NOT PERFORM ANY CHECKS! | |
| double * | ChangeData () noexcept |
| Returns a ptr to coordinates location. Is useful for algorithms, but DOES NOT PERFORM ANY CHECKS! | |
| constexpr double | X () const noexcept |
| Returns the X coordinate. | |
| constexpr double | Y () const noexcept |
| Returns the Y coordinate. | |
| constexpr double | Z () const noexcept |
| Returns the Z coordinate. | |
| double | Modulus () const |
| Computes std::sqrt(X*X + Y*Y + Z*Z) where X, Y and Z are the three coordinates of this XYZ object. | |
| constexpr double | SquareModulus () const noexcept |
| Computes X*X + Y*Y + Z*Z where X, Y and Z are the three coordinates of this XYZ object. | |
| bool | IsEqual (const gp_XYZ &theOther, const double theTolerance) const |
| Returns True if he coordinates of this XYZ object are equal to the respective coordinates Other, within the specified tolerance theTolerance. | |
| constexpr void | Add (const gp_XYZ &theOther) noexcept |
| constexpr void | operator+= (const gp_XYZ &theOther) noexcept |
| constexpr gp_XYZ | Added (const gp_XYZ &theOther) const noexcept |
| constexpr gp_XYZ | operator+ (const gp_XYZ &theOther) const noexcept |
| constexpr void | Cross (const gp_XYZ &theOther) noexcept |
| constexpr void | operator^= (const gp_XYZ &theOther) noexcept |
| constexpr gp_XYZ | Crossed (const gp_XYZ &theOther) const noexcept |
| constexpr gp_XYZ | operator^ (const gp_XYZ &theOther) const noexcept |
| double | CrossMagnitude (const gp_XYZ &theRight) const |
| Computes the magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||. | |
| constexpr double | CrossSquareMagnitude (const gp_XYZ &theRight) const noexcept |
| Computes the square magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||**2. | |
| constexpr void | CrossCross (const gp_XYZ &theCoord1, const gp_XYZ &theCoord2) noexcept |
| Triple vector product Computes <me> = <me>.Cross(theCoord1.Cross(theCoord2)) | |
| constexpr gp_XYZ | CrossCrossed (const gp_XYZ &theCoord1, const gp_XYZ &theCoord2) const noexcept |
| Triple vector product computes New = <me>.Cross(theCoord1.Cross(theCoord2)) | |
| constexpr void | Divide (const double theScalar) |
| divides <me> by a real. | |
| constexpr void | operator/= (const double theScalar) |
| constexpr gp_XYZ | Divided (const double theScalar) const |
| divides <me> by a real. | |
| constexpr gp_XYZ | operator/ (const double theScalar) const |
| constexpr double | Dot (const gp_XYZ &theOther) const noexcept |
| Computes the scalar product between <me> and theOther. | |
| constexpr double | operator* (const gp_XYZ &theOther) const noexcept |
| constexpr double | DotCross (const gp_XYZ &theCoord1, const gp_XYZ &theCoord2) const noexcept |
| Computes the triple scalar product. | |
| constexpr void | Multiply (const double theScalar) noexcept |
| constexpr void | operator*= (const double theScalar) noexcept |
| constexpr void | Multiply (const gp_XYZ &theOther) noexcept |
| constexpr void | operator*= (const gp_XYZ &theOther) noexcept |
| constexpr void | Multiply (const gp_Mat &theMatrix) noexcept |
| <me> = theMatrix * <me> | |
| constexpr void | operator*= (const gp_Mat &theMatrix) noexcept |
| constexpr gp_XYZ | Multiplied (const double theScalar) const noexcept |
| constexpr gp_XYZ | operator* (const double theScalar) const noexcept |
| constexpr gp_XYZ | Multiplied (const gp_XYZ &theOther) const noexcept |
| constexpr gp_XYZ | Multiplied (const gp_Mat &theMatrix) const noexcept |
| New = theMatrix * <me> | |
| constexpr gp_XYZ | operator* (const gp_Mat &theMatrix) const noexcept |
| void | Normalize () |
| gp_XYZ | Normalized () const |
| constexpr void | Reverse () noexcept |
| constexpr gp_XYZ | Reversed () const noexcept |
| constexpr void | Subtract (const gp_XYZ &theOther) noexcept |
| constexpr void | operator-= (const gp_XYZ &theOther) noexcept |
| constexpr gp_XYZ | Subtracted (const gp_XYZ &theOther) const noexcept |
| constexpr gp_XYZ | operator- (const gp_XYZ &theOther) const noexcept |
| constexpr void | SetLinearForm (const double theA1, const gp_XYZ &theXYZ1, const double theA2, const gp_XYZ &theXYZ2, const double theA3, const gp_XYZ &theXYZ3, const gp_XYZ &theXYZ4) noexcept |
| <me> is set to the following linear form : | |
| constexpr void | SetLinearForm (const double theA1, const gp_XYZ &theXYZ1, const double theA2, const gp_XYZ &theXYZ2, const double theA3, const gp_XYZ &theXYZ3) noexcept |
| <me> is set to the following linear form : | |
| constexpr void | SetLinearForm (const double theA1, const gp_XYZ &theXYZ1, const double theA2, const gp_XYZ &theXYZ2, const gp_XYZ &theXYZ3) noexcept |
| <me> is set to the following linear form : | |
| constexpr void | SetLinearForm (const double theA1, const gp_XYZ &theXYZ1, const double theA2, const gp_XYZ &theXYZ2) noexcept |
| <me> is set to the following linear form : | |
| constexpr void | SetLinearForm (const double theA1, const gp_XYZ &theXYZ1, const gp_XYZ &theXYZ2) noexcept |
| <me> is set to the following linear form : | |
| constexpr void | SetLinearForm (const gp_XYZ &theXYZ1, const gp_XYZ &theXYZ2) noexcept |
| <me> is set to the following linear form : | |
| void | DumpJson (Standard_OStream &theOStream, int theDepth=-1) const |
| Dumps the content of me into the stream. | |
| bool | InitFromJson (const Standard_SStream &theSStream, int &theStreamPos) |
| Inits the content of me from the stream. | |
This class describes a cartesian coordinate entity in 3D space {X,Y,Z}. This entity is used for algebraic calculation. This entity can be transformed with a "Trsf" or a "GTrsf" from package "gp". It is used in vectorial computations or for holding this type of information in data structures.
|
inlineconstexprnoexcept |
Creates an XYZ object with zero coordinates (0,0,0)
|
inlineconstexprnoexcept |
creates an XYZ with given coordinates
|
inlinenoexcept |
Returns a ptr to coordinates location. Is useful for algorithms, but DOES NOT PERFORM ANY CHECKS!
returns the coordinate of range theIndex : theIndex = 1 => X is returned theIndex = 2 => Y is returned theIndex = 3 => Z is returned
Raises OutOfRange if theIndex != {1, 2, 3}.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Triple vector product Computes <me> = <me>.Cross(theCoord1.Cross(theCoord2))
|
inlineconstexprnoexcept |
Triple vector product computes New = <me>.Cross(theCoord1.Cross(theCoord2))
Computes the magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||.
|
inlineconstexprnoexcept |
Computes the square magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||**2.
divides <me> by a real.
Computes the scalar product between <me> and theOther.
|
inlineconstexprnoexcept |
Computes the triple scalar product.
| void gp_XYZ::DumpJson | ( | Standard_OStream & | theOStream, |
| int | theDepth = -1 ) const |
Dumps the content of me into the stream.
Returns a const ptr to coordinates location. Is useful for algorithms, but DOES NOT PERFORM ANY CHECKS!
| bool gp_XYZ::InitFromJson | ( | const Standard_SStream & | theSStream, |
| int & | theStreamPos ) |
Inits the content of me from the stream.
Returns True if he coordinates of this XYZ object are equal to the respective coordinates Other, within the specified tolerance theTolerance.
|
inline |
Computes std::sqrt(X*X + Y*Y + Z*Z) where X, Y and Z are the three coordinates of this XYZ object.
New = theMatrix * <me>
<me> = theMatrix * <me>
|
inline |
|
inline |
|
inlineconstexprnoexcept |
For this XYZ object, assigns the values theX, theY and theZ to its three coordinates.
modifies the coordinate of range theIndex theIndex = 1 => X is modified theIndex = 2 => Y is modified theIndex = 3 => Z is modified Raises OutOfRange if theIndex != {1, 2, 3}.
Assigns the given value to the X coordinate.
Assigns the given value to the Y coordinate.
Assigns the given value to the Z coordinate.
Computes X*X + Y*Y + Z*Z where X, Y and Z are the three coordinates of this XYZ object.