<div dir="ltr">Dear Aashish,<div>Thank you very much for all you suggestions as I can draw model with given point index now. However, I also want to color the polydata cell by cell. </div><div>I try to use vtkCellDataToPointData suggested by you and Casey, I refer some examples and docs, but still I can not make it work.</div>
<div>The basic code I wrote about this is list below. Could you help me check what's wrong with that? Thank you very much.</div><div><br></div><div>////////////////////////////////////////////////////////////////////////////////////</div>
<div><div>vtkSmartPointer<vtkCellDataToPointData> c2p = vtkCellDataToPointData::New();</div><div>c2p->PassCellDataOn();</div><div>c2p->SetInputData(currentModel->getPolydata());  //here is the input vtkPolydata</div>
<div>c2p->Update();</div><div>vtkSmartPointer<vtkPolyData> pd = c2p->GetPolyDataOutput();</div><div><br></div><div>pd->GetPointData()->SetScalars(colorTable);//color works like on each vertexes and scalar, color table is an vtkUnsignedCharArray which contains same tuples as vertexes number.</div>








<div>//pd->GetCellData()->SetScalars(colorTable);//no color at all, color table is an vtkUnsignedCharArray which contains same tuples as cells number.</div><div>    </div><div>vesKiwiPolyDataRepresentation::Ptr rep = std::tr1::dynamic_pointer_cast<vesKiwiPolyDataRepresentation>(self->mKiwiApp->dataRepresentations()[0]);</div>
<div>rep->colorByRGBArray();</div><div>rep->setPolyData(pd);</div></div><div>////////////////////////////////////////////////////////////////////////////////////</div><div><br></div><div>Sincerely yours,</div><div><br>
</div><div>Yu Bo</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Feb 28, 2014 at 12:00 AM, Aashish Chaudhary <span dir="ltr"><<a href="mailto:aashish.chaudhary@kitware.com" target="_blank">aashish.chaudhary@kitware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Bo, <br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="">On Thu, Feb 27, 2014 at 12:22 AM, Bo Yu <span dir="ltr"><<a href="mailto:yubo1983@gmail.com" target="_blank">yubo1983@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Thank you for your suggestion, Casey.<div>
If I understand correctly, now I am try to use "vesKiwiViewerApp", and I didn't call any shader init function in it,  so I think I am using the default shader.</div>
</div></blockquote><div><br></div></div><div>Yes. </div><div class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr">
<div><div>Now I can color the model via vertexes using default shader with helps from you and Aashish.</div></div></div></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr"><div>However, if I want to specify colors for some cells of the model, do I have to call the functions related with the shaders in vesKiwiViewerApp?</div></div></blockquote><div><br></div></div><div>So basically you want to have color per face (or cell) rather than color per vertices right? In that can you can run your polydata through vtkCellDataToPointData filter as s</div>

<div>suggested by Casey earlier. I have a branch that does it internally when you sent the polydata on the representation that will be available in master tomorrow if all goes well. </div><div class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr">
<div>Sorry but I know little about this, is there some documents about how to achieve this goal?</div><div>Thank you very much.</div></div></blockquote><div><br></div></div><div><a href="http://www.vtk.org/doc/nightly/html/classvtkCellDataToPointData.html" target="_blank">http://www.vtk.org/doc/nightly/html/classvtkCellDataToPointData.html</a> </div>
<div><div class="h5">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Best regards,</div><div>

Bo Yu</div><div><br></div></div><div><div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Thu, Feb 27, 2014 at 12:01 AM, Casey Goodlett <span dir="ltr"><<a href="mailto:casey.goodlett@kitware.com" target="_blank">casey.goodlett@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div dir="ltr"><div>Bo,<br><br>Are you using the default shader?  I think you should specify colors per-vertex rather than per-cell with the default shader.<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">


<div><div>

On Tue, Feb 25, 2014 at 10:26 AM, Bo Yu <span dir="ltr"><<a href="mailto:yubo1983@gmail.com" target="_blank">yubo1983@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div><div>

<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Thank you, Aashish, I tried to set name of a vtkDataArray, but that didn't make change,I still only see model with no color (or white color). if you have time could you please check my code below?</span><div style="font-family:arial,sans-serif;font-size:13px">





I just create a simple triangle and try to paint it to red use colorByScale.</div><div style="font-family:arial,sans-serif;font-size:13px">However, It seems I can not change the color mode of "rep" in the last three lines. It always have the value as "Solid color"....</div>





<div style="font-family:arial,sans-serif;font-size:13px">Sorry, I just start to learn ves, and thank you so much for your reply and patient. </div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">





Sincerely yours,</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Bo Yu<br><div>/////////////////////</div><div><div>/////testing</div><div>




    // Setup points</div>
<div>    vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();</div><div>    vtkSmartPointer<vtkCellArray> vertices = vtkSmartPointer<vtkCellArray>::New();</div><div>    points->InsertNextPoint(0.0, 0.0, 0.0);</div>





<div>    points->InsertNextPoint(1.0, 0.0, 0.0);</div><div>    points->InsertNextPoint(0.0, 1.0, 0.0);</div><div>    </div><div>    // Setup colors</div><div>    unsigned char red[3] = {1, 0, 0};</div><div>    vtkSmartPointer<vtkUnsignedCharArray> colors = vtkSmartPointer<vtkUnsignedCharArray>::New();</div>





