CGALライブラリ
幾何形状を取り扱うライブラリーらしいです.このインストール前に, BOOST, CMAKE をインストールですね必要です. GMP, LEDA, MPFR/MCがインストールされれいるとなにかが都合が良いらしいです.デモの実行にはQT5, GEOMVIEWが必要だそうですが,はて何をでもするんでしょうね.普通にBlender使った方がいいとおもうよ?
CGALは計算結果が厳密であり,計算が,まぢありえ”ねえレベルで遅いことで有名です.人生と計算のどっちが先に終わるか勝負,って感じです.実用に興味があり精度に興味がない人はIGLを使うそうです.精度と実用に興味がある人は,そこらへんで勝手に神様しといてください.
まあインストールって
- Venturaからこれ(CGAL-5.5.1)をクリックすれば良い
- Catalinaからはこれ(CGAL-5.1)をクリックすれば良い
- Mojaveまではコレ(CGAL-4.3)をクリックすれば良い
のです.
関連するライブラリー
関連するライブラリーをインストールしても良いが,まあどうでも良い:
にゃお,GLFWを動作させるには, XCodeで
- CoreVideo.framework
- IOKit.framework
- Cocoa.framework
- GLUT.framework
- OpenGL.framework
をLink Binary with Libraries: に追加しておく必要があります:
「コレ」を,理由はわからないが自分でも作りたい場合は:
CGALインストールパッケージの作成
CGAL-6の場合
$ tar zxf CGAL-6.0.1.tar.xz
$ cd CGAL-6.0.1 $ mkdir build $ cd build
$ cmake ..
$ fswatch -x /usr/local/ >& files.log &
$ sudo make install
$ kill %1
$ fswatch_analyze.sh -c _binary files.log
$ pkgbuild --identifier CGAL --root _binary CGAL-6.0.1-osx15.3.2.pkg
CGAL-5: MacOS Catalina (10.15)以降
CGAL-4.x のビルドは不可能ではありませんが困難です.CGAL-5.xはヘッダーオンリーライブラリーですので,ビルドというか, インストールするだけです.
cd CGAL-5.1
mkdir build
cd build
cmake ..
-- The CXX compiler identification is AppleClang 12.0.0.12000032
-- The C compiler identification is AppleClang 12.0.0.12000032
-- Detecting CXX compiler ABI info
...
-- USING GMP_VERSION = '6.0.0'
-- USING MPFR_VERSION = '3.1.2'
-- USING BOOST_VERSION = '1.71.0'
-- USING ZLIB_VERSION = '1.2.11'
-- USING Qt5_VERSION = '5.11.2'
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/sugimoto/Documents/Source/Free/CGAL-5.1/build
CGAL-4:MacOS Mojave (10.14)以前の場合
cd CGAL-4.3 cmake . -- The CXX compiler identification is AppleClang 10.0.0.10001145 -- The C compiler identification is AppleClang 10.0.0.10001145 ... -- Found GMP: /usr/local/lib/libgmp.dylib -- Found MPFR: /usr/local/lib/libmpfr.dylib -- Boost version: 1.63.0 ... -- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.11") -- USING ZLIB_VERSION = '1.2.11' -- USING Qt5_VERSION = '5.11.2'
なるほど.
fswatch -x /usr/local > files.log&
sudo make install
kill %1
fswatch_analyze.sh -c _binary files.log
pkgbuild --identifier cgal-5.1 --root _binary cgal-5.1-osx10.15.pkg
でおわりー
IGL
数学理論でも使えるCGALでは遅いので,実用になるIGLもインストールしましょう.
git clone https://github.com/libigl/libigl.git
これで libiglフォルダーにコピーできます.インストールといっても, ヘッダーをコピーするだけです.
cp -rv include/igl /usr/local/include/
だがこのままでは CGAL が有効になっていない.
cd libigl
mkdir build
cd build
cmake -DLIBIGL_WITH_CGAL=ON ../
make
なんだか CGAL ダウンロードしてなんかしとるわ.あり? cmake/libigl.cmake が珍妙だぞ
5 if(APPLE)
6 if(NOT CMAKE_LIBTOOL)
7 find_program(CMAKE_LIBTOOL NAMES libtool)
8 endif()
9 if(CMAKE_LIBTOOL)
10 set(CMAKE_LIBTOOL ${CMAKE_LIBTOOL} CACHE PATH "libtool executable")
11 message(STATUS "Found libtool - ${CMAKE_LIBTOOL}")
12 get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES)
13 foreach(lang ${languages})
14 # Added -c
15 set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
16 "${CMAKE_LIBTOOL} -c -static -o <TARGET> <LINK_FLAGS> <OBJECTS> ")
17 endforeach()
18 endif()
19 endif()
これは /usr/bin/libtool (BSD由来のOSX-libtool)を使う設定である. /usr/local/bin/libtool (GNU由来のlibtool) ではない. そこで, PATH設定で /usr/bin を先に回しておく.
export PATH=******:/usr/bin:/usr/local/bin:****
cd libigl
mkdir build
cd build
cmake -DLIBIGL_WITH_CGAL=ON ../
make
に訂正
fswatch -x /usr/local/ > files.log
make install
kill %1
fswatch_analyze.sh -c _binary < files.log
いちおうpkgも作った.
fswatch -x /usr/local/ >> files.log
sudo cp -rv include/igl /usr/local/include/
sudo cp -rv tutorial/data /usr/local/share/igl/data
sudo cp -rv external/glad/include/ /usr/local/include/ #glad, KHR
sudo cp -rv external/glad/src/libglad.a /usr/local/lib/
kill %1
fswatch_analyze.sh -c _binary < files.log
pkgbuild --identifier igl --root _binary igl-osx10.14.pkg
GLFW
IGLのプレビューが動作するにはGLFWが必要です.何らかの縛りか怨念のためにパッケージをどうしても自分で作りたいばあい
cd glfw-3.3
mkdir glfw-build
cd glfw-build
cmake ..
make
fswatch -x /usr/local/ > files.log&
sudo make install
kill %1
fswatch_analyze.sh -c _binary < files.log
pkgbuild --identifier openmpi --root _binary glfw-3.3_osx10.14.pkg
GLAD
IGLのプレビューが動作するにはGLADが必要です(誰かと思ったらクロノスの奴らだ・・・お前ら,少しは整理しやがれ).libiglのパッケージに混ぜてあります.
cd libigl/eternal/glad/grad/src
clang -c glad.c
ar rcs libglad.a glad.o
TETGEN
IGLが動作するにはTETGENが必要です.libiglのパッケージに混ぜてあります.
cd libigl/external/tetgen/
make tetlib # libtet.a ができる
CORK
IGLが動作するにはCORKが必要です. libiglのパッケージに混ぜてあります.
git clone https://github.com/gilbo/cork.git
cd cork
make lib/libcork.a # libcork.a ができる
必要なのは, lib/libcork.a と src/cork.h です.
Attachment | Size |
---|---|
cgal-5.1-osx10.15.pkg | 6.62 MB |
CGAL-5.5.1-osx13.0.pkg | 7.14 MB |