CPPxDIC
C++ Digital Image Correlation library for fingertip 3D reconstruction
Loading...
Searching...
No Matches
surface_stitching.h File Reference
#include "dic_structures.h"
#include <vector>
#include <Eigen/Dense>

Go to the source code of this file.

Namespaces

namespace  cppxdic
 DataSerializer - Abstract base class for format-agnostic DIC data I/O.
 

Functions

DIC3Dcombined cppxdic::stitchPairsSimple (const std::vector< DIC3DpairResults > &all_pairs)
 Simple append-based stitching for multiple stereo pairs.
 
DIC3Dcombined cppxdic::stitchPairsGeometric (const std::vector< DIC3DpairResults > &all_pairs, const std::vector< int > &pair_order, bool pair_forced=false)
 Geometric stitching with overlap removal and boundary zipping Matches MATLAB's DIC3DsurfaceStitch.m with geometric stitching enabled.
 
void cppxdic::setStitchRayAccel (bool enabled)
 Enable/disable the AABB-hierarchy prefilter used by the overlap-removal ray casts.
 
bool cppxdic::stitchRayAccel ()
 Current state of the ray-cast prefilter (see setStitchRayAccel).
 
std::vector< int > cppxdic::computeMeshBoundary (const std::vector< int > &faces, const std::vector< Eigen::Vector3d > &vertices)
 Compute boundary edges of a triangular mesh Matches MATLAB: patchBoundary(F, V)
 
std::vector< double > cppxdic::computeEdgeLengths (const std::vector< int > &faces, const std::vector< Eigen::Vector3d > &vertices)
 Compute edge lengths for all triangles Matches MATLAB: patchEdgeLengths(F, V)
 
std::pair< std::vector< bool >, std::vector< bool > > cppxdic::removeOverlapSurfaces (const std::vector< int > &faces1, const std::vector< int > &faces2, const std::vector< Eigen::Vector3d > &vertices1, const std::vector< Eigen::Vector3d > &vertices2, double min_gap, bool pair_forced=false)
 Remove overlapping regions from two surfaces Matches MATLAB: removeOverlapSurface_temp_2018_10_30(F1, F2, V1, V2, [], [], minGap, pairforced)
 
std::vector< std::vector< int > > cppxdic::groupBoundaryEdges (const std::vector< int > &boundary_edges)
 Group boundary edges into connected components.
 
std::vector< int > cppxdic::edgeListToCurve (const std::vector< int > &edges)
 Convert an unordered list of edges into an ordered curve of vertex indices.
 
std::vector< int > cppxdic::zipBoundaryCurves (const std::vector< int > &curve1, const std::vector< int > &curve2, const std::vector< Eigen::Vector3d > &V_combined)
 Zip two boundary curves together by creating a triangle strip.
 
std::vector< bool > cppxdic::findAllBoundaryFaces (const std::vector< int > &faces, const std::vector< int > &boundary_edges)
 Remove faces where all 3 edges are on the boundary (degenerate boundary triangles).