12struct UnorientedTriangle
17 bool * outFlipped =
nullptr )
21 auto checkSwap = [
this, &flipped](
int i,
int j )
24 assert( verts[i] != verts[j] );
25 if ( verts[i] > verts[j] )
28 std::swap( verts[i], verts[j] );
35 *outFlipped = flipped;
39 ThreeVertIds getFlipped()
const {
return { verts[0], verts[2], verts[1] }; }
44 VertId &operator[]( std::size_t i ) {
return verts[i]; }
45 const VertId &operator[]( std::size_t i )
const {
return verts[i]; }
56struct hash<
MR::UnorientedTriangle>
61 2 * size_t( triplet.verts[0] ) +
62 3 * size_t( triplet.verts[1] ) +
63 5 * size_t( triplet.verts[2] );
Definition MRUnorientedTriangle.h:13
unsafe UnorientedTriangle(MR.Const_UnorientedTriangle _other)
Definition MRCameraOrientationPlugin.h:8