Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

cpp_frep

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Amira Abdel-Rahman authored
    751ffe99
    History

    cpp_reps

    C++ project to compare search of different design representations against a target static shape, and later against a physical function.

    Search methods used: nelder mead, gradient descent, EM and CMAES.

    Representations

    • global Representations
      • parametric frep (~ 5 parameters)
      • frep trees (~ 10 parameters)
      • dft (~ 20 parameters)
      • DNN/DMN (~ 100 parameters)
      • distance fields (~ 400 parameters) (in javascript to port to c++)
      • point cloud/mesh (~ 1,000 parameters)
      • voxel search (~ 10,000 parameters) (in javascript to port to c++)
    • local
      • morphogenes
      • Arep
      • lsystems

    dft progress

    A simple c++ frep library to design custom functional representation of geometries.

    Dependencies

    Similar to cpp_starter:

    • a modern C++ compiler (i.e. one that supports C++17 features, ex. gcc 7+)
    • cmake 3.13 or newer
    • Eigen3 (installable via apt, yum, or homebrew)
    • openCV (installable via apt, yum, or homebrew)
    • json Library: https://github.com/nlohmann/json

    Building

    From the project's root directory,

    mkdir build
    cd build
    cmake ..
    make

    Tips:

    • you can build using multiple threads at once using e.g. make -j4
    • you can specify a specific compiler using cmake .. -DCMAKE_CXX_COMPILER=g++-8
    • for debugging symbols use cmake .. -DCMAKE_BUILD_TYPE=Debug

    Running

    From the build directory,

    cpp_frep/cpp_frep