我們在coppeliasim中調用的lua腳本函數sim.xxxxx()的執行規律有兩種情況:
1,要么就是在coppliasim的sim.lua中有這個lua函數的定義,直接執行這個lua函數即可。比如,sim.creatPath();
2,要么就是這個lua接口沒有lua語言的函數定義,而是通過和C++的接口綁定的,當調用這個lua接口時,實際上是去執行了綁定的C++接口,然后返回C++接口返回的內容,比如,sim.getObjectSel()。--在luaScriptFunction.cpp中。
const SLuaCommands simLuaCommands[] = {{"loadPlugin", _loadPlugin},.......
}
"loadPlugin", _loadPlugin:該元素表示將字符串"loadPlugin"和_loadPlugin函數指針綁定在一起,即當調用客戶端程序中的sim.loadPlugin()函數時,實際上是在執行_loadPlugin函數中定義的操作,這個函數主要用于載入一個插件。