/** Returns the minimum position on the x, y || z axis **/ float VRGeometry::getMin(int axis) { if (!meshSet) return 0; if (axis != 0 && axis != 1 && axis != 2) return 0; GeoPnt3fPropertyRecPtr pos = dynamic_cast<GeoPnt3fProperty*>(mesh->getPositions()); float min = pos->getValue(0)[axis]; for (uint i=0;i<pos->size();i++) { if (min > pos->getValue(i)[axis]) min = pos->getValue(i)[axis]; } return min; }
/** Returns the geometric center of the mesh **/ Vec3f VRGeometry::getGeometricCenter() { if (!meshSet) return Vec3f(0,0,0); GeoPnt3fPropertyRecPtr pos = dynamic_cast<GeoPnt3fProperty*>(mesh->getPositions()); Vec3f center = Vec3f(0,0,0); for (uint i=0;i<pos->size();i++) center += Vec3f(pos->getValue(i)); center *= 1./pos->size(); return center; }