[vtkusers] [EXTERNAL] Re: Java vtkPointToCellData

Sebastien Jourdain sebastien.jourdain at kitware.com
Tue Sep 22 09:36:43 EDT 2015


I wasn't sure at first based on your comment, but I don't
think vtkPointDataToCellData is meant to create Cells.
And if you don't create any cell, then you won't be able to see anything.
You can create a single polyverts with all the points ids.

vtkCellArray verts = new vtkCellArray();
verts.InsertNextCell( points.GetNumberOfPoints() );
for(int i=0; i < points.GetNumberOfPoints(); i++) {
    verts.InsertNextPoint(i);
}

polyDataWithCells.SetVerts(verts)

The code above, should create the expected cells. Just be aware that it was
written in a mail with uncertainty regarding the method names and class
names.
But that should be enough to get you started with an appropriate IDE.

Seb

On Tue, Sep 22, 2015 at 6:35 AM, Gerrick Bivins <
Gerrick.Bivins at halliburton.com> wrote:

> The vtp file seems invalid. It looks like the cells aren’t defined.
>
> Even if the polydata is just points, I think you still have to define the
>
> “Verts” cell array of the polydata.
>
>
>
> Gerrick
>
>
>
>
>
>
>
>
>
> *From:* vtkusers [mailto:vtkusers-bounces at vtk.org] *On Behalf Of *James
> Labiak
> *Sent:* Monday, September 21, 2015 8:05 PM
> *To:* Sebastien Jourdain
> *Cc:* vtkusers
> *Subject:* [EXTERNAL] Re: [vtkusers] Java vtkPointToCellData
>
>
>
> Hi Sebastien,
> I made the change, but it still seems not to be running the filter.
> Attached is a java file and a .vtp data file to see what's happening. Also
> below is the code.
> Thanks,
> Jim
>
> package com.profiles;
>
> import vtk.*;
>
> public class PlotSomePolyDataFromFileRead {
>
>     public static void main(String[] args) {
>         try {
>             new PlotSomePolyDataFromFileRead();
>         } catch (Exception ex_new_PlotSomePolyDataFromFileRead) {
>             System.out.println("[main] Exception at new
> PlotSomePolyDataFromFileRead()");
>             ex_new_PlotSomePolyDataFromFileRead.printStackTrace();
>         }
>     }
>
>     // Load VTK libraries
>     static {
>         if (!vtkNativeLibrary.LoadAllNativeLibraries()) {
>             {
>                 for (vtkNativeLibrary lib : vtkNativeLibrary.values()) {
>                     if (!lib.IsLoaded())
>                         System.out
>                                 .println(lib.GetLibraryName() + " not
> loaded");
>                 }
>                 System.out.println("Make sure the search path is correct:
> ");
>
> System.out.println(System.getProperty("java.library.path"));
>             }
>             vtkNativeLibrary.DisableOutputWindow(null);
>         }
>     }
>
>     private PlotSomePolyDataFromFileRead() {
>
>         // Read the polyData from the data file
>         vtkXMLPolyDataReader xmlReader = new vtkXMLPolyDataReader();
>         xmlReader.SetFileName("C:\\vtk123\\test_data.vtp");
>         xmlReader.Update();
>
>         // Use the filter vtkPointDataToCellData to create the
>         // cells from the point data that's in the vtkPolyData from the
> reader
>         // *The vtkPolyData from the reader intentionally only includes
> vtkPoints
>         // and their scalars (that's the given data from the application
> output)
>         vtkPointDataToCellData polyDataCreateCells = new
> vtkPointDataToCellData();
>         polyDataCreateCells.SetInputConnection(xmlReader.GetOutputPort());
>         polyDataCreateCells.PassPointDataOn();
>         polyDataCreateCells.Update();
>
>         // In order to check if the vtkPointDataToCellData filter worked:
>         // Create new polyData, retrieve polyData (with cells now) from
>         // polyDataCreateCells filter, check values during debug operation
>         vtkPolyData polyDataWithCells = new vtkPolyData();
>         polyDataWithCells = polyDataCreateCells.GetPolyDataOutput();
>         // At this point, polyDataWithCells has (when I run it)
>         // point data but not cell data, nor scalar data
>         // and it should have all 3
>
>         vtkPolyDataMapper polyMapper = new vtkPolyDataMapper();
>         polyMapper.SetInputData(polyDataCreateCells.GetPolyDataOutput());
>         polyMapper.Update();
>
>         vtkActor polyActor = new vtkActor();
>         polyActor.SetMapper(polyMapper);
>         polyActor.GetProperty().SetColor(1.0, 1.0, 1.0);
>
>         vtkRenderer renderer = new vtkRenderer();
>         renderer.AddActor(polyActor);
>         renderer.SetBackground(0.0, 0.0, 0.0);
>
>         vtkRenderWindow renderWindow = new vtkRenderWindow();
>         renderWindow.AddRenderer(renderer);
>         renderWindow.SetSize(800, 800);
>
>         vtkRenderWindowInteractor renderWindowInteractor = new
> vtkRenderWindowInteractor();
>         renderWindowInteractor.SetRenderWindow(renderWindow);
>
>         renderWindow.Render();
>         renderWindowInteractor.Start();
>     }
> }
>
> On 9/21/2015 10:38 AM, Sebastien Jourdain wrote:
>
> Try that
>
>
>
> vtkPointDataToCellData polyDataCreateCells = new vtkPointDataToCellData();
> polyDataCreateCells.SetInputData(polyData);
> polyDataCreateCells.PassPointDataOn();
> polyDataCreateCells.Update();  // <==== For the execution of the filter
>
>
> // Create new polyData, retrieve completed polyData from
> polyDataCreateCells
> vtkPolyData polyDataComplete = polyDataCreateCells.GetPolyDataOutput(); //
> No need to create a polydata just get a ref from the filter
>
>
>
> On Mon, Sep 21, 2015 at 8:20 AM, James Labiak <
> jim at jslengineeringsoftware.com> wrote:
>
> Hello all,
> I created a pipeline that seems to make sense to me, but always my
> polyDataComplete is empty. Any ideas why this code doesn't work? The only
> vtkPointToCellData example on the web that I can find uses blow.vtk, which
> doesn't exist on my 6.0.0 installation anywhere. The polyData variable gets
> correctly populated with the points and their scalars below.
>
>         // Create a new, empty polyData
>         polyData = new vtkPolyData();
>
>         // populate the polyData points
>         polyData.SetPoints(points);
>
>         // populate the polyData scalars
>         polyData.GetPointData().SetScalars(colorsScalars);
>
>         vtkPointDataToCellData polyDataCreateCells = new
> vtkPointDataToCellData();
>         polyDataCreateCells.SetInputData(polyData);
>         polyDataCreateCells.PassPointDataOn();
>
>         // Create new polyData, retrieve completed polyData from
> polyDataCreateCells
>         vtkPolyData polyDataComplete = new vtkPolyData();
>         polyDataComplete = polyDataCreateCells.GetPolyDataOutput();
>
>         vtkPolyDataMapper polyMapper = new vtkPolyDataMapper();
>         polyMapper.SetInputData(polyDataComplete);
>         polyMapper.ScalarVisibilityOn();
>         polyMapper.SetScalarRange(scalarMin, scalarMax);
>         polyMapper.Update();
>
>         vtkActor polyActor = new vtkActor();
>         polyActor.SetMapper(polyMapper);
>         polyActor.GetProperty().SetColor(1.0, 1.0, 1.0);
>
> // ...Usual render stuff...
>
> Thanks,
> Jim
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Search the list archives at: http://markmail.org/search/?q=vtkusers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtkusers
>
>
>
>
> ------------------------------
> This e-mail, including any attached files, may contain confidential and
> privileged information for the sole use of the intended recipient. Any
> review, use, distribution, or disclosure by others is strictly prohibited.
> If you are not the intended recipient (or authorized to receive information
> for the intended recipient), please contact the sender by reply e-mail and
> delete all copies of this message.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150922/ede04f26/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 91063 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150922/ede04f26/attachment-0001.jpg>


More information about the vtkusers mailing list