MeshLib C++ Docs
Loading...
Searching...
No Matches
MRPrecisePredicates3.h File Reference
#include "MRVector3.h"
#include "MRId.h"
#include <array>
#include <optional>

Go to the source code of this file.

Classes

struct  MR::PreciseVertCoords
struct  MR::TriangleSegmentIntersectResult
struct  MR::ConvertToIntVector
 translate then scale float-to-int coordinate converter More...
struct  MR::ConvertToFloatVector
 scale then translate int-to-float coordinate converter More...
struct  MR::CoordinateConverters
 this struct contains coordinate converters float-int-float More...

Namespaces

namespace  MR
 only for bindings generation

Functions

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)
bool MR::orient3d (const std::array< PreciseVertCoords, 4 > &vs)
 first sorts the indices in ascending order, then calls the predicate for sorted points
bool MR::orient3d (const PreciseVertCoords *vs)
TriangleSegmentIntersectResult MR::doTriangleSegmentIntersect (const std::array< PreciseVertCoords, 5 > &vs)
bool MR::segmentIntersectionOrder (const std::array< PreciseVertCoords, 8 > &vs)
ConvertToIntVector MR::getToIntConverter (const Box3d &box)
 creates converter from Vector3f to Vector3i in Box range (int diapason is mapped to box range)
ConvertToFloatVector MR::getToFloatConverter (const Box3d &box)
 creates converter from Vector3i to Vector3f in Box range (int diapason is mapped to box range)
Vector< Vector3i, VertId > MR::computeIntCoords (const ConvertToIntVector &conv, const VertCoords &points, const VertBitSet *valid=nullptr)
VertCoords MR::computeFloatCoords (const ConvertToFloatVector &conv, const Vector< Vector3i, VertId > &intCoords, const VertBitSet *valid=nullptr)
std::optional< Vector3i > MR::findTwoSegmentsIntersection (const Vector3i &ai, const Vector3i &bi, const Vector3i &ci, const Vector3i &di)
Vector3f MR::findTriangleSegmentIntersectionPrecise (const Vector3f &a, const Vector3f &b, const Vector3f &c, const Vector3f &d, const Vector3f &e, CoordinateConverters converters)