<DIV>Hello David,</DIV>
<DIV>I had tried your solution but I failed to use it. I don't understand why it doesn't work :</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; mapper = vtkDataSetMapper()<BR>&nbsp;&nbsp;&nbsp; mapper.SetInput( cloud )<BR>&nbsp;&nbsp;&nbsp; mapper.SetScalarRange( cloud.GetScalarRange() )<BR>&nbsp;&nbsp;&nbsp; lut = mapper.GetLookupTable()<BR>&nbsp;&nbsp;&nbsp; lut.Build()<BR>&nbsp;&nbsp;&nbsp; lut.SetTableValue( 0, 0, 0, 0, 0 )<BR></DIV>
<DIV>Black points are still visible... :-(</DIV>
<DIV>Do you have a simple example of a vtkStructuredPoints or vtkStructuredGrid build by hand on wich you can choose each point value color. Here is my Python code that doesn't work :</DIV>
<DIV>&nbsp;</DIV>
<DIV>from vtk import *</DIV>
<DIV>def main():<BR>&nbsp;&nbsp;&nbsp; math = vtkMath()<BR>&nbsp;&nbsp;&nbsp; # 20x10x10 points<BR>&nbsp;&nbsp;&nbsp; nx = 20<BR>&nbsp;&nbsp;&nbsp; ny = 10<BR>&nbsp;&nbsp;&nbsp; nz = 10<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; scalars = vtkUnsignedCharArray()</DIV>
<DIV>&nbsp;&nbsp;&nbsp; for z in range(0, nz):<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for y in range(0, ny):<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for x in range(0, nx):<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if x &lt; 5:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scalars.InsertNextTuple1( 0 )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scalars.InsertNextTuple1( math.Random( 0, 255 ) + 1 )<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; cloud = vtkStructuredPoints()<BR>&nbsp;&nbsp;&nbsp; cloud.SetDimensions( nx, ny, nz )<BR>&nbsp;&nbsp;&nbsp; cloud.SetOrigin( 0, 0, 0 )<BR>&nbsp;&nbsp;&nbsp; cloud.SetSpacing( 1, 1, 1 )<BR>&nbsp;&nbsp;&nbsp;
 cloud.GetPointData().SetScalars( scalars )<BR></DIV>
<DIV>&nbsp;&nbsp;&nbsp; mapper = vtkDataSetMapper()<BR>&nbsp;&nbsp;&nbsp; mapper.SetInput( cloud )<BR>&nbsp;&nbsp;&nbsp; mapper.SetScalarRange( cloud.GetScalarRange() )<BR>&nbsp;&nbsp;&nbsp; lut = mapper.GetLookupTable()<BR>&nbsp;&nbsp;&nbsp; lut.Build()<BR>&nbsp;&nbsp;&nbsp; lut.SetTableValue( 0, 0, 0, 0, 0 )<BR></DIV>
<DIV>&nbsp;&nbsp;&nbsp; actor = vtkActor()<BR>&nbsp;&nbsp;&nbsp; actor.SetMapper( mapper )<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; ren = vtkRenderer()<BR>&nbsp;&nbsp;&nbsp; ren.AddActor( actor )<BR>&nbsp;&nbsp;&nbsp; ren.SetBackground( 1, 1, 1 )<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; renWin = vtkRenderWindow()<BR>&nbsp;&nbsp;&nbsp; renWin.AddRenderer( ren )<BR>&nbsp;&nbsp;&nbsp; iren = vtkRenderWindowInteractor()<BR>&nbsp;&nbsp;&nbsp; iren.SetRenderWindow( renWin )<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; renWin.SetSize( 500, 500 )<BR>&nbsp;&nbsp;&nbsp; renWin.Render()<BR>&nbsp;&nbsp;&nbsp; iren.Start()</DIV>
<DIV>if __name__ == '__main__':<BR>&nbsp;&nbsp;&nbsp; main()</DIV>
<DIV>&nbsp;</DIV>
<DIV>I don't understand what is wrong.</DIV>
<DIV>Thanks for your help.</DIV>
<DIV><BR><BR><B><I>David.Pont@ForestResearch.co.nz</I></B> wrote:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid"><BR><BR>Hi Aurélien,<BR>The code fragment below constructs a greyscale lookuptable with 5<BR>colors. After the call to Build one color is changed so that alpha is 0.<BR>Data values mapped into this color in the lookuptable will be transparent.<BR><BR>vtkLookupTable *lut1 = vtkLookupTable::New();<BR>lut1-&gt;SetRange( 0, 0.5 );<BR>lut1-&gt;SetNumberOfColors( 5 );<BR>lut1-&gt;SetHueRange( 0, 0 );<BR>lut1-&gt;SetSaturationRange( 0, 0 );<BR>lut1-&gt;SetValueRange( 0, 1 );<BR>lut1-&gt;Build();<BR>lut1-&gt;SetTableValue( 1, 0, 0, 0, 0 ); // make one band<BR>disappear, note: rgb values not important<BR><BR>vtkPolyDataMapper *pdm1 = vtkPolyDataMapper::New();<BR>pdm1-&gt;SetInput( clpd1-&gt;GetOutput() );<BR>pdm1-&gt;SetScalarRange( 0, 0.5 );<BR>pdm1-&gt;SetLookupTable( lut1 );<BR>pdm1-&gt;ScalarVisibilityOn();<BR><BR>You should be able to use appropriate values for
 SetRange,<BR>SetNumberOfColors, SetTableValue and SetScalarRange to hide parts of your<BR>dataset. This worked for me on polydata surfaces, I am not sure about<BR>rendering points, but I would expect it to work.<BR><BR>bon chance<BR>Dave Pont<BR></BLOCKQUOTE><p>
                <hr size=1>
Yahoo! Mail : votre e-mail personnel et gratuit qui vous suit partout !
<br><a href="http://fr.rd.yahoo.com/mail/taglines/*http://fr.benefits.yahoo.com/">Créez votre Yahoo! Mail</a>