 |
OpendTect
6.6
|
Go to the documentation of this file.
30 inline void setXY(TT xx,TT yy);
31 inline void setXY(T xx,T yy);
37 inline T& operator[](
int idx);
38 inline T operator[](
int idx)
const;
42 inline bool isSameAs(
const Point3D& pos,
53 inline Point3D<T> operator/(
const T den)
const;
62 inline bool isDefined()
const;
63 inline bool isUdf()
const {
return !isDefined(); }
64 template <
class FT> FT abs()
const;
65 inline T sqAbs()
const;
67 template <
class FT> FT distTo(
const Point3D<T>&)
const;
71 template <
class FT> FT xyDistTo(
const Point3D<T>&)
const;
75 template <
class FT> FT xyDistTo(
const Point2D<T>&)
const;
105 template <
class T>
inline
113 template <
class T>
inline
121 template <
class T>
template <
class TT>
inline
123 { x_=(T)a.
x_; y_=(T)a.
y_; z_=(T)a.
z_;
return *
this;}
126 template <
class T>
template <
class TT>
inline
128 { x_ = (T)xx; y_ = (T)yy; }
131 template <
class T>
inline
133 { x_ = xx ; y_ = yy; }
136 template <
class T>
inline
138 { x_ = p.x_ ; y_ = p.y_; }
140 template <
class T>
inline
149 template <
class T>
inline
152 const T dx = x_-b.
x_;
153 const T dy = y_-b.
y_;
154 const T dz = z_-b.
z_;
159 template <
class T>
inline
162 return !(*
this==oth);
166 template <
class T>
inline
170 return fabs(x_-pos.
x_)<eps.
x_ &&
171 fabs(y_-pos.
y_)<eps.
y_ &&
172 fabs(z_-pos.
z_)<eps.
z_;
176 template <
class T>
inline
208 template <
class T>
inline
218 template <
class T>
inline
229 template <
class T>
inline
257 {
return Point3D<T>( x_*factor, y_*factor, z_*factor ); }
262 {
return Point3D<T>( x_/denominator, y_/denominator, z_/denominator ); }
279 template <
class T>
inline
282 x_ += dist; y_ += dist; z_ += dist;
return *
this;
285 template <
class T>
inline
288 x_ += p.
x_; y_ += p.
y_; z_ += p.
z_;
293 template <
class T>
inline
296 x_ -= p.
x_; y_ -= p.
y_; z_ -= p.
z_;
301 template <
class T>
inline
304 x_ *= factor; y_ *= factor; z_ *= factor;
309 template <
class T>
inline
312 x_ /= denominator; y_ /= denominator; z_ /= denominator;
317 template <
class T>
inline
319 {
return x_*b.
x_ + y_*b.
y_ + z_*b.
z_; }
323 template <
class T>
inline
328 template <
class T>
inline
331 const T sqabsval = sqAbs();
339 template <
class T>
template <
class FT>
inline
344 template <
class T>
inline
347 return x_*x_ + y_*y_ + z_*z_;
351 template <
class T>
template <
class FT>
inline
356 template <
class T>
inline
359 const T xdiff = x_-pt.
x_;
360 const T ydiff = y_-pt.
y_;
361 const T zdiff = z_-pt.
z_;
362 return xdiff*xdiff + ydiff*ydiff + zdiff*zdiff;
366 template <
class T>
template <
class FT>
inline
371 template <
class T>
inline
374 return xySqDistTo( pt.
getXY() );
377 template <
class T>
template <
class FT>
inline
382 template <
class T>
inline
385 return getXY().sqDistTo( pt );
389 template <
class T>
inline
T dot(const Point3D< T > &) const
Definition: point3d.h:318
static Point3D< T > udf()
Definition: point3d.h:390
bool isUdf() const
Definition: point3d.h:63
Point3D< T > & operator*=(T factor)
Definition: point3d.h:302
Point3D< T > & operator/=(T den)
Definition: point3d.h:310
bool operator==(const Point3D &) const
Definition: point3d.h:150
Point3D< T > operator-() const
Definition: point3d.h:250
Point3D< T > operator*(const T factor) const
Definition: point3d.h:256
#define od_int64
Definition: plftypes.h:35
#define mDefEps
Definition: commondefs.h:71
FT distTo(const Point3D< T > &) const
Definition: point3d.h:352
#define mRounded(typ, x)
Definition: commondefs.h:57
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:81
Point3D< T > & operator-=(const Point3D< T > &)
Definition: point3d.h:294
Point3D< T > & setFrom(const Point3D< TT > &)
Definition: point3d.h:122
Point3D< T > operator/(const T den) const
Definition: point3d.h:261
bool isUdf(const T &t)
Definition: undefval.h:245
T y_
Definition: point3d.h:87
#define mIsZero(x, eps)
Definition: commondefs.h:66
Point3D< T > & operator+=(T dist)
Definition: point3d.h:280
bool operator!=(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:90
#define mClass(module)
Definition: commondefs.h:181
void setUdf()
Definition: point3d.h:84
T & operator[](int idx)
Definition: point3d.h:209
bool operator!=(const Point3D &) const
Definition: point3d.h:160
T z_
Definition: point3d.h:88
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
Definition: geometry.h:19
Basic point class.
Definition: geometry.h:27
int operator-(const DateInfo &di1, const DateInfo &di2)
Definition: dateinfo.h:128
FT xyDistTo(const Point3D< T > &) const
Distance in the xy plane.
Definition: point3d.h:367
Point3D< T > operator+(const Point3D< T > &) const
Definition: point3d.h:237
bool isSameAs(const Point3D &pos, const Point3D &eps) const
Definition: point3d.h:167
BufferString toPrettyString() const
Definition: point3d.h:81
FT abs() const
Definition: point3d.h:340
T xySqDistTo(const Point3D< T > &) const
Square distance in the xy plane.
Definition: point3d.h:372
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:274
Point3D< T > cross(const Point3D< T > &) const
Definition: point3d.h:324
Point3D< T > normalize() const
Returns vector with length one.
Definition: point3d.h:329
Point3D< T > & zero()
Definition: point3d.h:141
T sqAbs() const
Squared absolute value.
Definition: point3d.h:345
Point3D< T > unScaleBy(const Point3D< T > &denominator) const
Definition: point3d.h:272
void setXY(TT xx, TT yy)
Definition: point3d.h:127
T sqDistTo(const Point3D< T > &) const
Squared distance.
Definition: point3d.h:357
Point3D< T > operator*(int f, const Point3D< T > &b)
Definition: point3d.h:92
T x_
Definition: point3d.h:86
BufferString toString() const
Definition: point3d.h:177
BufferString toString(const BufferStringSet &bss)
Definition: bufstringset.h:156
Point3D(const Point2D< T > &, T)
Definition: point3d.h:106
bool isDefined() const
Definition: point3d.h:230
Point2D< T > getXY() const
Definition: point3d.h:33
Point3D< T > scaleBy(const Point3D< T > &factor) const
Definition: point3d.h:266
Generated at
for the OpendTect
seismic interpretation project.
Copyright (C): dGB Beheer B.V. 1995-2021