[vtkusers] UnstructuredGrid clip problems
chen zhao
dreamthinkinger at gmail.com
Thu Oct 18 03:57:39 EDT 2012
Hi,
I am very interested vtk.But a vtk problem bothering me for a long time.
My OS is centos6.3. vtk version 5.10,cmake version is 2.84,ccmake is 2.84.
I have built vtk source successfully and get a vtk.jar.
I have a vtk file(ASCII, UNSTRUCTURED_GRID),I want to cut a part of the
file.The vtk file's information is:
-------------------------------------------------------------------------------------------------
vtk DataFile Version 2.0
Result of a test
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 2897304 float
...
CELLS 2720061 24480549
...
CELL_TYPES 2720061
...
CELL_DATA 2720061
SCALARS matnumber long
LOOKUP_TABLE default
...
POINT_DATA 2897304
SCALARS srr float
LOOKUP_TABLE default
...
SCALARS stt float
LOOKUP_TABLE default
...
SCALARS spp float
LOOKUP_TABLE default
...
SCALARS stp float
LOOKUP_TABLE default
...
SCALARS srp float
LOOKUP_TABLE default
...
SCALARS srt float
LOOKUP_TABLE default
...
VECTORS desplacement float
...
--------------------------------------------------------------------------------------------------
On the top,it is the vtk file data structure.
My source is following:
*# step 1: read file*
vtkUnstructuredGridReader reader = new vtkUnstructuredGridReader();
reader.SetFileName(fileName);
reader.Update();
vtkUnstructuredGrid output = reader.GetOutput();
*#step 2: create a clipper*
vtkClipDataSet clipper = new vtkClipDataSet();
vtkImplicitBoolean cut = new vtkImplicitBoolean();
cut.SetOperationTypeToIntersection();
/*
new vtkPlane (vtkPlane1,vtkPlane2,vtkPlane3)
*/
cut.AddFunction(vtkPlane1);
cut.AddFunction(vtkPlane2);
cut.AddFunction(vtkPlane3);
clipper.SetInput(output);
clipper.SetClipFunction(cut);
clipper.GenerateClipScalarsOn();
clipper.GenerateClippedOutputOn();
clipper.SetInsideOut(-1);
*#step 3:save clipper data*
vtkUnstructuredGridWriter writer = new vtkUnstructuredGridWriter();
String fileNameWriter = "cutter.vtk";
writer.SetFileName("/work/data/vtk/"+fileNameWriter);
writer.SetInput(clipper.GetOutput());
writer.SetFileTypeToASCII();
writer.Write();
Now I can get the cutter.vtk file,when I open the "cutter.vtk" file by
ParaView,I only find "Solid Color, cellNormals, matnumber,
ClipDataSetScalars displacement" scalars,but in orignal vtk file I
can find "Solid Color, cellNormals, displacement, matnumber, spp, srr, stt,
srp, srt, stp" scalars.So in cutter.vtk file,it added "ClipDataSetScalars"
scalars and removed "spp, stt, srr, srp, srt,
stp" 6 scalars.Why did cutter.vtk remove the 6 scalars and add
"ClipDataSetScalars"?
I want to keep the "spp, stt, srr, srp, srt, stp " scalars,but I don't know
how to do it. Is my source code wrong?
Please advice. The problem is very import for me.
Chen Zhao
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20121018/32f6281a/attachment.htm>
More information about the vtkusers
mailing list