コード例 #1
0
void
CKLBLuaLibMatrix::getVector(CLuaState& lua, VECTOR * vec)
{
	// Luaスタックトップにはvectorテーブルが積んである
	for(int n = 0; n < 4; n++) {
		lua.retInt(n + 1); lua.tableGet(); vec->v[n] = lua.getFloat(-1); lua.pop(1);
	}
}
コード例 #2
0
void
CKLBLuaLibMatrix::getMatrix(CLuaState& lua, MATRIX * ret)
{
	// 最上位には対象の配列が積んである
	for(int idx = 0; idx < 16; idx++) {
		lua.retInt(idx + 1);			// Luaテーブル上のindexを積む
		lua.tableGet();					// 対応する値を取得する
		float val = lua.getFloat(-1);
		ret->m[idx] = val;
		lua.pop(1);
	}
}