- boost::dll
- boost::filesystem
- sol3 & luajit
- GLM
- CGAL
- it's a core
- plugins based
- compiled the luajit(static),boost::filesystem(static) ... all to the core
- so if you write app based on cartesian, just link cartesian, only include there headers
- write the plugin for Cartesian core
- if you want write plugin for cartesian,just try this:
#include "CartesianEntryPoint.h"
#include "sol.hpp"
#include <cmath>
void newOp(void *lua){
auto *luaPtr = static_cast<sol::state *> (lua);
luaPtr->set_function("sin",static_cast<float(*) (float)> (&sin));
luaPtr->set_function("cos",static_cast<float(*) (float)> (&cos));
luaPtr->set_function("acos",static_cast<float(*) (float)> (&acos));
luaPtr->set_function("asin",static_cast<float(*) (float)> (&asin));
luaPtr->set_function("pow",static_cast<double(*) (double,double)> (&pow));
luaPtr->set_function("ceil",static_cast<double(*) (double)> (&ceil));
luaPtr->set_function("floor",static_cast<double(*) (double)> (&floor));
}
-
if you use katana, maya, houdini with cartesian this functions all for your platform
-
binding GLM::mat* glm::vec*
-
binding CGAL::surfacemesh
- the whole new lua function for katana
- Similar to Houdini vex function, BUT NOW IT WAS BASED LUAJIT
- only for test
- application based Cartesian
- 1, see the Sandbox cmakeslist.txt
- 2, link the CartesianLuajit.lib and the dll should in env PATH
- Table is highly recommended
- But if you like. You can also use my exposed UserData, as you know, luajit doesn't optimize it
- Even though you still want to use it, try to use all the C++ functions I exposed.
爱用不用