using TCoordinate = float;
int main(int , char * [] )
{
constexpr unsigned int NumberOfSubdivisions = 2;
TSphere::Pointer sphereSource = TSphere::New();
sphereSource->Update();
TQEMesh::Pointer sphere = sphereSource->GetOutput();
TSubdivision::Pointer subdivision = TSubdivision::New();
subdivision->SetResolutionLevels( NumberOfSubdivisions );
subdivision->SetInput( sphere );
subdivision->Update();
TQEMesh::Pointer subSphere = subdivision->GetOutput();
std::cout << "Original Sphere:" << std::endl;
std::cout << " Points: " << sphere->GetNumberOfPoints() << std::endl;
std::cout << " Edges: " << sphere->GetNumberOfEdges() << std::endl;
std::cout << " Faces: " << sphere->GetNumberOfFaces() << std::endl;
std::cout << std::endl;
std::cout << "Divided Sphere: " << std::endl;
std::cout << " Points: " << subSphere->GetNumberOfPoints() << std::endl;
std::cout << " Edges: " << subSphere->GetNumberOfEdges() << std::endl;
std::cout << " Faces: " << subSphere->GetNumberOfFaces() << std::endl;
return EXIT_SUCCESS;
}