QUAOAR STUDIO // Mobius API
31 #ifndef core_XYZ_HeaderFile
32 #define core_XYZ_HeaderFile
35 #include <mobius/core_Precision.h>
68 mobiusCore_EXPORT
static bool
69 AreSamePlane(
const std::vector<core_XYZ>& dirs,
70 const double prec = core_Precision::Resolution3D());
72 mobiusCore_EXPORT
static bool
73 AreSpanningWholeSpace(
const std::vector<core_XYZ>& dirs,
74 const double prec = core_Precision::Resolution3D());
83 m_fX = m_fY = m_fZ = 0.0;
189 double* coord =
nullptr;
209 return ( fabs(m_fX) <= tol3D ) &&
210 ( fabs(m_fY) <= tol3D ) &&
211 ( fabs(m_fZ) <= tol3D );
219 const double tol3D = 0.)
const
221 return ( fabs( m_fX - XYZ.
X() ) <= tol3D ) &&
222 ( fabs( m_fY - XYZ.
Y() ) <= tol3D ) &&
223 ( fabs( m_fZ - XYZ.
Z() ) <= tol3D );
231 return core_XYZ(m_fX < XYZ.m_fX ? m_fX : XYZ.m_fX,
232 m_fY < XYZ.m_fY ? m_fY : XYZ.m_fY,
233 m_fZ < XYZ.m_fZ ? m_fZ : XYZ.m_fZ);
241 return core_XYZ(m_fX > XYZ.m_fX ? m_fX : XYZ.m_fX,
242 m_fY > XYZ.m_fY ? m_fY : XYZ.m_fY,
243 m_fZ > XYZ.m_fZ ? m_fZ : XYZ.m_fZ);
249 return m_fX > m_fY ? (m_fX > m_fZ ? m_fX : m_fZ)
250 : (m_fY > m_fZ ? m_fY : m_fZ);
255 mobiusCore_EXPORT
double
258 mobiusCore_EXPORT
double
259 SquaredModulus()
const;
262 Multiplied(
const double coeff)
const;
264 mobiusCore_EXPORT
void
270 mobiusCore_EXPORT
void
276 mobiusCore_EXPORT
double
282 mobiusCore_EXPORT
double
285 mobiusCore_EXPORT
double
291 mobiusCore_EXPORT
bool
292 operator==(
const core_XYZ& XYZ)
const;
298 operator*(
const double coeff)
const;
301 operator*=(
const double coeff);
303 mobiusCore_EXPORT
double
304 operator*(
const core_XYZ& XYZ)
const;
307 operator^(
const core_XYZ& XYZ)
const;
310 operator/(
const double coeff)
const;
313 operator/=(
const double coeff);
316 operator+(
const core_XYZ& XYZ)
const;
325 operator-(
const core_XYZ& XYZ)
const;
330 mobiusCore_EXPORT
void
331 Transform(
const double (&mx)[3][3]);
~core_XYZ()
Destructor.
Definition: core_XYZ.h:109
Defines an exception class C1 that inherits an exception class C2.
Definition: bspl_Decompose.h:41
Definition: core_XYZ.h:45
static int num_coordinates()
Definition: core_XYZ.h:51
core_XYZ(const double x, const double y, const double z)
Definition: core_XYZ.h:90
core_XYZ()
Definition: core_XYZ.h:81
double Y() const
Definition: core_XYZ.h:129
core_UV operator*(const double coeff, const core_UV &coords)
Definition: core_UV.h:193
bool IsOrigin(const double tol3D=0.) const
Definition: core_XYZ.h:207
void SetY(const double y)
Definition: core_XYZ.h:136
void SetXYZ(const core_XYZ &other)
Definition: core_XYZ.h:158
core_XYZ(const core_XYZ &XYZ)
Definition: core_XYZ.h:101
double Z() const
Definition: core_XYZ.h:143
core_XYZ t_xyz
Definition: core_XYZ.h:356
core_XYZ CWiseMax(const core_XYZ &XYZ) const
Definition: core_XYZ.h:239
double GetMaxComponent() const
Definition: core_XYZ.h:247
double SetCoord(const int idx, const double val)
Definition: core_XYZ.h:186
core_XYZ CWiseMin(const core_XYZ &XYZ) const
Definition: core_XYZ.h:229
void SetZ(const double z)
Definition: core_XYZ.h:150
double Coord(const int idx) const
Definition: core_XYZ.h:168
bool IsEqual(const core_XYZ &XYZ, const double tol3D=0.) const
Definition: core_XYZ.h:218
double X() const
Definition: core_XYZ.h:115
void SetX(const double x)
Definition: core_XYZ.h:122