[vtkusers] VTK custom subclass: basic implementation
Marcos
fotosentido at gmail.com
Wed Sep 2 13:15:19 EDT 2015
Hi,
I created an vtkinteractor subclass. This is the header:
#include "vtkInteractionStyleModule.h" // For export macro
#include "vtkInteractorStyleImage.h"
class DcmInteractorStyle : public vtkInteractorStyleImage
{
public:
static DcmInteractorStyle* New();
vtkTypeRevisionMacro(DcmInteractorStyle, vtkInteractorStyleImage)
virtual void OnLeftButtonDown();
};
I just want to override mouse events.
I'm following the example:
http://www.vtk.org/Wiki/VTK/Tutorials/InteractorStyleSubclass
It doesn't show .cpp contents, so I went inside mine with:
vtkStandardNewMacro(vtkInteractorStyleImage);
void DcmInteractorStyle::OnLeftButtonDown()
{
// here my code
}
But the compiler (with CMakeLists.txt) says:
ui_qt.lib(viewerwidget.cpp.obj):-1: error: LNK2019: unresolved external
symbol "public: static class DcmInteractorStyle * __cdecl
DcmInteractorStyle::New(void)" (?New at DcmInteractorStyle@@SAPAV1 at XZ)
referenced in function "public: static class vtkSmartPointer<class
DcmInteractorStyle> __cdecl vtkSmartPointer<class
DcmInteractorStyle>::New(void)" (?New@?$vtkSmartPointer at VDcmInteractorStyle
@@@@SA?AV1 at XZ)
At CMake mail list someone told me it was because I don't have the New()
method defined (what about the macro then?).
My constructor won't do anything different, just the same as the superclass.
I tried:
DcmInteractorStyle* DcmInteractorStyle::New() : vtkInteractorStyleImage::New()
{
}
It gives me:
error: C2550: 'DcmInteractorStyle::New' : constructor initializer
lists are only allowed on constructor definitions
Any help, please?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150902/80518d56/attachment.html>
More information about the vtkusers
mailing list