<br>
I would like to subclass vtkActor, but then the actor becomes invisible..<br>
Curiously enough, interactor seems to be aware of the actor,<br>
but the builtin picker sees nothing there, and neither do I :-)<br>
<br>
Can anybody tell me what am I doing wrong?<br>
<br>
I've isolated some code.. <br>
<br>
// test.cpp<br>
<br>
#include "vtkSphereSource.h"<br>
#include "vtkPolyDataMapper.h"<br>
#include "vtkActor.h"<br>
#include "vtkRenderer.h"<br>
#include "vtkRenderWindow.h"<br>
#include "vtkRenderWindowInteractor.h"<br>
<br>
// my vtkActor subclass - as simple as can be<br>
<br>
class MyActor : public vtkActor<br>
{<br>
public:<br>
static MyActor* New() { return new MyActor; }<br>
};<br>
<br>
// problems start here<br>
<br>
int main()<br>
{<br>
vtkActor* originalActor = vtkActor::New();<br>
<br>
/* -------------------------------------<br>
* change one for the other and<br>
* the actor becomes (in)visible ??<br>
* -----------------------------------*/<br>
<br>
// vtkActor* myActor = vtkActor::New();<br>
MyActor* myActor = MyActor::New();<br>
<br>
//--------------------------------------<br>
<br>
vtkSphereSource *sphere = vtkSphereSource::New();<br>
vtkPolyDataMapper *sphereMapper = vtkPolyDataMapper::New();<br>
sphereMapper->SetInputConnection(sphere->GetOutputPort());<br>
<br>
myActor->SetMapper(sphereMapper);<br>
originalActor->SetMapper(sphereMapper);<br>
originalActor->AddPosition(1,0,0);<br>
<br>
vtkRenderer* renderer = vtkRenderer::New();<br>
vtkRenderWindow* renderWindow = vtkRenderWindow::New();<br>
vtkRenderWindowInteractor* interactor = vtkRenderWindowInteractor::New();<br>
<br>
renderWindow->AddRenderer( renderer );<br>
interactor->SetRenderWindow( renderWindow );<br>
<br>
renderer->AddActor(originalActor);<br>
renderer->AddActor(myActor);<br>
<br>
renderer->ResetCamera();<br>
renderWindow->Render();<br>
<br>
interactor->Start();<br>
<br>
return 0;<br>
}<br>
<br>
// EOF<br clear="all"><br>
Thanks!!<br>-- <br><a href="mailto:stoptv@gmail.com">stoptv@gmail.com</a><br>
<br>