Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <vtkOutlineFilter.h>
- #include "vtkConeSource.h"
- #include "vtkPolyDataMapper.h"
- #include "vtkRenderWindow.h"
- #include "vtkRenderWindowInteractor.h"
- #include "vtkCamera.h"
- #include "vtkActor.h"
- #include "vtkRenderer.h"
- #include "vtkInteractorStyleTrackballCamera.h"
- #include "vtkInteractorStyleJoystickCamera.h"
- #include "vtkInteractorStyleRubberBandZoom.h"
- #include <vtkDataSetReader.h>
- #include <vtkDataSetMapper.h>
- #include <vtkLookupTable.h>
- #include "vtkPointData.h"
- #include "vtkContourFilter.h"
- #include <vtkScalarBarActor.h>
- #include <vtkProperty.h>
- #include "vtkConeSource.h"
- #include "vtkPolyDataMapper.h"
- #include "vtkRenderWindow.h"
- #include "vtkRenderWindowInteractor.h"
- #include "vtkCamera.h"
- #include "vtkActor.h"
- #include "vtkRenderer.h"
- #include "vtkInteractorStyleTrackballCamera.h"
- #include "vtkInteractorStyleJoystickCamera.h"
- #include "vtkInteractorStyleRubberBandZoom.h"
- #include <vtkDataSetReader.h>
- #include <vtkDataSetMapper.h>
- #include <vtkWarpVector.h>
- #include <vtkPointDataToCellData.h>
- #include <vtkThreshold.h>
- #include <vtkPointSetAlgorithm.h>
- #include <vtkPointData.h>
- #include <vtkConnectivityFilter.h>
- #include <vtkProperty.h>
- #include <vtkGeometryFilter.h>
- #include <vtkPolyDataNormals.h>
- #include <vtkLookupTable.h>
- #include <vtkContourFilter.h>
- #include <vtkDataSet.h>
- #include <vtkUnstructuredGridReader.h>
- #include <vtkCellArray.h>
- #include <vtkDoubleArray.h>
- #include <vtkLine.h>
- #include <vtkPoints.h>
- #include <vtkPolyData.h>
- #include <vtkRenderer.h>
- #include <vtkSmartPointer.h>
- #include <vtkWarpVector.h>
- #include <vtkSmartPointer.h>
- #include <vtkBoxClipDataSet.h>
- #include <vtkLookupTable.h>
- #include <vtkMetaImageReader.h>
- #include <vtkImageData.h>
- #include <vtkDataSetSurfaceFilter.h>
- #include <vtkDataSetMapper.h>
- #include <vtkCamera.h>
- #include <vtkActor.h>
- #include <vtkRenderWindow.h>
- #include <vtkRenderer.h>
- #include <vtkRenderWindowInteractor.h>
- #include <vtkVersion.h>
- #include <vtkSmartPointer.h>
- #include <vtkPolyData.h>
- #include <vtkUnstructuredGrid.h>
- #include <vtkCellArray.h>
- #include <vtkDataSetSurfaceFilter.h>
- #include <vtkPointSource.h>
- #include <vtkActor.h>
- #include <vtkCamera.h>
- #include <vtkColorTransferFunction.h>
- #include <vtkDataSetMapper.h>
- #include <vtkLookupTable.h>
- #include <vtkNamedColors.h>
- #include <vtkPolyDataNormals.h>
- #include <vtkPolyDataReader.h>
- #include <vtkRenderWindow.h>
- #include <vtkRenderWindowInteractor.h>
- #include <vtkRenderer.h>
- #include <vtkSmartPointer.h>
- #include <vtkVectorDot.h>
- #include <vtkWarpVector.h>
- #include <vtkImageDataGeometryFilter.h>
- #include <vtkUnstructuredGridGeometryFilter.h>
- #include <vtkPlane.h>
- #include <vtkClipPolyData.h>
- #include <vtkAppendPolyData.h>
- #include <vtkSmartVolumeMapper.h>
- #include <vtkUnstructuredGridGeometryFilter.h>
- #include <vtkExtractUnstructuredGrid.h>
- int main() {
- // Nuskaitomas failas
- vtkDataSetReader *object = vtkDataSetReader::New();
- object->SetFileName("ubgrid.vtk");
- object->Update();
- /////// Convert vtkUnstructuredGrid to vtkPolyData
- vtkSmartPointer<vtkDataSetSurfaceFilter> surface = vtkSmartPointer<vtkDataSetSurfaceFilter>::New();
- surface->SetInputConnection(object->GetOutputPort());
- /////////////////////////////////////////////////
- /*
- vtkSmartPointer<vtkExtractUnstructuredGrid> plane = vtkSmartPointer<vtkExtractUnstructuredGrid>::New();
- plane->SetInputConnection(object->GetOutputPort());
- plane->SetExtent(1, 100, 1, 100, 7, 7);
- plane->Update();
- */
- // WarpVector
- vtkSmartPointer<vtkWarpVector> warp = vtkSmartPointer<vtkWarpVector>::New();
- warp->SetInputConnection(surface->GetOutputPort());
- warp->SetScaleFactor(0.005);
- warp->Update();
- vtkSmartPointer<vtkPolyDataNormals> normals = vtkSmartPointer<vtkPolyDataNormals>::New();
- normals->SetInputData(warp->GetPolyDataOutput());
- normals->SetFeatureAngle(45);
- ////// Kadangi convertinom galima naudoti PolyDataMapper - sukuriamas maperis
- //vtkDataSetMapper*mapper = vtkDataSetMapper::New();
- vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
- mapper->SetInputConnection(normals->GetOutputPort());
- mapper->SetScalarRange(object->GetOutput()->GetPointData()->GetArray("group/Vector1")->GetRange(0)); // Atkarpa nuspalvinta group/Vector1
- mapper->ColorByArrayComponent("group/Vector1", 0);
- mapper->SetScalarModeToUsePointFieldData();
- ////////////////////////////////////////////////////////////
- // Pridedamas outline ORIGINAL DATA
- vtkSmartPointer<vtkOutlineFilter> outlineData = vtkSmartPointer<vtkOutlineFilter>::New();
- outlineData->SetInputConnection(object->GetOutputPort());
- vtkSmartPointer<vtkPolyDataMapper> mapOutline = vtkSmartPointer<vtkPolyDataMapper>::New();
- mapOutline->SetInputConnection(outlineData->GetOutputPort());
- vtkSmartPointer<vtkActor> outline = vtkSmartPointer<vtkActor>::New();
- outline->SetMapper(mapOutline);
- outline->GetProperty()->SetColor(1, 1, 1);
- // Sukuriamas aktorius
- vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
- actor->SetMapper(mapper);
- // vtkRenderer: sukuriamas renderis, prie kurio prijungiamas kugio aktorius
- vtkRenderer *ren1 = vtkRenderer::New();
- ren1->AddActor(actor);
- ren1->AddActor(outline);
- ren1->SetBackground(0.1, 0.2, 0.4);
- // vtkRenderWindow: sukuriamas atvaizdavimo langas, prie kurio prijungiamas renderis
- vtkRenderWindow *renWin = vtkRenderWindow::New();
- renWin->AddRenderer(ren1);
- renWin->SetSize(900, 900);
- // vtkRenderWindowInteractor: sukuriamas interaktoriaus objektas, prie kurio prijungiams atvaizdavimo langas
- vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
- iren->SetRenderWindow(renWin);
- vtkInteractorStyleJoystickCamera*style = vtkInteractorStyleJoystickCamera::New();
- iren->SetInteractorStyle(style);
- iren->Initialize();
- iren->Start();
- // Naikinami nereikalingi objektai, atklaisvinama atmintis
- iren->Delete();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement