Skip to content
Snippets Groups Projects
Commit 8ba37f59 authored by Andrew Maclean's avatar Andrew Maclean
Browse files

Adding SpatioTemporalHarmonicsSource

parent 636ff94b
No related branches found
No related tags found
1 merge request!396Add spatio temporal harmonics source
......@@ -21,6 +21,7 @@ if(NOT VTK_BINARY_DIR)
ImagingHybrid
ImagingMath
InteractionStyle
InteractionWidgets
RenderingCore
RenderingFreeType
RenderingOpenGL2
......
#include <vtkActor.h>
#include <vtkCamera.h>
#include <vtkCameraOrientationWidget.h>
#include <vtkDataSetMapper.h>
#include <vtkInteractorStyleSwitch.h>
#include <vtkNew.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkSpatioTemporalHarmonicsSource.h>
int main(int, char*[])
{
// Create source
const int MAX_EXTENT = 10;
vtkNew<vtkSpatioTemporalHarmonicsSource> source;
source->SetWholeExtent(-MAX_EXTENT, MAX_EXTENT, -MAX_EXTENT, MAX_EXTENT,
-MAX_EXTENT, MAX_EXTENT);
source->ClearHarmonics();
source->AddHarmonic(1.0, 1.0, 1.0, 0.0, 0.0, 0.0);
source->AddHarmonic(2.0, 1.0, 0.0, 1.0, 0.0, 0.0);
source->AddHarmonic(4.0, 1.0, 0.0, 0.0, 1.0, 0.0);
source->ClearTimeStepValues();
source->AddTimeStepValue(0.0);
source->AddTimeStepValue(1.0);
source->AddTimeStepValue(2.0);
// source->Update();
// Create mapper and actor.
vtkNew<vtkDataSetMapper> mapper;
mapper->SetInputConnection(source->GetOutputPort());
mapper->SetScalarRange(-6.0, 6.0);
vtkNew<vtkActor> actor;
actor->SetMapper(mapper);
// Create a renderer, render window, and interactor.
vtkNew<vtkRenderer> ren;
ren->SetBackground(0.5, 0.5, 0.5);
vtkNew<vtkRenderWindow> renWin;
renWin->SetWindowName("SpatioTemporalHarmonicsSource");
renWin->SetSize(600, 600);
renWin->AddRenderer(ren);
vtkNew<vtkRenderWindowInteractor> iRen;
iRen->SetRenderWindow(renWin);
auto is = vtkInteractorStyleSwitch::SafeDownCast(iRen->GetInteractorStyle());
if (is)
{
is->SetCurrentStyleToTrackballCamera();
}
ren->ResetCamera();
ren->GetActiveCamera()->SetPosition(50.0, 40.0, 30.0);
ren->GetActiveCamera()->SetFocalPoint(0.0, 0.0, 0.0);
ren->ResetCameraClippingRange();
// Add the actor, render and interact.
ren->AddActor(actor);
renWin->Render();
vtkNew<vtkCameraOrientationWidget> cow;
cow->SetParentRenderer(ren);
// Enable the widget.
cow->On();
iRen->Start();
return EXIT_SUCCESS;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment