[vtkusers] question about vtkCommand
qlizhi
qlizhi at gmail.com
Mon Apr 23 03:50:24 EDT 2012
i have tried SetUserMatrix() , the result is the same. it seems that after [actor->SetOrientation(ori)] the actor lost its data source, so it render nothing.
qlizhi
From: Darshan Pai
Date: 2012-04-23 12:42
To: qlizhi
CC: David Doria; vtkusers
Subject: Re: [vtkusers] question about vtkCommand
Why not try using SetUserTransform() or SetUserMatrix()
On Mon, Apr 23, 2012 at 12:32 AM, qlizhi <qlizhi at gmail.com> wrote:
Thanks for reply:
here is my main code, and if i use [window->Render()], there will be an error:
ERROR: In D:\Program Files (x86)\VTK 5.8.0\VTK\Rendering\vtkWin32OpenGLRenderWindow.cxx, line 247
vtkWin32OpenGLRenderWindow (06DFC0B0): wglMakeCurrent failed in MakeCurrent(), error: The requested resource is in use.
void CupGeologyView::addInternetEvent( vtkActor *actor, vtkRenderWindow *window)
{
/*actor->SetOrientation(27.0, 27.0, 27.0);*/
internetEvent = new cupVtkUserInternetEvent;
QThread * thread = new QThread(this);
internetEvent->moveToThread(thread);
connect(ui.allowInternetEvent, SIGNAL(triggered()), internetEvent, SLOT(init()));
thread->start();
CupRemoteModelCallback *mo1 = CupRemoteModelCallback::New();
mo1->actor = actor;
mo1->window = window;
internetEvent->AddObserver(vtkCommand::UserEvent,mo1);
mo1->Delete();
}
void CupRemoteModelCallback::Execute( vtkObject *caller, unsigned long eventId, void *callData )
{
cupVtkUserInternetEvent *internetEvent = reinterpret_cast<cupVtkUserInternetEvent *>(caller);
if (eventId = vtkCommand::UserEvent)
{
if (actor!= NULL && window != NULL)
{
//to-do
int* xyz = (int*)callData;
double ori[3];
ori[0] = xyz[0];
ori[1] = xyz[1];
ori[2] = xyz[2];
actor->SetOrientation(ori);
/*window->Render();*/
}
}
}
qlizhi
From: David Doria
Date: 2012-04-22 21:53
To: qlizhi
CC: vtkusers
Subject: Re: [vtkusers] question about vtkCommand
2012/4/22 qlizhi <qlizhi at gmail.com>
hi, all!
i write a subclass of vtkCommand, and in its function Execute(), i try to change an actor's Orientation by code [actor->SetOrientation(ori)].
I made breakPoint on that line, it runs. But the renderWindow show nothing. Can anybody tell me why?
Sorry for my poor english!
qlizhi
Did you call renderWindow->Render()? You'll probably have to make us an as-small-as-possible code sample so we can see exactly what you're doing.
David
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20120423/5e812dfe/attachment.htm>
More information about the vtkusers
mailing list