⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 types.cpp

📁 赫赫大名的 OGRE 游戏引擎
💻 CPP
字号:
#include <vrmllib/types_bits.h>

namespace vrmllib {
namespace bits {

void parse_value(bool &b, std::istream &s, file &)
{
	std::string t;
	s >> t;
	if (t == "TRUE")
		b = true;
	else if (t == "FALSE")
		b = false;
	else
		throw std::runtime_error("parse error: expected TRUE or FALSE, got: " + t);
}

void parse_value(std::string &str, std::istream &s, file &)
{
	char c = 0;
	s >> c;

	if (c != '"') {
		s.putback(c);
		throw std::runtime_error(std::string("expected start of string (\"), got: ") + c);
	}
	str.erase();
	c = 0;
	while (s.get(c) && c != '"') str += c;

	if (c != '"') {
		throw std::runtime_error(std::string("expected end of string (\"), got: ") + c);
	}
}

void parse_value(vec3 &v, std::istream &s, file &)
{
	s >> v.x >> v.y >> v.z;
}

void parse_value(col3 &v, std::istream &s, file &)
{
	s >> v.r >> v.g >> v.b;
}

void parse_value(vec2 &v, std::istream &s, file &)
{
	s >> v.x >> v.y;
}

void parse_value(rot &r, std::istream &s, file &f)
{
	parse_value(r.vector, s, f);
	s >> r.radians;
}

} // namespace bits
} // namespace vrmllib

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -