Friday, July 01, 2005

VTK: the use of a created method

#include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkPolyDataReader.h"
#include "vtkDataSetMapper.h"
#include "vtkActor.h"
#include "vtkPolyData.h"
#include "vtkPolyDataMapper.h"
#include "vtkActor.h"
#include "vtkInteractorStyleTrackballCamera.h"
#include "vtkProperty.h"
#include "vtkCallbackCommand.h"
#include "vtkInteractorStyle.h"
#include "vtkPolyDataWriter.h"
#include

float r, g, b;

void method(vtkObject *caller, unsigned long eventId, void* ClientData, void* data)
{
vtkRenderWindowInteractor *iren = reinterpret_cast(caller);
int key = *iren->GetKeySym();

switch (eventId)
{
case vtkCommand::KeyPressEvent:
{
if(key == 115) //key S
{
cout<<"hello"<Render();
}
}
break;
default:
cout << r="1," g="0.2," b="0.7;" polydata =" vtkPolyDataReader::New();">SetFileName("02463_458.vtk");
vtkPolyDataMapper *datamapper = vtkPolyDataMapper::New();
datamapper->SetInput( polydata->GetOutput() );
vtkDataSetMapper *mapper = vtkDataSetMapper::New();
mapper->SetInput(polydata->GetOutput());
vtkActor *actor = vtkActor::New();
actor->SetMapper(mapper);
actor->SetPosition(0,0,0);
vtkProperty *property = vtkProperty::New();
actor->GetProperty()->SetColor(r, g, b);
vtkRenderer *renderer = vtkRenderer::New();
vtkRenderWindow *renWin = vtkRenderWindow::New();
renWin->AddRenderer(renderer);
vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
iren->SetRenderWindow(renWin);
vtkInteractorStyleTrackballCamera *style = vtkInteractorStyleTrackballCamera::New();
iren->SetInteractorStyle(style);
vtkCallbackCommand *callback = vtkCallbackCommand::New();
callback->SetCallback(method);

// renWin->AddObserver(vtkCallbackCommand::AnyEvent, callback);
iren->AddObserver(vtkCommand::KeyPressEvent, callback);
renderer->AddActor(actor);
renderer->SetBackground(0,0,0);

renWin->SetSize(450,450);
renWin->Render();
actor->Modified();
iren->Initialize();
iren->Start();

renderer->Delete();
renWin->Delete();
iren->Delete();
mapper->Delete();
actor->Delete();
}

Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?