Skip to main content

CGAL

CGALライブラリ

幾何形状を取り扱うライブラリーらしいです.このインストール前に, BOOST, CMAKE をインストールですね必要です. GMP, LEDA, MPFR/MCがインストールされれいるとなにかが都合が良いらしいです.デモの実行にはQT5, GEOMVIEWが必要だそうですが,はて何をでもするんでしょうね.普通にBlender使った方がいいとおもうよ?

使い方はこっちですね

CGALは計算結果が厳密であり,計算が,まぢありえ”ねえレベルで遅いことで有名です.人生と計算のどっちが先に終わるか勝負,って感じです.実用に興味があり精度に興味がない人はIGLを使うそうです.精度と実用に興味がある人は,そこらへんで勝手に神様しといてください.

まあインストールって

のです.

関連するライブラリー

関連するライブラリーをインストールしても良いが,まあどうでも良い:

にゃお,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 です.

File attachments
Attachment Size
cgal-5.1-osx10.15.pkg 6.62 MB
CGAL-5.5.1-osx13.0.pkg 7.14 MB