mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-23 08:41:11 -06:00

Fixing dep build script on Windows and removing some warnings. Use bundled igl by default. Not building with the dependency scripts if not explicitly stated. This way, it will stay in Fix the libigl patch to include C source files in header only mode.
57 lines
1.9 KiB
C++
57 lines
1.9 KiB
C++
#ifndef IGL_STRAIGHTEN_SEAMS_H
|
|
#define IGL_STRAIGHTEN_SEAMS_H
|
|
|
|
#include "igl_inline.h"
|
|
#include <Eigen/Core>
|
|
|
|
namespace igl
|
|
{
|
|
// STRAIGHTEN_SEAMS Given a obj-style mesh with (V,F) defining the geometric
|
|
// surface of the mesh and (VT,FT) defining the
|
|
// parameterization/texture-mapping of the mesh in the uv-domain, find all
|
|
// seams and boundaries in the texture-mapping and "straighten" them,
|
|
// remapping vertices along the boundary and in the interior. This will be
|
|
// careful to consistently straighten multiple seams in the texture-mesh
|
|
// corresponding to the same edge chains in the surface-mesh.
|
|
//
|
|
// [UT] = straighten_seams(V,F,VT,FT)
|
|
//
|
|
// Inputs:
|
|
// V #V by 3 list of vertices
|
|
// F #F by 3 list of triangle indices
|
|
// VT #VT by 2 list of texture coordinates
|
|
// FT #F by 3 list of triangle texture coordinates
|
|
// Optional:
|
|
// 'Tol' followed by Ramer-Douglas-Peucker tolerance as a fraction of the
|
|
// curves bounding box diagonal (see dpsimplify)
|
|
// Outputs:
|
|
// UE #UE by 2 list of indices into VT of coarse output polygon edges
|
|
// UT #VT by 3 list of new texture coordinates
|
|
// OT #OT by 2 list of indices into VT of boundary edges
|
|
//
|
|
// See also: simplify_curve, dpsimplify
|
|
template <
|
|
typename DerivedV,
|
|
typename DerivedF,
|
|
typename DerivedVT,
|
|
typename DerivedFT,
|
|
typename Scalar,
|
|
typename DerivedUE,
|
|
typename DerivedUT,
|
|
typename DerivedOT>
|
|
IGL_INLINE void straighten_seams(
|
|
const Eigen::MatrixBase<DerivedV> & V,
|
|
const Eigen::MatrixBase<DerivedF> & F,
|
|
const Eigen::MatrixBase<DerivedVT> & VT,
|
|
const Eigen::MatrixBase<DerivedFT> & FT,
|
|
const Scalar tol,
|
|
Eigen::PlainObjectBase<DerivedUE> & UE,
|
|
Eigen::PlainObjectBase<DerivedUT> & UT,
|
|
Eigen::PlainObjectBase<DerivedOT> & OT);
|
|
}
|
|
|
|
#ifndef IGL_STATIC_LIBRARY
|
|
# include "straighten_seams.cpp"
|
|
#endif
|
|
|
|
#endif
|