3#include "MRViewer/exports.h"
15namespace detail::Units
28#define MR_X(E) extern template MRVIEWER_API const UnitToStringParams<E>& getDefaultUnitParams();
36#define MR_X(E) extern template MRVIEWER_API void setDefaultUnitParams( const UnitToStringParams<E>& newParams );
123 #define MR_X(E) , UnitToStringParams<E>
130template <UnitEnum E, detail::Units::Scalar T>
133#define MR_Y(T, E) extern template MRVIEWER_API std::string valueToString<E, T>( T value, const UnitToStringParams<E>& params );
134#define MR_X(E) DETAIL_MR_UNIT_VALUE_TYPES(MR_Y, E)
140template <detail::Units::Scalar T>
143#define MR_X(T, unused) extern template MRVIEWER_API std::string valueToString( T value, const VarUnitToStringParams& params );
149template <detail::Units::Scalar T>
155template <detail::Units::Scalar T>
164 for (
int i = 0; i < VectorTraits<T>::size; i++ )
173 for (
int i = 0; i < VectorTraits<T>::size; i++ )
178#define MR_X(T, unused) \
179 extern template MRVIEWER_API int guessPrecision( T value ); \
180 extern template MRVIEWER_API int guessPrecision( T min, T max );
187template <UnitEnum E, detail::Units::Scalar T>
190#define MR_Y(T, E) extern template MRVIEWER_API std::string valueToImGuiFormatString( T value, const UnitToStringParams<E>& params );
191#define MR_X(E) DETAIL_MR_UNIT_VALUE_TYPES(MR_Y, E)
197template <detail::Units::Scalar T>
200#define MR_X(T, unused) extern template MRVIEWER_API std::string valueToImGuiFormatString( T value, const VarUnitToStringParams& params );
#define MR_TRIM_LEADING_COMMA(...)
Definition MRMacros.h:58
#define MR_X(E)
Definition MRUnitInfo.h:157
#define DETAIL_MR_UNIT_VALUE_TYPES(X,...)
Definition MRUnitInfo.h:118
#define DETAIL_MR_UNIT_ENUMS(X)
Definition MRUnitInfo.h:110
Definition MRUnitInfo.h:177
Definition MRCameraOrientationPlugin.h:8
NumberStyle
Definition MRUnits.h:41
MRVIEWER_API int guessPrecision(T value)
Definition MRUnits.h:161
MRVIEWER_API std::string valueToString(T value, const UnitToStringParams< E > ¶ms=getDefaultUnitParams< E >())
const UnitToStringParams< E > & getDefaultUnitParams()
void setDefaultUnitParams(const UnitToStringParams< E > &newParams)
MRVIEWER_API std::string valueToImGuiFormatString(T value, const UnitToStringParams< E > ¶ms=getDefaultUnitParams< E >())
ZeroMode
Definition MRUnits.h:59
DegreesMode
Definition MRUnits.h:50
MRMESH_API std::string_view toString(DimensionsVisualizePropertyType value)
std::variant< > VarUnitToStringParams
Definition MRUnits.h:122
bool leadingZero
Definition MRUnits.h:108
int precision
Definition MRUnits.h:89
std::conditional_t< std::is_same_v< E, AngleUnit >, DegreesMode, detail::Units::Empty > degreesMode
Definition MRUnits.h:114
NumberStyle style
Definition MRUnits.h:86
std::optional< E > sourceUnit
Definition MRUnits.h:76
ZeroMode zeroMode
Definition MRUnits.h:97
std::string_view decorationFormatString
Definition MRUnits.h:71
char thousandsSeparator
Definition MRUnits.h:103
bool unitSuffix
Definition MRUnits.h:81
char thousandsSeparatorFrac
Definition MRUnits.h:105
std::optional< E > targetUnit
Definition MRUnits.h:78
friend bool operator==(const UnitToStringParams &, const UnitToStringParams &)=default
bool stripTrailingZeroes
Definition MRUnits.h:111
bool plusSign
Definition MRUnits.h:94
bool unicodeMinusSign
Definition MRUnits.h:100
Definition MRMesh/MRVectorTraits.h:15
static constexpr int size
Definition MRMesh/MRVectorTraits.h:19
static constexpr auto && getElem(int i, U &&value)
Definition MRMesh/MRVectorTraits.h:29