我刚刚发现了 chaiscript,我非常喜欢它。现在我想添加对我非常简单的 opengl 3d 引擎的支持。
我有 C++ 数学类:vec2T、vec3T、vec4T、mat2T、mat3T、mat4T、...(它们实际上是模板类,并且有 typedef 使它们成为 vec4i、vec4f、vec4d、...)
我想我可以将它们添加到 chaiscript 中:
chai.add(chaiscript::user_type<vec4i>(), "vec4i");
正确的?
现在,我想测试我的脚本是否包含一个名为“onFrame”的函数。如果是,我希望使用 vec4i 参数作为其第一个参数来调用它。我该怎么做呢?
我知道我可以做这样的事情:
try
{
chai("onFrame();");
}
catch (const std::exception &)
{
}
如果脚本中未定义 onFrame,则这种方式将忽略异常。我什至可以通过这种方式传递一些整数或字符串参数。但是我如何继续将 vec4(x, y, z, w) 参数传递给它?
任何帮助表示赞赏!