[vtkusers] How to find the vtkSphereSource object
    madz 
    madaramh at gmail.com
       
    Fri Nov 22 03:11:18 EST 2013
    
    
  
Here's a complete program.
#include <vtkSphereSource.h>
#include <vtkPolyData.h>
#include <vtkSmartPointer.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkInteractorStyleTrackballCamera.h> 
#include <vtkObjectFactory.h>
#include <vtkProperty.h>
vtkSmartPointer<vtkRenderer> renderer;
vtkSmartPointer<vtkSphereSource> sphereSource;
vtkSmartPointer<vtkPolyDataMapper> mapper ;
vtkSmartPointer<vtkActor> actor;
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor ;
bool isDeleted;
class MouseInteractorStyle4 : public vtkInteractorStyleTrackballCamera
{
public:
	static MouseInteractorStyle4* New();
	vtkTypeMacro(MouseInteractorStyle4, vtkInteractorStyleTrackballCamera);
	virtual void OnLeftButtonDown() 
	{
		// Forward events
		vtkInteractorStyleTrackballCamera::OnLeftButtonDown();
	}
	virtual void OnMiddleButtonDown() 
	{
		vtkInteractorStyleTrackballCamera::OnMiddleButtonDown();
	}
	virtual void OnRightButtonDown() 
	{
		renderer->RemoveActor(actor);
		if(!isDeleted)
		{
			isDeleted = true;
			sphereSource->Delete();
			mapper->Delete();
			actor->Delete();
		}
		renderWindowInteractor->GetRenderWindow()->Render();
	}
};
vtkStandardNewMacro(MouseInteractorStyle4);
int main(int, char *[])
{
	sphereSource =  vtkSmartPointer<vtkSphereSource>::New();
	sphereSource->SetCenter(0.0, 0.0, 0.0);
	sphereSource->SetRadius(5.0);
	mapper = 
		vtkSmartPointer<vtkPolyDataMapper>::New();
	mapper->SetInputConnection(sphereSource->GetOutputPort());
	actor = 
		vtkSmartPointer<vtkActor>::New();
	actor->SetMapper(mapper);
	renderer = 
		vtkSmartPointer<vtkRenderer>::New();
	vtkSmartPointer<vtkRenderWindow> renderWindow = 
		vtkSmartPointer<vtkRenderWindow>::New();
	renderWindow->AddRenderer(renderer);
	renderWindowInteractor = 
		vtkSmartPointer<vtkRenderWindowInteractor>::New();
	vtkSmartPointer<MouseInteractorStyle4> style =
vtkSmartPointer<MouseInteractorStyle4>::New();
	renderWindowInteractor->SetInteractorStyle(style);
	renderWindowInteractor->SetRenderWindow(renderWindow);
	renderer->AddActor(actor);
	renderer->SetBackground(.3, .6, .3); // Background color green
	renderWindow->Render();
	renderWindowInteractor->Start();
	return EXIT_SUCCESS;
}
--
View this message in context: http://vtk.1045678.n5.nabble.com/How-to-find-the-vtkSphereSource-object-tp5724567p5724570.html
Sent from the VTK - Users mailing list archive at Nabble.com.
    
    
More information about the vtkusers
mailing list