Build

conda deactivate
cmake -DWITH_examples=ON -DWITH_tests=ON -DWITH_demos=ON -DCGAL_ENABLE_TESTING=ON -DCMAKE_PREFIX_PATH=/home/chunibyo/workspace/osc/01_cgal/build ..

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "/home/chunibyo/workspace/osc/01_cgal/build/test/${fileDirnameBasename}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

Kernel

  1. Predicates: 谓词(predicates)用于判断几何关系的布尔表达式,例如判断两条线是否相交
  2. Constructions: 构造(constructions)是指几何对象的创建或修改(例如计算交点、生成新点等)
  3. EPICK: Exact Predicates Inexact Constructions Kernel
  4. EPECK: Exact Predicates Exact Constructions Kernel

Skeleton

Straight Skeleton 2

Grassfire

Main Function

template<class Gt, class Ss, class V> // class Traits_, class SSkel_, class Visitor_
bool Straight_skeleton_builder_2<Gt,Ss,V>::Run()
{
  InitPhase();
  Propagate();
  return FinishUp();
}