X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.g3d.vtk%2Fsrc%2Forg%2Fsimantics%2Fg3d%2Fvtk%2Fshape%2FMeshActor.java;h=b290f861d27fbcf6d7d7610b1ad22a5c491f4aad;hb=c39250eb0521cf4e6d69f472f4fdf9e8b877c6e4;hp=0cfc8246bcc155d43e25edf0dcb550800369669a;hpb=58ebeb2baac48f9066c1395a9071f99745574ef9;p=simantics%2F3d.git diff --git a/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/shape/MeshActor.java b/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/shape/MeshActor.java index 0cfc8246..b290f861 100644 --- a/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/shape/MeshActor.java +++ b/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/shape/MeshActor.java @@ -29,10 +29,7 @@ import vtk.vtkUnsignedCharArray; public class MeshActor extends vtkActor { - public void setMesh(Mesh mesh) { - - vtkPolyDataMapper mapper = new vtkPolyDataMapper(); - + public static vtkPolyData createPolyData(Mesh mesh) { vtkPolyData polyData = new vtkPolyData(); polyData.Allocate(mesh.getIndices().size()/3, mesh.getIndices().size()/3); @@ -70,16 +67,23 @@ public class MeshActor extends vtkActor { colors.Delete(); } - + return polyData; + } + + public void setMesh(Mesh mesh) { + + vtkPolyDataMapper mapper = new vtkPolyDataMapper(); + vtkPolyData polyData = createPolyData(mesh); + boolean computeNormals = true; if (computeNormals) { vtkPolyDataNormals normals = new vtkPolyDataNormals(); - normals.SetInput(polyData); + normals.SetInputData(polyData); mapper.SetInputConnection(normals.GetOutputPort()); normals.GetOutputPort().Delete(); normals.Delete(); } else { - mapper.SetInput(polyData); + mapper.SetInputData(polyData); } if (mesh.getColors() != null) {