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; }
int TextureStorage9::getLevelCount() const { return getBaseTexture() ? (getBaseTexture()->GetLevelCount() - getTopLevel()) : 0; }