<html>
<body>
Hello Peter,<br><br>
I ran your test as tcl against my VTK 4.2 and it works just fine. I've
included the tcl below (slight modifications to the color / rotate angle
but essentially the same). I am not sure why this does not work for you -
this does not seem to be an issue that can be caused by a video driver,
compiler version, operating system, etc. <br><br>
Lisa<br><br>
vtkRenderer ren<br>
vtkRenderWindow renWin<br>
vtkActor actor<br>
vtkCubeSource cube<br>
vtkPolyDataMapper mapper<br>
mapper SetInput [cube GetOutput]<br>
actor SetMapper mapper<br>
renWin AddRenderer ren<br>
ren AddActor actor<br><br>
renWin Render<br><br>
for {set i 0 } {$i < 360} {incr i 5} {<br>
vtkTransform t<br>
t RotateZ $i<br>
actor SetUserMatrix [t GetMatrix]<br>
[actor GetProperty] SetColor [expr $i/360.0] [expr
(360.0-$i)/360.0] [expr $i/360.0]<br>
renWin Render<br>
t Delete<br>
}<br><br>
At 06:10 AM 2/6/2004, Boettcher, Dr. Peter wrote:<br>
<blockquote type=cite class=cite cite><font size=2>Hi,<br>
</font> <br>
<font face="arial" size=2>once more I try to solve the
vtkActor->SetUserMatrix - Problem. The first time
vtkActor->SetUserMatrix or vtkActor->SetUserTransform is called -
it works. But each time I call it again with a modified matrix nothing
happens. The work around
(<a href="http://vtk.org/pipermail/vtkusers/2003-January/015391.html">http://vtk.org/pipermail/vtkusers/2003-January/015391.html</a>)
doesn't work for me.<br>
</font> <br>
<font face="arial" size=2>Is there someone who could try my code on his
machine? Maybe it is a local problem (WinXP, vtk4.2, VS6.0)?<br>
</font> <br>
<font face="arial" size=2>Regards - Peter.<br>
</font> <br>
<br>
<br>
<font face="arial" size=2>// Rotates a cube 360° around the z-axis<br>
// SetUserMatrix is called: works only the first time ;-(<br>
</font>#include "vtk.h"<br>
void main(void)<br>
{<br>
vtkRenderer* ren = vtkRenderer::New();<br>
vtkRenderWindow* renWin = vtkRenderWindow::New();<br>
vtkActor* actor = vtkActor::New();<br>
vtkCubeSource * cube = vtkCubeSource::New();<br>
vtkPolyDataMapper* mapper = vtkPolyDataMapper::New();<br>
renWin->AddRenderer(ren);<br>
ren->AddActor(actor);<br>
mapper->SetInput(cube->GetOutput());<br>
actor->SetMapper(mapper);<br>
renWin->Render();<br>
<br><br>
// ---------- Loop Rotation over the Z-axis -----------------//<br>
<br>
for(float i = 45; i < 360; i+=45)<br>
{<br>
vtkTransform* transform = vtkTransform::New();<br>
transform->RotateZ(i);<br>
actor->SetUserMatrix(transform->GetMatrix());<br>
actor->GetProperty()->SetColor((float)i/360, (float)i/360,
(float)i/360);<br>
renWin->Render();<br>
transform->Delete();<br>
for(int ii = 0; ii<30000; ii++); <br><br>
}<br>
}</blockquote></body>
</html>