/QuadriFlow

QuadriFlow: A Scalable and Robust Method for Quadrangulation. A quit method replaced with exceptions

Primary LanguageC++OtherNOASSERTION

Description

This is a fork of https://github.com/hjwdzh/QuadriFlow with some changes:

  1. Append generator of the static library for Linux OS and Windows OS.
  2. Replace quit() method into an exception to catch error in the pyQuadriflow else Blender will quit on errors this library.

In Blender this remesher used in the Mesh->Remesh->Quad menu:

image

As a result, two files are generated:

  • quadriflow.lib (for Windows)
  • libquadriflow.a (for Linux)

Windows Build

Dependencies

boost: https://www.boost.org/users/download/

image

Remember boost folder: E:\github.com\boost_1_85_0

Clone quadriflow:

mkdir e:\github.com
cd /d e:\github.com\
git clone https://github.com/satabol/QuadriFlow.git

image

cd QuadriFlow
mkdir build
cd build

image

 cmake .. -DCMAKE_BUILD_TYPE=release -DBoost_INCLUDE_DIR=E:\github.com\boost_1_85_0

image

Now you have Visual Studio 2022 Solution in the folder build:

image

open this solution in the Visual Studio and build it. If all ok then you have to see static library quadriflow.lib. It will used later to build static library pyQuadriflow.

image

This is the end of build for Windows.

Linux Build

For Linux build I will use WSL.

Dependency

Create folder /opt/github.com and open teminal here. Now clone

apt-get install cmake git

Create folder /opt/github.com and open teminal here. Now clone

git clone https://github.com/satabol/quadriflow.git
git clone https://github.com/PX4/eigen
wget https://boostorg.jfrog.io/artifactory/main/release/1.85.0/source/boost_1_85_0.zip
unzip boost_1_85_0.zip .

image

open eigen, create 'build' folder, open it and build it:

cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/opt/github.com/eigen/build
make -j install

Now you get eigen installed:

image

Now open quadriflow folder, make folder with name build and open it:

cmake .. -DCMAKE_BUILD_TYPE=release -DEIGEN_INCLUDE_DIR=/opt/github.com/eigen/build/include/eigen3/ -DBoost_INCLUDE_DIR=/opt/github.com/boost_1_85_0 -DCMAKE_CXX_FLAGS="-fpic"
make -j

image

Result

Now we have two static library files for pyQuadriFlow https://github.com/satabol/pyQuadriFlow:

image