[vtkusers] Selection of Colour

Hamp Donald hampdonald at yahoo.com
Sun Mar 28 12:22:52 EST 2004


Hi
    I have modified the Cube.cxx program to display a
set of lines. Please find below my program. Can
anybody tell me how the colours are selected to draw
the lines. 
In some lines I find there are changes of the colours
i.e. colour shade.

Respond please 

Donald 

int main( int argc, char *argv[] )
{
  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}};
  static vtkIdType pts[8][2]={{0,1}, {1,2}, {2,3},
{3,4}, {4,5}, {5,6}, {6,7}, {7,8}};
                                                      
                                                      
          
  // We'll create the building blocks of polydata
including data attributes.
  vtkPolyData *cube = vtkPolyData::New();
  vtkPoints *points = vtkPoints::New();
  //vtkCellArray *polys = vtkCellArray::New();
  vtkCellArray *lines = 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<8; i++)
lines->InsertNextCell(2,pts[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);
  //cube->SetVerts(verts);
  cube->SetLines(lines);
  lines->Delete();
  //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);
                                                      
                                                      
          
  // interact with data
  renWin->Render();
  iren->Start();
                                                      
                                                      
          
  // Clean up
                                                      
                                                      
          
  cube->Delete();
  cubeMapper->Delete();
  cubeActor->Delete();
  camera->Delete();
  renderer->Delete();
  renWin->Delete();
  iren->Delete();
                                                      
                                                      
          
  return 0;
}
                                            

__________________________________
Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
http://taxes.yahoo.com/filing.html



More information about the vtkusers mailing list