26 {
return l.
pt < r.
pt || ( l.
pt == r.
pt && r.
id < l.
id ); }
30[[nodiscard]] MRMESH_API
bool ccw(
const Vector2i & a,
const Vector2i & b );
34[[nodiscard]]
inline bool ccw(
const Vector2i & a,
const Vector2i & b,
const Vector2i & c )
35 {
return ccw( a - c, b - c ); }
45[[nodiscard]] MRMESH_API
bool ccw(
const std::array<PreciseVertCoords2, 3> & vs );
52[[nodiscard]] MRMESH_API
bool smaller2(
const std::array<PreciseVertCoords2, 4> & vs );
57[[nodiscard]] MRMESH_API
bool orientParaboloid3d(
const Vector2i & a,
const Vector2i & b,
const Vector2i & c );
58[[nodiscard]]
inline bool orientParaboloid3d(
const Vector2i & a,
const Vector2i & b,
const Vector2i & c,
const Vector2i & d )
62[[nodiscard]] MRMESH_API
bool inCircle(
const std::array<PreciseVertCoords2, 4>& vs );
76 const std::array<PreciseVertCoords2, 4> & vs );
98 const Vector2i& a,
const Vector2i& b,
const Vector2i& c,
const Vector2i& d );
103 const Vector2f& a,
const Vector2f& b,
const Vector2f& c,
const Vector2f& d,
MRMESH_API bool ccw(const Vector2i &a, const Vector2i &b)
VertId id
unique id of the vertex (in both contours)
Definition MRPrecisePredicates2.h:19
MRMESH_API bool inCircle(const std::array< PreciseVertCoords2, 4 > &vs)
return true if 4th point in array lays inside circumcircle of first 3 points based triangle
MRMESH_API SegmentSegmentIntersectResult doSegmentSegmentIntersect(const std::array< PreciseVertCoords2, 4 > &vs)
MRMESH_API Vector2i findSegmentSegmentIntersectionPrecise(const Vector2i &a, const Vector2i &b, const Vector2i &c, const Vector2i &d)
int pt
coordinate
Definition MRPrecisePredicates2.h:20
Vector2i pt
integer coordinates of the vertex
Definition MRPrecisePredicates2.h:40
MRMESH_API bool segmentIntersectionOrder(const std::array< PreciseVertCoords2, 6 > &vs)
MRMESH_API bool orientParaboloid3d(const Vector2i &a, const Vector2i &b, const Vector2i &c)
VertId id
unique id of the vertex (in both contours)
Definition MRPrecisePredicates2.h:39
ConvertToFloatVector2 toFloat
Definition MRPrecisePredicates2.h:86
std::function< Vector2i(const Vector2f &)> ConvertToIntVector2
float-to-int coordinate converter
Definition MRPrecisePredicates2.h:79
std::function< Vector2f(const Vector2i &)> ConvertToFloatVector2
int-to-float coordinate converter
Definition MRPrecisePredicates2.h:81
MRMESH_API bool smaller2(const std::array< PreciseVertCoords2, 4 > &vs)
bool smaller(const PreciseVertCoord &l, const PreciseVertCoord &r)
Definition MRPrecisePredicates2.h:25
bool doIntersect
whether the segments intersect
Definition MRPrecisePredicates2.h:67
bool cIsLeftFromAB
whether the directed line AB has C point at the left
Definition MRPrecisePredicates2.h:68
ConvertToIntVector2 toInt
Definition MRPrecisePredicates2.h:85
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
this struct contains coordinate converters float-int-float
Definition MRPrecisePredicates2.h:84
Definition MRPrecisePredicates2.h:18
Definition MRPrecisePredicates2.h:38
Definition MRPrecisePredicates2.h:66