[vtkusers] [EXTERNAL] Re: Java vtkPointToCellData

Gerrick Bivins Gerrick.Bivins at halliburton.com
Tue Sep 22 08:35:45 EDT 2015


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.

[cid:image001.jpg at 01D0F509.4A5AF490]
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<mailto: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<http://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/0b5d655b/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 91063 bytes
Desc: image001.jpg
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150922/0b5d655b/attachment-0001.jpg>


More information about the vtkusers mailing list