Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vtkCylinderSource.h>
- #include <vtkPolyDataMapper.h>
- #include <vtkActor.h>
- #include <vtkRenderer.h>
- #include <vtkRenderWindow.h>
- #include <vtkRenderWindowInteractor.h>
- #include <vtkProperty.h>
- #include <vtkCamera.h>
- #include <vtkSmartPointer.h>
- #include <vtkNew.h>
- #include <vtkOpenVRRenderWindow.h>
- #include <vtkOpenVRRenderer.h>
- #include <vtkOpenVRRenderWindowInteractor.h>
- #include <vtkOpenVRCamera.h>
- int main(int, char *[])
- {
- // This creates a polygonal cylinder model with eight circumferential facets
- // (i.e, in practice an octagonal prism).
- vtkNew<vtkCylinderSource> cylinder;
- cylinder->SetResolution(8);
- // The mapper is responsible for pushing the geometry into the graphics library.
- // It may also do color mapping, if scalars or other attributes are defined.
- vtkNew<vtkPolyDataMapper> cylinderMapper;
- cylinderMapper->SetInputConnection(cylinder->GetOutputPort());
- // The actor is a grouping mechanism: besides the geometry (mapper), it
- // also has a property, transformation matrix, and/or texture map.
- // Here we set its color and rotate it around the X and Y axes.
- vtkNew<vtkActor> cylinderActor;
- cylinderActor->SetMapper(cylinderMapper);
- cylinderActor->GetProperty()->SetColor(1.0000, 0.3882, 0.2784);
- auto interpolation = cylinderActor->GetProperty()->GetInterpolation();
- std::cout << "The default Interpolation mode is " << interpolation << std::endl;
- cylinderActor->GetProperty()->SetInterpolationToFlat();
- cylinderActor->RotateX(30.0);
- cylinderActor->RotateY(-45.0);
- // The renderer generates the image
- // which is then displayed on the render window.
- // It can be thought of as a scene to which the actor is added
- vtkNew<vtkOpenVRRenderer> renderer;
- renderer->AddActor(cylinderActor);
- renderer->SetBackground(0.1, 0.2, 0.4);
- // Zoom in a little by accessing the camera and invoking its "Zoom" method.
- renderer->ResetCamera();
- renderer->GetActiveCamera()->Zoom(1.5);
- // The render window is the actual GUI window
- // that appears on the computer screen
- vtkNew<vtkOpenVRRenderWindow> renderWindow;
- renderWindow->SetSize(200, 200);
- renderWindow->AddRenderer(renderer);
- // The render window interactor captures mouse events
- // and will perform appropriate camera or actor manipulation
- // depending on the nature of the events.
- vtkNew<vtkOpenVRRenderWindowInteractor> renderWindowInteractor;
- renderWindowInteractor->SetRenderWindow(renderWindow);
- // This starts the event loop and as a side effect causes an initial render.
- renderWindowInteractor->Start();
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement