<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:"times new roman", "new york", "times", serif;font-size:12pt"><DIV>Hello all,<BR></DIV><DIV><BR></DIV><DIV>I cut a 3D-image (generated with Marching Cubes) with vtkBoxClipDataSet, the function already works well. But the problem is the color of the 3D image is changed each time (red, blue), although I have it defined as white GetProperty()->SetColor( 1, 1, 1 ), and I can not reset it anymore. What should I do to make the color of result-image white? My code is shown below:</DIV><DIV><BR></DIV><DIV>Thank you!</DIV><DIV><BR></DIV><DIV><BR></DIV><DIV><BR></DIV><DIV><BR> mode3D = vtkInteractorStyleTrackballCamera::New();<BR><BR>renderer3D = vtkRenderer::New();<BR> renderWindow3D = vtkRenderWindow::New();<BR> renderWindow3D->AddRenderer(renderer3D);<BR> <BR> displayImage3D->SetRenderWindow(renderWindow3D);<BR>
displayImage3D->SetInteractorStyle(mode3D);<BR> displayImage3D->Initialize();<BR><BR><BR> reader2D->SetFileDimensionality( 3 );<BR> reader2D->SetDirectoryName(selectedDirectory);<BR> reader2D->SetDataExtent( 0,reader2D->GetWidth()-1 , 0,reader2D->GetHeight()-1, 0,numberOfFilesOnSelectedFolder-1);<BR> reader2D->SetDataOrigin(0.0, 0.0, 0.0);<BR> reader2D->SetDataSpacing( 1,1,1 );<BR> reader2D->SetNumberOfScalarComponents( 1 );<BR> reader2D->SetDataByteOrderToBigEndian();<BR> reader2D->UpdateWholeExtent();<BR><BR><BR> marchingCubesCut = vtkMarchingCubes::New();<BR> marchingCubesCut->SetInput(reader2D->GetOutput()); //vtkDICOMImageReader<BR> marchingCubesCut->GenerateValues(1, (int)this->sliderRangeMin->value()-(int)this->sliderRangeMax->value()/2, (int)this->sliderRangeMin->value()+(int)this->sliderRangeMax->value()/2);<BR><BR> if (geCutterSagSelectMin > geCutterSagSelectMax){<BR>
int temp;<BR> temp = geCutterSagSelectMin;<BR> geCutterSagSelectMin = geCutterSagSelectMax;<BR> geCutterSagSelectMax = temp;<BR> }<BR> <BR> if (geCutterCorSelectMin > geCutterCorSelectMax){<BR> int temp;<BR> temp = geCutterCorSelectMin;<BR> geCutterCorSelectMin = geCutterCorSelectMax;<BR> geCutterCorSelectMax = temp;<BR> }<BR> <BR> if (geCutterAxSelectMin > geCutterAxSelectMax){<BR> int temp;<BR> temp = geCutterAxSelectMin;<BR> geCutterAxSelectMin = geCutterAxSelectMax;<BR> geCutterAxSelectMax = temp;<BR> }<BR><BR> const double minpoint4[] = { geCutterSagSelectMin,geCutterCorSelectMin,geCutterAxSelectMin }; <BR> const double maxpoint4[] = { geCutterSagSelectMax, geCutterCorSelectMax, geCutterAxSelectMax };<BR><BR><BR> clipper = vtkBoxClipDataSet::New();<BR> clipper->SetInput(marchingCubesCut->GetOutput());<BR> clipper->GenerateClippedOutputOff();<BR> clipper->SetBoxClip(minpoint4[0], maxpoint4[0], minpoint4[1],
maxpoint4[1],minpoint4[2], maxpoint4[2]);<BR><BR> surface = vtkDataSetSurfaceFilter::New();;<BR> surface->SetInputConnection(0, clipper->GetOutputPort(0));<BR> <BR> pMapper = vtkPolyDataMapper::New();<BR> pMapper->SetInputConnection(0, surface->GetOutputPort(0));<BR><BR> actor3DCut = vtkActor::New();<BR> actor3DCut->SetMapper(pMapper);<BR> actor3DCut->GetProperty()->SetColor( 1, 1, 1 ); //Define the color of 3D-Image here<BR> <BR> camera3D = vtkCamera::New();<BR> camera3D->SetViewUp(0, 0, -1);<BR> camera3D->SetPosition(0, 1, 0);<BR> camera3D->SetFocalPoint(0, 0, 0);<BR> camera3D->ComputeViewPlaneNormal();<BR> camera3D->Azimuth(20);<BR><BR> renderer3D->AddActor(actor3DCut);<BR> renderer3D->SetActiveCamera(camera3D);<BR> renderer3D->ResetCamera();<BR> camera3D->Dolly(1.3);<BR> renderer3D->ResetCameraClippingRange();<BR><BR></DIV>
</div><br>__________________________________________________<br>Do You Yahoo!?<br>Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. <br>http://mail.yahoo.com </body></html>