152 std::array<PreciseVertCoords, 3> plane;
163 bool isCrossing_( VertId v )
const;
164 int compareExact_( VertId p, VertId q,
bool yFirst )
const;
165 int exactOrient_( VertId a, VertId b, VertId c )
const;
166 bool ccwExact_( VertId a, VertId b, VertId c )
const;
167 int orientSlow_( VertId a, VertId b, VertId c )
const;
168 std::optional<bool> ccwBySides_( VertId a, VertId b, VertId c )
const;
169 std::optional<bool> ccwByPlanes_( VertId a, VertId b, VertId c )
const;
170 std::optional<bool> ccwByShifts_( VertId a, VertId b, VertId c,
const Line * line )
const;
171 std::optional<Vector2i> coincidentDirection_( VertId p, VertId q )
const;
172 std::optional<Vector2i> directionFromSide_( VertId p, VertId q )
const;
173 std::optional<Vector2i> directionAlongCut_( VertId p, VertId q )
const;
174 std::optional<Vector2i> perturbedDirection_( VertId p, VertId q,
bool alike )
const;
175 std::optional<Vector2i> shiftDirection_( VertId p, VertId q )
const;
176 std::optional<Shift> shift_( VertId p )
const;
177 std::optional<Line> commonLine_( VertId p, VertId q,
bool withVertex )
const;
178 Vector2i lineDirection_(
const Line & l )
const;
179 bool along_(
const Vector2i & dir, VertId p, VertId q )
const;
180 int sideOfPlane_(
const std::array<PreciseVertCoords, 3> & plane, VertId x )
const;
181 int crossingSideOfPlane_(
const std::array<PreciseVertCoords, 3> & plane, VertId x )
const;
184 std::array<PreciseVertCoords, 3> tri_;
186 int kx_ = 0, ky_ = 1;
187 std::array<Vector2i, 3> sideDirs_;
189 std::unique_ptr<Impl> impl_;
bool less(VertId p, VertId q) const
whether point p comes before point q along the sweep: a strict total order, unless reset or addPoint ...
bool ccwFromBehind(VertId b, VertId pivot) const
whether the triangle of a point far behind pivot against the sweep, b and pivot is counterclockwise,...
Only strictly necessary for the bindings (to make MR::MeshIntersectionResult a complete type).
Definition MRCameraOrientationPlugin.h:8
std::array< PreciseVertCoords, 2 > seg
the vertex in seg[0] if seg[1].id is invalid; otherwise the ends of the segment; ignored for a crossi...
Definition MRCutTrianglePredicates.h:24
std::array< PreciseVertCoords, 3 > tri
the triangle whose plane the segment crosses, or the plane of the first cut of a crossing of two cuts...
Definition MRCutTrianglePredicates.h:27