Value toValue( const math::Vec3f &vec ) { Value v = Value::createArray(); ArrayPtr a = v.asArray(); for( int i=0;i<3;++i ) a->append( Value::create<float>(vec[i]) ); return v; }
Value toValue( const math::Matrix44f &matrix ) { Value v = Value::createArray(); ArrayPtr a = v.asArray(); for( int i=0;i<16;++i ) a->append( Value::create<float>(matrix.ma[i]) ); return v; }
void GeometryManager::flushUnusedGeometry() { ArrayPtr <GeometryInfo> validGeometry; for (size_t i = 0; i < geometryCollection.length(); i++) if (geometryCollection(i)->getUserCount() > 0) validGeometry.append(geometryCollection(i)); else { deleteObject(geometryCollection(i)->getMedia()); deleteObject(geometryCollection(i)); } geometryCollection = validGeometry; }
void TexturesManager::flushUnusedTextures() { ArrayPtr <TextureInfo> validTextures; size_t i; unsigned int textureID; for (i = 0; i < textureCollection.length(); i++) if (textureCollection(i)->getUserCount() > 0) validTextures.append(textureCollection(i)); else { textureID = textureCollection(i)->getMedia(); glDeleteTextures(1, &textureID); deleteObject(textureCollection(i)); } textureCollection.clear(); textureCollection = validTextures; }