protected void UpdateVisualization() { if (visualMode == GeometryVisualMode.ViewModes) { geometry.VisualizeVertexFunction(ObjectModes.Column(currentMode), ColorScheme.BlueRed); } else if (visualMode == GeometryVisualMode.ViewDegreeVector) { var diff = new DifferentialStructure(geometry); geometry.VisualizeVertexFunction(diff.MassVector, ColorScheme.Default); } else if (visualMode == GeometryVisualMode.ViewLapDiagonal) { var diff = new DifferentialStructure(geometry); geometry.VisualizeVertexFunction(diff.Laplacian.Diagonal(), ColorScheme.Default); } else if (visualMode == GeometryVisualMode.ViewMesh) { for (int i = 0; i < geometry.vertices.Count; ++i) { var data = geometry.vertices[i]; data.Color = Color4.White; geometry.vertices[i] = data; } } GenerateModelBuffers(); GenerateVertexArray(); }