MCPcopy Create free account
hub / github.com/MeshInspector/MeshLib / getLengthDependentUnit

Function getLengthDependentUnit

source/MRViewer/MRUnitSettings.cpp:84–153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

82}
83
84static auto getLengthDependentUnit()
85{
86 return overloaded{
87 // All length-related unit types must be listed here.
88 [] <std::same_as<LengthUnit>>( LengthUnit unit )
89 {
90 return unit;
91 },
92 []<std::same_as<AreaUnit>>( LengthUnit unit )
93 {
94 switch ( unit )
95 {
96 case LengthUnit::microns: return AreaUnit::microns2;
97 case LengthUnit::millimeters: return AreaUnit::millimeters2;
98 case LengthUnit::centimeters: return AreaUnit::centimeters2;
99 case LengthUnit::meters: return AreaUnit::meters2;
100 case LengthUnit::inches: return AreaUnit::inches2;
101 case LengthUnit::feet: return AreaUnit::feet2;
102 case LengthUnit::_count:; // MSVC warns otherwise.
103 }
104 assert( false );
105 return AreaUnit::millimeters2;
106 },
107 []<std::same_as<VolumeUnit>>( LengthUnit unit )
108 {
109 switch ( unit )
110 {
111 case LengthUnit::microns: return VolumeUnit::microns3;
112 case LengthUnit::millimeters: return VolumeUnit::millimeters3;
113 case LengthUnit::centimeters: return VolumeUnit::centimeters3;
114 case LengthUnit::meters: return VolumeUnit::meters3;
115 case LengthUnit::inches: return VolumeUnit::inches3;
116 case LengthUnit::feet: return VolumeUnit::feet3;
117 case LengthUnit::_count:; // MSVC warns otherwise.
118 }
119 assert( false );
120 return VolumeUnit::millimeters3;
121 },
122 []<std::same_as<MovementSpeedUnit>>( LengthUnit unit )
123 {
124 switch ( unit )
125 {
126 case LengthUnit::microns: return MovementSpeedUnit::micronsPerSecond;
127 case LengthUnit::millimeters: return MovementSpeedUnit::millimetersPerSecond;
128 case LengthUnit::centimeters: return MovementSpeedUnit::centimetersPerSecond;
129 case LengthUnit::meters: return MovementSpeedUnit::metersPerSecond;
130 case LengthUnit::inches: return MovementSpeedUnit::inchesPerSecond;
131 case LengthUnit::feet: return MovementSpeedUnit::feetPerSecond;
132 case LengthUnit::_count:; // MSVC warns otherwise.
133 }
134 assert( false );
135 return MovementSpeedUnit::millimetersPerSecond;
136 },
137 []<std::same_as<InvLengthUnit>>( LengthUnit unit )
138 {
139 switch ( unit )
140 {
141 case LengthUnit::microns: return InvLengthUnit::inv_microns;

Callers 2

setUiLengthUnitFunction · 0.85
setModelLengthUnitFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected