Hello,
Custom classes derived from VTK classes must often follow some formalities so they can be managed by the VTK framework.
Here is how I declared (.h
) a class derived from vtkInteractorStyleTrackballCamera
:
#include <vtkObjectFactory.h>
#include <vtkInteractorStyleTrackballCamera.h>
#include <vtkSmartPointer.h>
#include ...
#include ...
class myMouseInteractor : public vtkInteractorStyleTrackballCamera
{
public:
static myMouseInteractor* New();
vtkTypeMacro(myMouseInteractor, vtkInteractorStyleTrackballCamera)
virtual void OnLeftButtonDown();
virtual void OnLeftButtonUp();
virtual void ...;
virtual void ...;
...
};
And here is how I defined (.cpp
) it:
#include "mymouseinteractor.h"
#include ...
#include ...
// Implementation of the New() function for this class.
vtkStandardNewMacro(myMouseInteractor);
void myMouseInteractor::OnLeftButtonDown()
{ ...
}
void ...
...