#include <iostream>
#include "OpenABF/OpenABF.hpp"
int main()
{
const std::vector vertices = {Vec3f{0.f, 0.f, 0.f}, Vec3f{2.f, 0.f, 0.f},
Vec3f{1.f, std::sqrt(3.f), 0.f},
Vec3f{1.f, std::sqrt(3.f) / 3.f, std::sqrt(6.f) * 2.f / 3.f}};
const auto original = ABF::Mesh::New();
original->insert_vertices(vertices);
original->insert_faces({{1, 3, 0}, {3, 2, 0}, {3, 1, 2}});
auto flat = original->clone();
std::size_t iters{0};
WriteMesh("openabf_example_clone_original.obj", original);
WriteMesh("openabf_example_clone_flattened.obj", flat);
}
Compute parameterized interior angles using ABF++.
Definition OpenABF.hpp:2640
static void Compute(typename Mesh::Pointer &mesh, std::size_t &iters, T &gradient, const std::size_t maxIters=10, T gradThreshold=T(0.001))
Compute parameterized interior angles.
Definition OpenABF.hpp:2678
Compute parameterized mesh using Angle-based LSCM.
Definition OpenABF.hpp:2987
static void Compute(typename Mesh::Pointer &mesh)
Compute the parameterized mesh using automatic pin selection.
Definition OpenABF.hpp:3018
Vec< float, 3 > Vec3f
3D, 32-bit float vector
Definition OpenABF.hpp:419
constexpr T INF
Inf, templated for floating-point type.
Definition OpenABF.hpp:69