[vtkusers] How to change the color of cube?

Amy Henderson amy.henderson at kitware.com
Thu Sep 2 08:21:06 EDT 2004


Hi Wang,

I'm not sure what you mean by "pure colors", but to change the color of an 
actor, you need to do something similar to the following:

actor->GetProperty()->SetColor(1, 1, 1);

The above code will set the color to white.  (The three parameters to 
SetColor are red, green, and blue values between 0 and 1.)

- Amy

At 11:57 PM 9/1/2004, wang minyou wrote:
>I use vtkPolydata to create a cube, but it only can display pure colors 
>but not blank or white. Any one can help me to achieve that?
>Thank you in advance!
>
>My relevant codes:
>  int i;
>  static float x[8][3]={{0,0,0}, {1,0,0}, {1,1,0}, {0,1,0},
>                        {0,0,1}, {1,0,1}, {1,1,1}, {0,1,1}};
>  static vtkIdType pts[6][4]={{0,1,2,3}, {4,5,6,7}, {0,1,5,4},
>                        {1,2,6,5}, {2,3,7,6}, {3,0,4,7}};
>
>  // We'll create the building blocks of polydata including data attributes.
>  vtkPolyData *cube = vtkPolyData::New();
>  vtkPoints *points = vtkPoints::New();
>  vtkCellArray *polys = vtkCellArray::New();
>  vtkFloatArray *scalars = vtkFloatArray::New();
>
>  // Load the point, cell, and data attributes.
>  for (i=0; i<8; i++) points->InsertPoint(i,x[i]);
>  for (i=0; i<6; i++) polys->InsertNextCell(4,pts[i]);
>  for (i=0; i<8; i++) scalars->InsertTuple1(i,i);
>
>  // We now assign the pieces to the vtkPolyData.
>  cube->SetPoints(points);
>  points->Delete();
>  cube->SetPolys(polys);
>  polys->Delete();
>  cube->GetPointData()->SetScalars(scalars);
>  scalars->Delete();
>
>  // Now we'll look at it.
>  vtkPolyDataMapper *cubeMapper = vtkPolyDataMapper::New();
>      cubeMapper->SetInput(cube);
>      cubeMapper->SetScalarRange(0,7);
>  vtkActor *cubeActor = vtkActor::New();
>      cubeActor->SetMapper(cubeMapper);
>
>  // The usual rendering stuff.
>  vtkCamera *camera = vtkCamera::New();
>      camera->SetPosition(1,1,1);
>      camera->SetFocalPoint(0,0,0);
>
>  vtkRenderer *renderer = vtkRenderer::New();
>  vtkRenderWindow *renWin = vtkRenderWindow::New();
>    renWin->AddRenderer(renderer);
>
>  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
>    iren->SetRenderWindow(renWin);
>
>  renderer->AddActor(cubeActor);
>      renderer->SetActiveCamera(camera);
>      renderer->ResetCamera();
>      renderer->SetBackground(1,1,1);
>
>  renWin->SetSize(300,300);
>
>_________________________________________________________________
>ÏíÓÃÊÀ½çÉÏ×î´óµÄµç×ÓÓʼþϵͳ¡ª MSN Hotmail¡£  http://www.hotmail.com
>
>_______________________________________________
>This is the private VTK discussion list. Please keep messages on-topic. 
>Check the FAQ at: <http://public.kitware.com/cgi-bin/vtkfaq>
>Follow this link to subscribe/unsubscribe:
>http://www.vtk.org/mailman/listinfo/vtkusers






More information about the vtkusers mailing list