<div>    colors->SetNumberOfComponents(3);</div><div>    colors->SetName("Colors");</div><div>    colors->InsertNextTupleValue(red);</div><div>    </div><div>    vtkDataArray *colorArray = vtkDataArray::SafeDownCast(colors);</div>





<div>    colorArray->SetName("ColorsArray");  ////set color array name</div><div><br></div><div>    vtkSmartPointer<vtkCellArray> triangles =vtkSmartPointer<vtkCellArray>::New();</div><div>    vtkSmartPointer<vtkTriangle> triangle = vtkSmartPointer<vtkTriangle>::New();</div>





<div>    triangle->GetPointIds()->SetId(0, 0);</div><div>    triangle->GetPointIds()->SetId(1, 1);</div><div>    triangle->GetPointIds()->SetId(2, 2);</div><div>    triangles->InsertNextCell(triangle);</div>





<div>    </div><div>    vtkSmartPointer<vtkPolyData> polydata = vtkSmartPointer<vtkPolyData>::New();</div><div>    </div><div>    polydata->SetPoints(points);</div><div>    polydata->SetPolys(triangles);</div>





<div>    polydata->GetCellData()->SetScalars(colors);</div><div>    ////////////</div><div>    </div><div>    vesKiwiPolyDataRepresentation::Ptr rep = std::tr1::dynamic_pointer_cast<vesKiwiPolyDataRepresentation>(self->mKiwiApp->dataRepresentations()[0]);</div>





<div>    rep->setPolyData(polydata);//(currentPolydata->getPolydata(), newColorLookupTable);</div><div>    rep->colorByScalars("ColorsArray");  //colorArray->GetName()//(1.0, 0.0, 0.0, 1.0);</div></div>





<div>////////////////////////////////////////////</div><div><br></div><div><br></div><div>-   -!  I forgot to cc to mail list.</div></div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Tue, Feb 25, 2014 at 11:37 PM, Aashish Chaudhary <span dir="ltr"><<a href="mailto:aashish.chaudhary@kitware.com" target="_blank">aashish.chaudhary@kitware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Bo, <div><br></div><div>If I remember it correctly, you can name your scalar array "foo" and then pass that array name to the Kiwi (have a look at the documentation for the exact signature)</div>





<div>
<br></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">vtkDataArray* da = ....;</span></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">da->SetArrayName("foo"); </span></div>






<div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div></div><div class="gmail_extra"><div><div><br><br><div class="gmail_quote">On Tue, Feb 25, 2014 at 9:34 AM, Bo Yu <span dir="ltr"><<a href="mailto:yubo1983@gmail.com" target="_blank">yubo1983@gmail.com</a>></span> wrote:<br>






<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Hi, I am so sorry to interrupt again.</div>

<div>This time I want to paint the polydata with different colors in each region. I found there is a method called </div>




<div><span style="color:rgb(68,85,136);font-weight:bold;font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">void</span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap"> </span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">vesKiwiPolyDataRepresentation</span><span style="font-weight:bold;color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">::</span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">colorByScalars</span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">(</span><span style="font-weight:bold;color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">const</span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap"> </span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">std</span><span style="font-weight:bold;color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">::</span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">string</span><span style="font-weight:bold;color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">&</span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap"> </span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">arrayName</span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;line-height:18px;white-space:pre-wrap">)</span><br>







</div><div>, which seem similar to the one I used before to set color of a polydata in VTK.</div><div>polydata->GetCellData()->SetScalars(vtkDataArray *da).</div><div><br></div><div>But why the input is a string called arrayName? If you know, Could you tell me how to use this method or give me some simple examples?</div>







<div><br></div><div>Thanks in advance.</div><span><font color="#888888"><div><br></div><div>Bo Yu </div><div><br></div><br></font></span></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br>| Aashish Chaudhary <br>| R&D Engineer         <br>| Kitware Inc.            <br>| <a href="http://www.kitware.com" target="_blank">www.kitware.com</a>    
</font></span></div>
</blockquote></div><br></div>
</div></div><br></div></div>_______________________________________________<br>
Ves mailing list<br>
<a href="mailto:Ves@public.kitware.com" target="_blank">Ves@public.kitware.com</a><br>
<a href="http://public.kitware.com/cgi-bin/mailman/listinfo/ves" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/ves</a><br>
<br></blockquote></div><span><font color="#888888"><br><br clear="all"><br>-- <br>Casey B. Goodlett, Ph.D.<br>R&D Engineer<br>Kitware, Inc. - North Carolina Office<br><a href="http://www.kitware.com" target="_blank">http://www.kitware.com</a><br>


<a href="tel:%28919%29%20969-6990%20x310" value="+19199696990" target="_blank">(919) 969-6990 x310</a>
</font></span></div>
</blockquote></div><br></div>
</div></div></blockquote></div></div></div><div><div class="h5"><br><br clear="all"><div><br></div>-- <br>| Aashish Chaudhary <br>| R&D Engineer         <br>| Kitware Inc.            <br>| <a href="http://www.kitware.com" target="_blank">www.kitware.com</a>    
</div></div></div></div>
</blockquote></div><br></div>