[vtkusers] How to use LookupTable correctly?

Paul Tait - OPES Paul at opes.com.au
Thu Jun 22 20:01:53 EDT 2006


My two color code looks like this

	lut = vtkLookupTable::New();
	lut->SetNumberOfTableValues(2);
	lut->SetTableValue(0, 0.8, 0.8, 0.8);
	lut->SetTableValue(1, 0.0, 1.0, 1.0);
	lut->Build();

-----Original Message-----
From: vtkusers-bounces+paul=opes.com.au at vtk.org
[mailto:vtkusers-bounces+paul=opes.com.au at vtk.org] On Behalf Of Khew Sing
Yoong
Sent: Friday, 23 June 2006 1:28 AM
To: vtkusers at vtk.org
Subject: [vtkusers] How to use LookupTable correctly? 


Hi there,

I am fairly new to vtk and I am having problems drawing lines with 
colours using a lookup table. I am using VTK 5.0.

In a snapshot: create a vtkPolyData, assign 3 points, and connect them 
with 2 lines in the form of an L shape.
I want to color the first point Red, second Green, third Blue, hence I 
assign 0, 1, 2 as scalar values for each point respectively. Then I created
a lookup table for the PolyDataMapper with 0,1,2 mapping 
to RGB.
Connect the pipe and the results weren't as expected. Green never shows up!

Can somebody be kind enough to help me out here a little? Maybe I missed 
something? Thank you in advance! :)

SY


    vtkPolyData * data = vtkPolyData::New();
    vtkPoints *Points = vtkPoints::New();
    vtkCellArray *Lines= vtkCellArray::New();
    vtkIntArray *color = vtkIntArray::New();
    Points->Allocate(3);
    Lines->Allocate(2);
    color->SetName("Color");
    color->SetNumberOfComponents(1);

    Points->InsertNextPoint(0, 1, 0);
    Points->InsertNextPoint(0, 0, 0);
    Points->InsertNextPoint(1, 0, 0);
    vtkIdType line[2];
    line[0] = 0;
    line[1] = 1;
    Lines->InsertNextCell(2, line);
    line[0] = 1;
    line[1] = 2;
    Lines->InsertNextCell(2, line);
    color->InsertNextValue(0);
    color->InsertNextValue(1);
    color->InsertNextValue(2);
    data->SetPoints(Points);
    data->SetLines(Lines);
    data->GetPointData()->SetScalars(color);
    data->Squeeze();
    
    vtkPolyDataMapper * mapper = vtkPolyDataMapper::New();
    mapper->SetInput(data);
    mapper->SetScalarVisibility(1);

    vtkLookupTable * lut = vtkLookupTable::New();
    lut->SetTableRange(0, 3);
    lut->SetNumberOfColors(3);
    lut->Build();
    lut->SetTableValue(0, 1, 0, 0, 1);
    lut->SetTableValue(1, 0, 1, 0, 1);
    lut->SetTableValue(2, 0, 0, 1, 1);
    
    mapper->SetLookupTable(lut);
    mapper->SetScalarModeToUsePointFieldData();
    mapper->SetColorModeToMapScalars();
    mapper->SelectColorArray("Color");

    vtkActor * actor = vtkActor::New();
    actor->SetMapper(mapper);
    actor->GetProperty()->SetLineWidth(2);
    ren1->AddActor(actor); _______________________________________________
This is the private VTK discussion list. 
Please keep messages on-topic. Check the FAQ at:
http://www.vtk.org/Wiki/VTK_FAQ Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers

-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.2/372 - Release Date: 21/06/2006
 

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.2/372 - Release Date: 21/06/2006
 




More information about the vtkusers mailing list