![Logo](tetiere_ht.jpg) |
DATAKIT API
V2025.1
|
|
Go to the documentation of this file. 1 #ifndef __DTK_PNT_HPP__
2 #define __DTK_PNT_HPP__
32 Dtk_pnt(
double a,
double b,
double c = 0.0 );
61 inline const double &
x()
const {
return _Coords[ 0 ]; }
68 inline const double &
y()
const {
return _Coords[ 1 ]; }
75 inline const double &
z()
const {
return _Coords[ 2 ]; }
197 outMiddlePnt[ i ] = ( inPntA[ i ] + inPntB[ i ] ) / 2.0;
205 for( i = 0; i < 3; i++ )
206 dist += ( inPoint1[ i ] - inPoint2[ i ] ) * ( inPoint1[ i ] - inPoint2[ i ] );
223 inline void operator *= (
const CDtk_3dMat& matrix );
276 tmp.
Project( org, zdir, zprj );
const double & x() const
access to x coordinate of the Dtk_pnt.
Definition: dtk_pnt.hpp:61
void Symetry(const Dtk_pnt &opl, const Dtk_dir &zpl)
Dtk_pnt & operator*=(double)
friend std::ostream & operator<<(std::ostream &o, const Dtk_pnt &d)
friend int operator==(const Dtk_pnt &, const Dtk_pnt &)
test if 2 Dtk_pnt are equal
static Dtk_Double64 ProcessDistance(const Dtk_pnt &inPoint1, const Dtk_pnt &inPoint2)
Definition: dtk_pnt.hpp:200
friend double Argument(const Dtk_pnt &O, const Dtk_dir &x, const Dtk_pnt &P)
void PostMultiply(const CDtk_3dMat &matrix)
void Translate(const Dtk_pnt &p0, const Dtk_pnt &p1)
double Solve(const Dtk_dir &col0, const Dtk_dir &col1, const Dtk_dir &col2, const Dtk_dir &col3)
Dtk_pnt & operator-=(const Dtk_dir &)
translate (in the opposite direction) the Dtk_pnt with the given Dtk_dir
friend Dtk_dir operator-(const Dtk_pnt &, const Dtk_dir &)
translate (in the opposite direction) a Dtk_pnt with a Dtk_dir
double Project(const Dtk_dir &zdir, double d, const Dtk_dir &zPrj)
friend double Argument(const Dtk_pnt &O, const Dtk_dir &x, const Dtk_dir &y, const Dtk_pnt &P)
This is a high level string class.
Definition: dtk_string.hpp:58
Dtk_pnt & operator/=(double)
size_t Dtk_Size_t
Definition: define.h:712
int IsEqual(const Dtk_pnt &inPointToCompare, const double inTolerance) const
test if 2 Dtk_pnt are equal - with a tolerance -
void Symetry(const Dtk_dir &zpl)
void Affinity(const Dtk_pnt &, const Dtk_dir &xdir, const Dtk_dir &ydir, double f[3])
Dtk_pnt Multiplied(const CDtk_3dMat &matrix) const
void ProjectOnLine(const Dtk_pnt &org, const Dtk_dir &dir)
double & y()
access to y coordinate of the Dtk_pnt.
Definition: dtk_pnt.hpp:64
Dtk_pnt operator*(double a) const
Definition: dtk_pnt.hpp:144
double Project(const Dtk_pnt &org, const Dtk_dir &zdir, const Dtk_dir &zPrj)
Definition: dtk_status.hpp:16
void Rotate(const Dtk_pnt &p0, const CDtk_3dMat &matrix)
double Project(const Dtk_dir &zdir, double d)
void Rotate(const Dtk_dir &dir, double angle, const Dtk_pnt ¢er)
Dtk_pnt()
default constructor
Dtk_pnt Rotated(const Dtk_dir &dir, double angle, const Dtk_pnt ¢er) const
double Dtk_Double64
Definition: define.h:699
Dtk_pnt Scaled(const Dtk_pnt &p0, double s) const
friend Dtk_pnt operator/(const Dtk_pnt &, double)
Dtk_pnt Affinitised(const Dtk_pnt &p, const Dtk_dir &xdir, const Dtk_dir &ydir, double f[3]) const
friend int operator!=(const Dtk_pnt &, const Dtk_pnt &)
test if 2 Dtk_pnt are different
void SetXYZ(const Dtk_Double64 &inX, const Dtk_Double64 &inY, const Dtk_Double64 &inZ)
Sets the 3 coordinates of the class.
Definition: dtk_pnt.hpp:87
double Solve(const CDtk_3dMat &matrix, const Dtk_dir &col3)
#define Pdtk_Assert(X)
Definition: define.h:742
void Affinity(double f[3])
Definition: dtk_pnt.hpp:259
void Scale(const Dtk_pnt &p0, double s)
Dtk_pnt PostMultiplied(const CDtk_3dMat &matrix) const
double & z()
access to z coordinate of the Dtk_pnt.
Definition: dtk_pnt.hpp:71
~Dtk_pnt()
Definition: dtk_pnt.hpp:28
Dtk_pnt Rotated(const Dtk_pnt &p0, const CDtk_3dMat &matrix) const
Dtk_pnt ProjectedOnLine(const Dtk_pnt &org, const Dtk_dir &dir) const
Definition: dtk_pnt.hpp:301
const double & y() const
access to y coordinate of the Dtk_pnt.
Definition: dtk_pnt.hpp:68
double Project(const Dtk_pnt &org, const Dtk_dir &zdir)
Dtk_pnt & operator=(const Dtk_pnt &s)
double & operator[](Dtk_Size_t i)
access to a specified coordinate of the Dtk_pnt
Definition: dtk_pnt.hpp:40
void MultiplyByTransposed(const CDtk_3dMat &matrix)
void Translate(const Dtk_dir &dir)
Dtk_pnt(const Dtk_pnt &s)
copy constructor
Dtk_pnt Transformed(const CDtk_3dMat &matrix) const
double & x()
access to x coordinate of the Dtk_pnt.
Definition: dtk_pnt.hpp:57
friend double Argument(const Dtk_pnt &P)
Dtk_pnt Translated(const Dtk_dir &dir) const
This is a mathematical point class.
Definition: dtk_pnt.hpp:22
Dtk_pnt Projected(const Dtk_pnt &org, const Dtk_dir &zdir, const Dtk_dir &zPrj) const
Definition: dtk_pnt.hpp:273
Dtk_pnt Translated(const Dtk_pnt &p0, const Dtk_pnt &p1) const
void Transform(const CDtk_3dMat &matrix)
Dtk_pnt & operator+=(const Dtk_dir &)
translate the Dtk_pnt with the given Dtk_dir
const double & z() const
access to z coordinate of the Dtk_pnt.
Definition: dtk_pnt.hpp:75
Dtk_pnt(double a, double b, double c=0.0)
constructor from 3 double
friend Dtk_pnt operator+(const Dtk_pnt &, const Dtk_dir &)
translate a Dtk_pnt with a Dtk_dir
Dtk_pnt MultipliedByTransposed(const CDtk_3dMat &matrix) const
void Multiply(const CDtk_3dMat &matrix)
static void ProcessMiddlePoint(const Dtk_pnt &inPntA, const Dtk_pnt &inPntB, Dtk_pnt &outMiddlePnt)
Definition: dtk_pnt.hpp:194
void GetXYZ(Dtk_Double64 &outX, Dtk_Double64 &outY, Dtk_Double64 &outZ) const
Retrieves to the 3 coordinates of the class.
Definition: dtk_pnt.hpp:79
double _Coords[3]
Definition: dtk_pnt.hpp:24
Dtk_pnt(const double d[])
constructor from a 3 double array
This is a mathematical direction class.
Definition: dtk_dir.hpp:15
Dtk_pnt Symetrised(const Dtk_pnt &opl, const Dtk_dir &zpl) const