#pragma once #include "ThirdPartyHeadersBegin.h" # include # include # include # include #include "ThirdPartyHeadersEnd.h" #include "basicTypes.h" #include "CodeContract.h" #include "ClassMacros.h" namespace tecplot { namespace ___3933 { template inline void clearAndDeallocVector(std::vector& vectorToClear) { std::vector().swap(vectorToClear); } class UVW { private: double m_uValue; double m_vValue; double m_wValue; public: UVW(double uu, double vv, double ww) : m_uValue(uu), m_vValue(vv), m_wValue(ww) {} UVW() : m_uValue(DBL_MAX), m_vValue(DBL_MAX), m_wValue(DBL_MAX) {} inline double u(void) const { return m_uValue; } inline double ___4291(void) const { return m_vValue; } inline double w(void) const { return m_wValue; } inline void setU(double uu) { m_uValue = uu; } inline void setV(double vv) { m_vValue = vv; } inline void setW(double ww) { m_wValue = ww; } void invalidate(void) { m_uValue=DBL_MAX; m_vValue=DBL_MAX; m_wValue=DBL_MAX; } bool ___2067(void) const { return m_uValue!=DBL_MAX && m_vValue!= DBL_MAX && m_wValue!=DBL_MAX; } inline bool operator==(UVW const& uvw) { return m_uValue==uvw.m_uValue && m_vValue==uvw.m_vValue && m_wValue==uvw.m_wValue; } inline void operator/=(double const scalar) { m_uValue /= scalar; m_vValue /= scalar; m_wValue /= scalar; } inline void operator+=(UVW const& uvw) { m_uValue += uvw.m_uValue; m_vValue += uvw.m_vValue; m_wValue += uvw.m_wValue; } inline UVW operator+(UVW const& uvw) const { return UVW(m_uValue+uvw.m_uValue, m_vValue+uvw.m_vValue, m_wValue+uvw.m_wValue); } inline UVW operator-(UVW const& uvw) const { return UVW(m_uValue-uvw.m_uValue, m_vValue-uvw.m_vValue, m_wValue-uvw.m_wValue); } inline UVW operator*(double const scalar) const { return UVW(m_uValue*scalar, m_vValue*scalar, m_wValue*scalar); } inline double normL1(void) const { return std::abs(m_uValue) + std::abs(m_vValue) + std::abs(m_wValue); } }; class ___4580 { private: double m_xValue; double m_yValue; double m_zValue; public: ___4580(double xx, double yy, double zz) : m_xValue(xx), m_yValue(yy), m_zValue(zz) {} ___4580() : m_xValue(DBL_MAX), m_yValue(DBL_MAX), m_zValue(DBL_MAX) {} inline double x(void) const { return m_xValue; } inline double ___4583(void) const { return m_yValue; } inline double z(void) const { return m_zValue; } inline void setX(double xx) { m_xValue = xx; } inline void setY(double yy) { m_yValue = yy; } inline void setZ(double zz) { m_zValue = zz; } void invalidate(void) { m_xValue=DBL_MAX; m_yValue=DBL_MAX; m_zValue=DBL_MAX; } bool ___2067(void) const { return m_xValue!=DBL_MAX && m_yValue!= DBL_MAX && m_zValue!=DBL_MAX; } inline void operator*=(double const scalar) { m_xValue *= scalar; m_yValue *= scalar; m_zValue *= scalar; } inline void operator/=(double const scalar) { m_xValue /= scalar; m_yValue /= scalar; m_zValue /= scalar; } inline void operator+=(___4580 const& xyz) { m_xValue += xyz.x(); m_yValue += xyz.___4583(); m_zValue += xyz.z(); } inline ___4580 operator+(___4580 const& xyz) const { return ___4580(m_xValue+xyz.x(), m_yValue+xyz.___4583(), m_zValue+xyz.z()); } inline ___4580 operator-(___4580 const& xyz) const { return ___4580(m_xValue-xyz.x(), m_yValue-xyz.___4583(), m_zValue-xyz.z()); } inline ___4580 operator*(double const scalar) const { return ___4580(m_xValue*scalar, m_yValue*scalar, m_zValue*scalar); } inline bool operator>(double const scalar) const { return m_xValue > scalar && m_yValue > scalar && m_zValue > scalar; } inline bool operator<(double const scalar) const { return m_xValue < scalar && m_yValue < scalar && m_zValue < scalar; } inline bool operator<=(___4580 const& xyz) const { return m_xValue <= xyz.x() && m_yValue <= xyz.___4583() && m_zValue <= xyz.z(); } inline bool operator==(___4580 const& xyz) const { return float(m_xValue) == float(xyz.x()) && float(m_yValue) == float(xyz.___4583()) && float(m_zValue) == float(xyz.z()); } inline double normL1(void) const { return std::abs(m_xValue) + std::abs(m_yValue) + std::abs(m_zValue); } }; inline ___4580 abs(___4580 const& xyz) { return ___4580(std::abs(xyz.x()), std::abs(xyz.___4583()), std::abs(xyz.___4583())); } class XYZC { private: ___4580 m_xyz; double m_cValue; public: XYZC(___4580 const& xyz, double cc) : m_xyz(xyz), m_cValue(cc) {} XYZC() : m_xyz(DBL_MAX, DBL_MAX, DBL_MAX), m_cValue(DBL_MAX) {} void invalidate(void) { m_xyz.invalidate(); m_cValue = DBL_MAX; } bool ___2067(void) const { return m_xyz.___2067() && m_cValue!= DBL_MAX; } inline ___4580 const& xyz(void) const { return m_xyz; } inline double const& c(void) const { return m_cValue; } inline XYZC operator+(XYZC const& xyzc) const { return XYZC(m_xyz+xyzc.xyz(), m_cValue+xyzc.c()); } inline XYZC operator-(XYZC const& xyzc) const { return XYZC(m_xyz-xyzc.xyz(), m_cValue-xyzc.c()); } inline XYZC operator*(double const scalar) const { return XYZC(m_xyz*scalar, m_cValue*scalar); } inline void operator+=(XYZC const& xyzc) { m_xyz+=xyzc.xyz(); m_cValue+=xyzc.c(); } inline void operator*=(double const ___1304) { m_xyz*=___1304; m_cValue*=___1304; } inline void operator/=(double const ___1304) { m_xyz/=___1304; m_cValue/=___1304; } inline void setX(double xx) { m_xyz.setX(xx); } inline void setY(double yy) { m_xyz.setY(yy); } inline void setZ(double zz) { m_xyz.setZ(zz); } inline void setC(double cc) { m_cValue = cc; } inline double norm(void) { return m_xyz.normL1() + std::abs(m_cValue); } }; template class ThreeValues { private: T m_v1; T m_v2; T m_v3; public: ThreeValues(T v1, T v2, T v3) : m_v1(v1), m_v2(v2), m_v3(v3) {} ThreeValues() {} T const& v1() const { return m_v1; } T const& v2() const { return m_v2; } T const& v3() const { return m_v3; } T& v1() { return m_v1; } T& v2() { return m_v2; } T& v3() { return m_v3; } bool operator>=(T const& scalar) const { return m_v1>=scalar && m_v2>=scalar && m_v3>=scalar; } bool operator<=(T const& scalar) const { return m_v1<=scalar && m_v2<=scalar && m_v3<=scalar; } bool operator<(T const& scalar) const { return m_v1(T const& scalar) const { return m_v1>scalar && m_v2>scalar && m_v3>scalar; } bool anyComponentEquals(T const& scalar) const { return m_v1==scalar || m_v2==scalar || m_v3==scalar; } }; class XYZVars : public ThreeValues<___4352> { public: XYZVars(___4352 xVar, ___4352 yVar, ___4352 zVar) : ThreeValues<___4352>(xVar, yVar, zVar) {} ___4352 xVar() const { return v1(); } ___4352 yVar() const { return v2(); } ___4352 zVar() const { return v3(); } }; class UVWVars : public ThreeValues<___4352> { public: UVWVars(___4352 uVar, ___4352 vVar, ___4352 wVar) : ThreeValues<___4352>(uVar, vVar, wVar) {} ___4352 uVar() const { return v1(); } ___4352 vVar() const { return v2(); } ___4352 wVar() const { return v3(); } }; template class FourValues { private: T m_v1; T m_v2; T m_v3; T m_v4; public: FourValues(T v1, T v2, T v3, T v4) : m_v1(v1), m_v2(v2), m_v3(v3), m_v4(v4) {} FourValues() {} T const& v1() const { return m_v1; } T const& v2() const { return m_v2; } T const& v3() const { return m_v3; } T const& v4() const { return m_v4; } T& v1() { return m_v1; } T& v2() { return m_v2; } T& v3() { return m_v3; } T& v4() { return m_v4; } bool operator>=(T const& scalar) const { return m_v1>=scalar && m_v2>=scalar && m_v3>=scalar && m_v4>=scalar; } bool operator<=(T const& scalar) const { return m_v1<=scalar && m_v2<=scalar && m_v3<=scalar && m_v4<=scalar; } }; class ThreeValueArray : public ThreeValues< std::vector > { UNCOPYABLE_CLASS(ThreeValueArray); public: ThreeValueArray() {} size_t size() { ___478(v1().size()==v2().size() && v2().size()==v3().size()); return v1().size(); } void clearAndDealloc(void) { clearAndDeallocVector(v1()); clearAndDeallocVector(v2()); clearAndDeallocVector(v3()); } void repeatLastPoint() { size_t lastPoint = size()-1; v1().push_back(v1()[lastPoint]); v2().push_back(v2()[lastPoint]); v3().push_back(v3()[lastPoint]); } void switchValues(size_t ___1841, size_t ___2113) { REQUIRE(___1841