|  | 
| namespace | MR | 
|  | 
| using | MR::ConvertToIntVector = std::function<Vector3i( const Vector3f& )> | 
|  | float-to-int coordinate converter 
 | 
|  | 
| using | MR::ConvertToFloatVector = std::function<Vector3f( const Vector3i& )> | 
|  | int-to-float coordinate converter 
 | 
|  | 
| MRMESH_API bool | MR::orient3d (const Vector3i &a, const Vector3i &b, const Vector3i &c) | 
|  | 
| bool | MR::orient3d (const Vector3i &a, const Vector3i &b, const Vector3i &c, const Vector3i &d) | 
|  | 
| MRMESH_API bool | MR::orient3d (const std::array< PreciseVertCoords, 4 > &vs) | 
|  | first sorts the indices in ascending order, then calls the predicate for sorted points 
 | 
|  | 
| MRMESH_API bool | MR::orient3d (const PreciseVertCoords *vs) | 
|  | 
| MRMESH_API TriangleSegmentIntersectResult | MR::doTriangleSegmentIntersect (const std::array< PreciseVertCoords, 5 > &vs) | 
|  | 
| MRMESH_API bool | MR::segmentIntersectionOrder (const std::array< PreciseVertCoords, 8 > &vs) | 
|  | 
| MRMESH_API ConvertToIntVector | MR::getToIntConverter (const Box3d &box) | 
|  | creates converter from Vector3f to Vector3i in Box range (int diapason is mapped to box range) 
 | 
|  | 
| MRMESH_API ConvertToFloatVector | MR::getToFloatConverter (const Box3d &box) | 
|  | creates converter from Vector3i to Vector3f in Box range (int diapason is mapped to box range) 
 | 
|  | 
| MRMESH_API std::optional< Vector3i > | MR::findTwoSegmentsIntersection (const Vector3i &ai, const Vector3i &bi, const Vector3i &ci, const Vector3i &di) | 
|  | 
| MRMESH_API Vector3f | MR::findTriangleSegmentIntersectionPrecise (const Vector3f &a, const Vector3f &b, const Vector3f &c, const Vector3f &d, const Vector3f &e, CoordinateConverters converters) | 
|  |