Пример #1
0
ostream& operator<< (ostream& os, const Object& obj)
{
	static int indent = 0; // the level of indentation to output to
	for (int i = 0; i < indent; i++)
	{
		os << "\t";
	}
	if (obj.leaf) {
		os << obj.key << "=" << obj.strVal << "\n";
		return os;
	}
	if (obj.isObjList)
	{
		os << obj.key << "={" << obj.strVal << " }\n";
		return os;
	}

	if (&obj != getTopLevel())
	{
		os << obj.key << "=\n";
		for (int i = 0; i < indent; i++)
		{
			os << "\t";
		}
		os << "{\n";
		indent++;
	}
	for (vector<Object*>::const_iterator i = obj.objects.begin(); i != obj.objects.end(); ++i)
	{
		os << *(*i);
	}
	if (&obj != getTopLevel())
	{
		indent--;
		for (int i = 0; i < indent; i++)
		{
			os << "\t";
		}
		os << "}\n";
	}
	return os;
}
Пример #2
0
int TextureStorage9::getLevelCount() const
{
    return getBaseTexture() ? (getBaseTexture()->GetLevelCount() - getTopLevel()) : 0;
}