MeshLib C++ Docs
Loading...
Searching...
No Matches
MRUnits.h File Reference
#include "MRViewer/exports.h"
#include "MRViewer/MRVectorTraits.h"
#include "MRMesh/MRUnitInfo.h"
#include <string>
#include <variant>

Go to the source code of this file.

Classes

struct  MR::detail::Units::Empty
 
struct  MR::UnitToStringParams< E >
 

Namespaces

namespace  MR
 
namespace  MR::detail
 
namespace  MR::detail::Units
 

Macros

#define MR_X(E)   extern template MRVIEWER_API const UnitToStringParams<E>& getDefaultUnitParams();
 
#define MR_X(E)   extern template MRVIEWER_API void setDefaultUnitParams( const UnitToStringParams<E>& newParams );
 
#define MR_X(E)   , UnitToStringParams<E>
 
#define MR_Y(T, E)   extern template MRVIEWER_API std::string valueToString<E, T>( T value, const UnitToStringParams<E>& params );
 
#define MR_X(E)   DETAIL_MR_UNIT_VALUE_TYPES(MR_Y, E)
 
#define MR_X(T, unused)   extern template MRVIEWER_API std::string valueToString( T value, const VarUnitToStringParams& params );
 
#define MR_X(T, unused)
 
#define MR_Y(T, E)   extern template MRVIEWER_API std::string valueToImGuiFormatString( T value, const UnitToStringParams<E>& params );
 
#define MR_X(E)   DETAIL_MR_UNIT_VALUE_TYPES(MR_Y, E)
 
#define MR_X(T, unused)   extern template MRVIEWER_API std::string valueToImGuiFormatString( T value, const VarUnitToStringParams& params );
 

Typedefs

using MR::VarUnitToStringParams
 

Enumerations

enum class  MR::NumberStyle { MR::normal , MR::distributePrecision , MR::exponential , MR::maybeExponential }
 
enum class  MR::DegreesMode { MR::degrees , MR::degreesMinutes , MR::degreesMinutesSeconds , MR::_count }
 
enum class  MR::ZeroMode { MR::asIs , MR::alwaysPositive , MR::alwaysNegative }
 

Functions

template<UnitEnum E>
const UnitToStringParams< E > & MR::getDefaultUnitParams ()
 
template<UnitEnum E>
void MR::setDefaultUnitParams (const UnitToStringParams< E > &newParams)
 
MRVIEWER_API std::string_view MR::toString (DegreesMode mode)
 
template<UnitEnum E, detail::Units::Scalar T>
MRVIEWER_API std::string MR::valueToString (T value, const UnitToStringParams< E > &params=getDefaultUnitParams< E >())
 
template<detail::Units::Scalar T>
MRVIEWER_API std::string MR::valueToString (T value, const VarUnitToStringParams &params)
 
template<detail::Units::Scalar T>
MRVIEWER_API int MR::guessPrecision (T value)
 
template<detail::Units::Scalar T>
MRVIEWER_API int MR::guessPrecision (T min, T max)
 
template<typename T >
requires (VectorTraits<T>::size > 1 && detail::Units::Scalar<typename VectorTraits<T>::BaseType>)
int MR::guessPrecision (T value)
 
template<typename T >
requires (VectorTraits<T>::size > 1 && detail::Units::Scalar<typename VectorTraits<T>::BaseType>)
int MR::guessPrecision (T min, T max)
 
template<UnitEnum E, detail::Units::Scalar T>
MRVIEWER_API std::string MR::valueToImGuiFormatString (T value, const UnitToStringParams< E > &params=getDefaultUnitParams< E >())
 
template<detail::Units::Scalar T>
MRVIEWER_API std::string MR::valueToImGuiFormatString (T value, const VarUnitToStringParams &params)
 

Macro Definition Documentation

◆ MR_X [1/8]

#define MR_X ( E)    extern template MRVIEWER_API const UnitToStringParams<E>& getDefaultUnitParams();

◆ MR_X [2/8]

#define MR_X ( E)    extern template MRVIEWER_API void setDefaultUnitParams( const UnitToStringParams<E>& newParams );

◆ MR_X [3/8]

#define MR_X ( E)    , UnitToStringParams<E>

◆ MR_X [4/8]

#define MR_X ( E)    DETAIL_MR_UNIT_VALUE_TYPES(MR_Y, E)

◆ MR_X [5/8]

#define MR_X ( E)    DETAIL_MR_UNIT_VALUE_TYPES(MR_Y, E)

◆ MR_X [6/8]

#define MR_X ( T,
unused )   extern template MRVIEWER_API std::string valueToString( T value, const VarUnitToStringParams& params );

◆ MR_X [7/8]

#define MR_X ( T,
unused )
Value:
extern template MRVIEWER_API int guessPrecision( T value ); \
extern template MRVIEWER_API int guessPrecision( T min, T max );

◆ MR_X [8/8]

#define MR_X ( T,
unused )   extern template MRVIEWER_API std::string valueToImGuiFormatString( T value, const VarUnitToStringParams& params );

◆ MR_Y [1/2]

#define MR_Y ( T,
E )   extern template MRVIEWER_API std::string valueToString<E, T>( T value, const UnitToStringParams<E>& params );

◆ MR_Y [2/2]

#define MR_Y ( T,
E )   extern template MRVIEWER_API std::string valueToImGuiFormatString( T value, const UnitToStringParams<E>& params );