2 VTK takata@ 1 G401 gnuplot 2 3 x, y, ), ) Version3.8 2 1
G401 vtk 3 CMakeLists.txt PROJECT (ProjectName) INCLUDE (${CMAKE_ROOT}/Modules/FindVTK.cmake) IF (USE_VTK_FILE) INCLUDE(${USE_VTK_FILE}) ENDIF (USE_VTK_FILE) ADD_EXECUTABLE(ObjectName ProgramFile) TARGET_LINK_LIBRARIES(ObjectName Libraries) VTK 4 2
URL http://www.vtk.org/doc/release/4.2/html/ Alphabetical List CVS logs(cvsweb):.cxx(/graphics/vtk???.cxx).h(/graphics/vtk???.h) vtkgraphics 5 Vtk vtkdataset vtkimagedata vtkpointset vtkrectilinear vtkstructuredpoints vtkpolydata 6 3
vtkstructuredpoints 3 x,y,z vtkrectilinear 3 x,y,z 7 vtkstructuredgrid vtkpolydata 8 4
(PointData) or (CellData) PointData CellData SvalarData VectorData TensorData FieldData 9 3 x1 y1 z1 x2 y2 z2 xn yn zn class vtkpolydata; class vtkpoints; class vtkidlist; void AddLineToPolyData(vtkPolyData *pdata,char *fname){ double x,y,z; int newflg=0; char buffer[1000]; vtkidlist *pntids=vtkidlist::new(); vtkpoints *pnts=pdata- >GetPoints(); if(pnts==null){ pnts=vtkpoints::new(); pdata->allocate(); newflg=1; } } FILE *fp=fopen(fname,"r"); while( fgets(buffer, BUFFER_SIZE, fp) ){ sscanf(buffer," %f %f %f", &x,&y,&z); pntids->insertnextid(pnts- >InsertNextPoint(x,y,z)); } fclose(fp); pdata->setpoints(pnts); pdata->insertnextcell (VTK_POLY_LINE,pntids); pntids->delete(); if(newflg==1) pnts->delete(); 10 5
VTK DataFile Version 1.0 (1) Volume example (2) ASCII (3) DATASET STRUCTURED_POINTS (4) DIMENSIONS 3 4 6 (5) ORIGIN 0 0 0 (6) SPACING 1 1 1 (7) POINT_DATA 72 (8) SCALARS volume_scalars unsigned_char 1 (9) LOOKUP_TABLE default (10) 0 0 0 0 0 0 0 0 0 0 0 50 (11) 0 5 10 15 20 25 25 20 15 10 5 0 0 10 20 30 40 50 50 40 30 20 10 50 0 10 20 30 40 50 50 40 30 20 10 50 0 5 10 15 20 25 25 20 15 10 5 0 0 0 0 0 0 0 0 0 0 0 0 50 (1) (2) (3) ASCII or BINARY (4) (5) (X, Y, Z) (6) (X, Y, Z) (7) (X, Y, Z) (8) (9) (10) LookUpTable (11) ASCII http://www.vtk.org/pdf/file-formats.pdf 11 vtkrenderer *ren = vtkrenderer::new(); vtkrenderwindow *renwin = vtkrenderwindow::new(); renwin->addrenderer(ren); vtkrenderwindowinteractor *iren = vtkrenderwindowinteractor::new(); Iren->SetRenderwindow(renWin); ren->addactor(???); // ren->addvolume(???); renwin->setsize(600, 600); renwin->render(); iren->initialize(); renwin->render(); iren->start(); VTK 12 6
Actor vtkmapper*->scalarvisibilityoff(); vtkactor*->getproperty() ->SetColor(red, green, blue); vtkrenderer* ->SetBackground(red, green, blue) 13 VTK vtkwindowtoimagefilter *w2i=vtkwindowtoimagefilter::new(); vtkjpegwriter *writer=vtkjpegwriter::new(); JPEG *JPEG* w2i->setinput(vtkrenderwindow*); writer->setinput(w2i->getoutput()); writer->setfilename(char *); vtkrenderwindow*->render(); w2i->update(); writer->write(); 14 7
(Color mapping) (2D Contour) (3D Contour) (Cutting) 15 Lookup Table (Max, Min) Si Si Min colori = lut Max Min 16 8
Pipeline: vtkdatasetreader vtkimagedatageometryfilter Actor vtkwarpscalar ReleaseDataFlagOn(); vtklookuptable SetNormal(0,0,1); SetNumberOfColors(int); UseNormalOn(); SetHueRange(double, double); ReleaseDataFlagOn(); SetSaturationRange(double, double); SetValueRange(double, double); Build(); SetVisibilityOn(); SetLookupTable(vtkLookupTable*) vtkwarpscalar* ->Update(); SetScalarRange(vtkWarpScalar*->GetOutput()->GetScalarRange(); 17 LookupTable SetNumberOfColors(int); Int SetHueRange(double, double); 0.6 0.0: SetSaturationRange(double, double); 1 SetValueRange(double, double); 1 18 9
Pipeline: (2D Contour) vtkdatasetreader vtkimagedatageometryfilter vtkwarpscalar ReleaseDataFlagOn(); SetNormal(0,0,1); UseNormalOn(); ReleaseDataFlagOn(); vtkcontourfilter SetValue(int, double); Actor1 Actor2 19 Pipeline: (3D Contour) vtkstructuredgridreader vtkstructuredgridoutlinefilter ScalarVisibilityOn(); vtkcontourfilter SetValue(int, double); ScalarVisibilityOn(); Actor1 Actor2 20 10
vtkcontourfilter vtkdataset vtkpolydata GenerateValues(int, double[2]) int: double[2]: (vtkwarpscale*->getoutput()->getscalarrange()); SetValue(int, double) int: double: GetNumberOfContours() 21 Pipeline: vtkstructuredgridreader vtkstructuredgridoutlinefilter vtkplane SetOrigin(x, y, z) SetNormal(vector x, vector y, vector z ) vtkcutter SetCutFunction(vtkPlane*) Actor1 Actor2 22 11
Pipeline: vtkstructuredgridreader vtkstructuredgridoutlinefilter vtkstructuredgridgeometryfilter SetExtent(double, double, double, double, double, double) Actor1 Actor2 23 Pipeline: Glyphing vtkstructured GridReader vtkstructured GridOutlineFilter Actor1 vtkmaskpoints vtkglyph3d SetOnRatio(50); RandomModeOn(); Update(); Vtk???Source Setsource(vtk???Source*->GetOutput()); scalingon(); SetScaleModeToScaleByScalar(); SetColorModeToColorByScalar(); SetScaleFactor(2); SetRange(vtkMaskPoints*->GetOutput() ->GetScalarRange()) ScalarVisibilityOn(); SetScalarRange(vtkMaskPoints* ->GetOutput()->GetScalarRange()); 24 Actor2 12
vtkmaskpoints int SetOffset(int) int 1 SetOnRatio(int) RandomModeOn(), RandomModeOff() SetMaximumNumberOfPoints(int) 25 vtkglyph3d SetSource(vtkPolyData*) ScalingOn() ScalingOff() SetScaleModeToScaleByScalar SetScaleModeToScaleByVector SetColorModeToColorByScalar SetColorModeToColorByVector float SetScaleFactor(float) SetRange(float[2]) 26 13
vtkarrowsource vtkconesource vtkspheresource 27 Pipeline: vtkstructured GridReader vtkstructured GridOutlineFilter vtkextractgrid SetVOI(int, int, int, int, int, int); SetSamplerate (int, int, int); IncludeBoundaryOn(); vtkrungekutta4 vtkstreamline SetSource (vtkextractgrid*); SetIntegrator (vtkrungekutta4*); SetStepLength(float); Actor1 Actor3 Actor2 GetProperty() ->SetRepresentationToWireframe() 28 14
Pipeline: vtkstructured PointsReader vtkoutlinefilter Actor1 vtkvolumeraycastmapper vtkpiecewisefunction SetColor(vtkTransforFunction*) SetScalarOpacity(vtkPiecewiseFunction*) ShadeOn() SetInterpolationTypeToLinear() SetProperty(vtkVolumeProperty*) Actor2 29 AddVolume(vtkVolume*) vtkvolume vtkvolumeraycastcompositefunction SetVolumeRayCastFunction (vtkvolumeraycastcompositefunction*) AddPoint(int, double) vtkvolumeproperty vtktransferfunction AddRGBPoint (double, double, double, double) vtkpiecewisefunction AddPoint(double vlaue, trans) double value: double trans: vtkcolortransferfunction AddRGBPoint(double value, red, green, blue) HSV AddHSVPoint(double, H, S, V) 30 15
vtkimageshiftscale vtkstructuredpointsreader* vtkraycastmapper* SetShift( or 0) SetScale(Scale/ SetOutputScalarTypeToUnsignedChar() 31 http://www.vtk.org 3D http://donguri.sakura.ne.jp/~shock8/3d/vtk_index.html http://www.kitware.com/products/vtktextbook.html The Visualization ToolKit An Object-oriented approach to 3D Graphics VTK User s Guide 32 16