#include "quickhull.h"
#include <algorithm>
#include <limits>
#include "./impl.h"
namespace manifold {
double defaultEps() { … }
inline double getSquaredDistanceBetweenPointAndRay(const vec3& p,
const Ray& r) { … }
inline double getSquaredDistance(const vec3& p1, const vec3& p2) { … }
inline double getSignedDistanceToPlane(const vec3& v, const Plane& p) { … }
inline vec3 getTriangleNormal(const vec3& a, const vec3& b, const vec3& c) { … }
size_t MeshBuilder::addFace() { … }
size_t MeshBuilder::addHalfedge() { … }
void MeshBuilder::setup(int a, int b, int c, int d) { … }
std::array<int, 3> MeshBuilder::getVertexIndicesOfFace(const Face& f) const { … }
HalfEdgeMesh::HalfEdgeMesh(const MeshBuilder& builderObject,
const VecView<vec3>& vertexData) { … }
std::pair<Vec<Halfedge>, Vec<vec3>> QuickHull::buildMesh(double epsilon) { … }
void QuickHull::createConvexHalfedgeMesh() { … }
std::array<size_t, 6> QuickHull::getExtremeValues() { … }
bool QuickHull::reorderHorizonEdges(VecView<size_t>& horizonEdges) { … }
double QuickHull::getScale(const std::array<size_t, 6>& extremeValuesInput) { … }
void QuickHull::setupInitialTetrahedron() { … }
std::unique_ptr<Vec<size_t>> QuickHull::getIndexVectorFromPool() { … }
void QuickHull::reclaimToIndexVectorPool(std::unique_ptr<Vec<size_t>>& ptr) { … }
bool QuickHull::addPointToFace(typename MeshBuilder::Face& f,
size_t pointIndex) { … }
void Manifold::Impl::Hull(VecView<vec3> vertPos) { … }
}