MeshLib
 
Loading...
Searching...
No Matches
MRPrecisePredicates2.h File Reference
#include "MRVector2.h"
#include "MRId.h"
#include <array>
#include <functional>

Go to the source code of this file.

Classes

struct  MR::PreciseVertCoords2
 
struct  MR::SegmentSegmentIntersectResult
 
struct  MR::CoordinateConverters2
 this struct contains coordinate converters float-int-float More...
 

Namespaces

namespace  MR
 
using MR::ConvertToIntVector2 = std::function<Vector2i( const Vector2f& )>
 float-to-int coordinate converter
 
using MR::ConvertToFloatVector2 = std::function<Vector2f( const Vector2i& )>
 int-to-float coordinate converter
 
MRMESH_API bool MR::ccw (const Vector2i &a, const Vector2i &b)
 
bool MR::ccw (const Vector2i &a, const Vector2i &b, const Vector2i &c)
 
MRMESH_API bool MR::ccw (const std::array< PreciseVertCoords2, 3 > &vs)
 first sorts the indices in ascending order, then calls the predicate for sorted points
 
MRMESH_API bool MR::ccw (const PreciseVertCoords2 *vs)
 
MRMESH_API SegmentSegmentIntersectResult MR::doSegmentSegmentIntersect (const std::array< PreciseVertCoords2, 4 > &vs)
 
MRMESH_API Vector2i MR::findSegmentSegmentIntersectionPrecise (const Vector2i &a, const Vector2i &b, const Vector2i &c, const Vector2i &d)
 
MRMESH_API Vector2f MR::findSegmentSegmentIntersectionPrecise (const Vector2f &a, const Vector2f &b, const Vector2f &c, const Vector2f &d, CoordinateConverters2 converters)