3#include "MRMesh/MRMeshFwd.h"
4#include "MRPch/MRBindingMacros.h"
22 static constexpr int size = 1;
23 static constexpr bool supportNoInit =
false;
32 [[nodiscard]]
static constexpr auto&&
getElem(
int i, U&& value ) { (void)i;
return value; }
34 template <
typename U = T>
35 static constexpr U
diagonal( U v ) {
return v; }
42 static constexpr int size = 2;
49 [[nodiscard]]
static auto&&
getElem(
int i, U&& value )
53 return ( &value.x )[i];
63 static constexpr int size = 3;
70 [[nodiscard]]
static auto&&
getElem(
int i, U&& value )
74 return ( &value.x )[i];
84 static constexpr int size = 4;
91 [[nodiscard]]
static auto&&
getElem(
int i, U&& value )
95 return ( &value.x )[i];
T BaseType
Definition MRMesh/MRVectorTraits.h:83
static constexpr U diagonal(U v)
Adding a template parameter to allow instantiating the rest of the class with T == void.
Definition MRMesh/MRVectorTraits.h:35
static auto && getElem(int i, U &&value)
Definition MRMesh/MRVectorTraits.h:91
static auto && getElem(int i, U &&value)
Definition MRMesh/MRVectorTraits.h:49
T BaseType
Definition MRMesh/MRVectorTraits.h:62
ImVec2 size(const ViewportRectangle &rect)
Definition MRViewport.h:32
U ChangeBaseType
Changes the vector element type. For scalars, replaces the whole type.
Definition MRMesh/MRVectorTraits.h:27
static constexpr auto diagonal(T v)
Definition MRMesh/MRVectorTraits.h:98
static auto && getElem(int i, U &&value)
Definition MRMesh/MRVectorTraits.h:70
static constexpr int size
Definition MRMesh/MRVectorTraits.h:22
static constexpr auto && getElem(int i, U &&value)
Definition MRMesh/MRVectorTraits.h:32
static constexpr auto diagonal(T v)
Definition MRMesh/MRVectorTraits.h:56
static constexpr auto diagonal(T v)
Definition MRMesh/MRVectorTraits.h:77
static constexpr bool supportNoInit
Definition MRMesh/MRVectorTraits.h:23
static constexpr Vector4 diagonal(T a) noexcept
Definition MRVector4.h:41
std::array< Vector3f, 3 > MR_BIND_IGNORE
Definition MRMeshBuilderTypes.h:13
T BaseType
The base template handles scalars (or just non-vectors).
Definition MRMesh/MRVectorTraits.h:21
T BaseType
Definition MRMesh/MRVectorTraits.h:41
static constexpr Vector3 diagonal(T a) noexcept
Definition MRVector3.h:52
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRVector2.h:29
static constexpr Vector2 diagonal(T a) noexcept
Definition MRVector2.h:48
Definition MRVector3.h:33
Definition MRVector4.h:26
Common traits for (mathematical) vectors.
Definition MRMesh/MRVectorTraits.h:18