diff --git a/src/Cxx/GeometricObjects/ParametricObjects.cxx b/src/Cxx/GeometricObjects/ParametricObjects.cxx index 23c7d089706e02ebd2561f3ab199c48bdb2ced06..ad17e2c7c8a1837a938d5c9c7f6d0a82749e7279 100644 --- a/src/Cxx/GeometricObjects/ParametricObjects.cxx +++ b/src/Cxx/GeometricObjects/ParametricObjects.cxx @@ -3,12 +3,13 @@ #include <vtkParametricFunctionSource.h> #include <vtkPolyDataMapper.h> #include <vtkProperty.h> +#include <vtkRenderer.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h> -#include <vtkRenderer.h> #include <vtkSmartPointer.h> -// Select one of the following: +// Uncomment one of the following includes that correspond +// to the object that you have selected below: // #include <vtkParametricBoy.h> // #include <vtkParametricConicSpiral.h> // #include <vtkParametricCrossCap.h> @@ -30,9 +31,8 @@ int main(int, char* []) vtkSmartPointer<vtkNamedColors> namedColors = vtkSmartPointer<vtkNamedColors>::New(); - // Select one of the following (matching the selection above) - vtkSmartPointer<vtkParametricTorus> parametricObject = - vtkSmartPointer<vtkParametricTorus>::New(); + // Uncomment one of the following and + // ensure the matching include (above) is umcommented). // vtkSmartPointer<vtkParametricBoy> parametricObject = // vtkSmartPointer<vtkParametricBoy>::New(); // vtkSmartPointer<vtkParametricConicSpiral> parametricObject = @@ -61,8 +61,8 @@ int main(int, char* []) // vtkSmartPointer<vtkParametricSuperEllipsoid>::New(); // vtkSmartPointer<vtkParametricSuperToroid> parametricObject = // vtkSmartPointer<vtkParametricSuperToroid>::New(); - // vtkSmartPointer<vtkParametricTorus> parametricObject = - // vtkSmartPointer<vtkParametricTorus>::New(); + vtkSmartPointer<vtkParametricTorus> parametricObject = + vtkSmartPointer<vtkParametricTorus>::New(); vtkSmartPointer<vtkParametricFunctionSource> parametricFunctionSource = vtkSmartPointer<vtkParametricFunctionSource>::New(); @@ -82,6 +82,7 @@ int main(int, char* []) vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New(); vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New(); + renderWindow->SetWindowName("Parametric Objects"); renderWindow->AddRenderer(renderer); vtkSmartPointer<vtkRenderWindowInteractor> interactor = vtkSmartPointer<vtkRenderWindowInteractor>::New(); diff --git a/src/Python/GeometricObjects/ParametricObjects.py b/src/Python/GeometricObjects/ParametricObjects.py index cd53a2b4882b0f927bee4d40989b48f807ddc1a8..ef063a87eb6398634df8d8890d146bed74cdfb2c 100755 --- a/src/Python/GeometricObjects/ParametricObjects.py +++ b/src/Python/GeometricObjects/ParametricObjects.py @@ -1,62 +1,55 @@ #!/usr/bin/env python +# -*- coding: utf-8 -*- import vtk -class ParametricObjects(object): - def ParametricObjects(self): - - colors = vtk.vtkNamedColors() - - # Select one of the following functions. - # parametricObject = vtk.vtkParametricBoy() - # parametricObject = vtk.vtkParametricConicSpiral() - # parametricObject = vtk.vtkParametricCrossCap() - # parametricObject = vtk.vtkParametricDini() - # parametricObject = vtk.vtkParametricEllipsoid() - # parametricObject = vtk.vtkParametricEnneper() - # parametricObject = vtk.vtkParametricFigure8Klein() - # parametricObject = vtk.vtkParametricKlein() - # parametricObject = vtk.vtkParametricMobius() - # parametricObject = vtk.vtkParametricRandomHills() - # parametricObject = vtk.vtkParametricRoman() - # parametricObject = vtk.vtkParametricSpline() - # parametricObject = vtk.vtkParametricSuperEllipsoid() - # parametricObject = vtk.vtkParametricSuperToroid() - parametricObject = vtk.vtkParametricTorus() - - parametricSource = vtk.vtkParametricFunctionSource() - parametricSource.SetParametricFunction(parametricObject) - - # mapper - mapper = vtk.vtkPolyDataMapper() - mapper.SetInputConnection(parametricSource.GetOutputPort()) - - # actor - actor = vtk.vtkActor() - actor.SetMapper(mapper) - actor.GetProperty().SetDiffuseColor(colors.GetColor3d("Burlywood")) - - # ------------------------------------------------------------ - # Create the RenderWindow, Renderer and Interactor - # ------------------------------------------------------------ - ren = vtk.vtkRenderer() - renWin = vtk.vtkRenderWindow() - iren = vtk.vtkRenderWindowInteractor() - - renWin.AddRenderer(ren) - iren.SetRenderWindow(renWin) - - # add actors - ren.AddViewProp(actor) - ren.SetBackground(colors.GetColor3d("Beige")) - - # enable user interface interactor - iren.Initialize() - renWin.Render() - iren.Start() - - -if __name__ == "__main__": - po = ParametricObjects() - po.ParametricObjects() +def main(): + namedColors = vtk.vtkNamedColors() + + # Uncomment one of the following. + # parametricObject = vtk.vtkParametricBoy() + # parametricObject = vtk.vtkParametricConicSpiral() + # parametricObject = vtk.vtkParametricCrossCap() + # parametricObject = vtk.vtkParametricDini() + # parametricObject = vtk.vtkParametricEllipsoid() + # parametricObject = vtk.vtkParametricEnneper() + # parametricObject = vtk.vtkParametricFigure8Klein() + # parametricObject = vtk.vtkParametricKlein() + # parametricObject = vtk.vtkParametricMobius() + # parametricObject = vtk.vtkParametricRandomHills() + # parametricObject = vtk.vtkParametricRoman() + # parametricObject = vtk.vtkParametricSpline() + # parametricObject = vtk.vtkParametricSuperEllipsoid() + # parametricObject = vtk.vtkParametricSuperToroid() + parametricObject = vtk.vtkParametricTorus() + + parametricFunctionSource = vtk.vtkParametricFunctionSource() + parametricFunctionSource.SetParametricFunction(parametricObject) + parametricFunctionSource.Update() + + # Visualize + mapper = vtk.vtkPolyDataMapper() + mapper.SetInputConnection(parametricFunctionSource.GetOutputPort()) + + # Create an actor for the contours + actor = vtk.vtkActor() + actor.SetMapper(mapper) + actor.GetProperty().SetDiffuseColor( + namedColors.GetColor3d("Burlywood")) + renderer = vtk.vtkRenderer() + renderWindow = vtk.vtkRenderWindow() + renderWindow.SetWindowName("Parametric Objects") + renderWindow.AddRenderer(renderer) + interactor = vtk.vtkRenderWindowInteractor() + interactor.SetRenderWindow(renderWindow) + + renderer.AddActor(actor) + renderer.SetBackground(namedColors.GetColor3d("Beige")) + + renderWindow.Render() + interactor.Start() + + +if __name__ == '__main__': + main()