当前位置: 首页>>代码示例>>C++>>正文


C++ checkFloatPos函数代码示例

本文整理汇总了C++中checkFloatPos函数的典型用法代码示例。如果您正苦于以下问题:C++ checkFloatPos函数的具体用法?C++ checkFloatPos怎么用?C++ checkFloatPos使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了checkFloatPos函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: checkFloatPos

// minetest.line_of_sight(pos1, pos2, stepsize) -> true/false
int ModApiEnvMod::l_line_of_sight(lua_State *L) {
	float stepsize = 1.0;

	GET_ENV_PTR;

	// read position 1 from lua
	v3f pos1 = checkFloatPos(L, 1);
	// read position 2 from lua
	v3f pos2 = checkFloatPos(L, 2);
	//read step size from lua
	if (lua_isnumber(L, 3))
		stepsize = lua_tonumber(L, 3);

	return (env->line_of_sight(pos1,pos2,stepsize));
}
开发者ID:korovan,项目名称:minetest,代码行数:16,代码来源:l_env.cpp

示例2: lua_getglobal

// minetest.get_objects_inside_radius(pos, radius)
int ModApiEnvMod::l_get_objects_inside_radius(lua_State *L)
{
	// Get the table insert function
	lua_getglobal(L, "table");
	lua_getfield(L, -1, "insert");
	int table_insert = lua_gettop(L);

	GET_ENV_PTR;

	// Do it
	v3f pos = checkFloatPos(L, 1);
	float radius = luaL_checknumber(L, 2) * BS;
	std::set<u16> ids = env->getObjectsInsideRadius(pos, radius);
	lua_newtable(L);
	int table = lua_gettop(L);
	for(std::set<u16>::const_iterator
			i = ids.begin(); i != ids.end(); i++){
		ServerActiveObject *obj = env->getActiveObject(*i);
		// Insert object reference into table
		lua_pushvalue(L, table_insert);
		lua_pushvalue(L, table);
		getScriptApiBase(L)->objectrefGetOrCreate(obj);
		if(lua_pcall(L, 2, 0, 0))
			script_error(L, "error: %s", lua_tostring(L, -1));
	}
	return 1;
}
开发者ID:korovan,项目名称:minetest,代码行数:28,代码来源:l_env.cpp

示例3: checkobject

// set_velocity(self, {x=num, y=num, z=num})
int ObjectRef::l_set_velocity(lua_State *L)
{
	NO_MAP_LOCK_REQUIRED;
	ObjectRef *ref = checkobject(L, 1);
	LuaEntitySAO *co = getluaobject(ref);
	if (co == NULL) return 0;
	v3f pos = checkFloatPos(L, 2);
	// Do it
	co->setVelocity(pos);
	return 0;
}
开发者ID:rubenwardy,项目名称:minetest,代码行数:12,代码来源:l_object.cpp

示例4: checkobject

// setacceleration(self, {x=num, y=num, z=num})
int ObjectRef::l_setacceleration(lua_State *L)
{
	NO_MAP_LOCK_REQUIRED;
	ObjectRef *ref = checkobject(L, 1);
	LuaEntitySAO *co = getluaobject(ref);
	if (co == NULL) return 0;
	// pos
	v3f pos = checkFloatPos(L, 2);
	// Do it
	co->setAcceleration(pos);
	return 0;
}
开发者ID:hondalyfe88,项目名称:MultiCraft,代码行数:13,代码来源:l_object.cpp

示例5: checkFloatPos

// line_of_sight(pos1, pos2, stepsize) -> true/false, pos
int ModApiEnvMod::l_line_of_sight(lua_State *L) {
	float stepsize = 1.0;

	GET_ENV_PTR;

	// read position 1 from lua
	v3f pos1 = checkFloatPos(L, 1);
	// read position 2 from lua
	v3f pos2 = checkFloatPos(L, 2);
	//read step size from lua
	if (lua_isnumber(L, 3)) {
		stepsize = lua_tonumber(L, 3);
	}

	v3s16 p;
	bool success = env->line_of_sight(pos1, pos2, stepsize, &p);
	lua_pushboolean(L, success);
	if (!success) {
		push_v3s16(L, p);
		return 2;
	}
	return 1;
}
开发者ID:malmrose,项目名称:minetest,代码行数:24,代码来源:l_env.cpp

示例6: checkFloatPos

int LuaRaycast::create_object(lua_State *L)
{
	NO_MAP_LOCK_REQUIRED;

	bool objects = true;
	bool liquids = false;

	v3f pos1 = checkFloatPos(L, 1);
	v3f pos2 = checkFloatPos(L, 2);
	if (lua_isboolean(L, 3)) {
		objects = lua_toboolean(L, 3);
	}
	if (lua_isboolean(L, 4)) {
		liquids = lua_toboolean(L, 4);
	}

	LuaRaycast *o = new LuaRaycast(core::line3d<f32>(pos1, pos2),
		objects, liquids);

	*(void **) (lua_newuserdata(L, sizeof(void *))) = o;
	luaL_getmetatable(L, className);
	lua_setmetatable(L, -2);
	return 1;
}
开发者ID:EXio4,项目名称:minetest,代码行数:24,代码来源:l_env.cpp

示例7: checkobject

// setvelocity(self, {x=num, y=num, z=num})
int ObjectRef::l_setvelocity(lua_State *L)
{
	NO_MAP_LOCK_REQUIRED;
	ObjectRef *ref = checkobject(L, 1);

	v3f pos = checkFloatPos(L, 2);

	PlayerSAO* ps = getplayersao(ref);
	if (ps) {
		ps->addSpeed(pos);
		return 0;
	}

	LuaEntitySAO *co = getluaobject(ref);
	if (co == NULL) return 0;
	// Do it
	co->setVelocity(pos);
	return 0;
}
开发者ID:Mab879,项目名称:freeminer,代码行数:20,代码来源:l_object.cpp


注:本文中的checkFloatPos函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。