What Does The vtkImageData Looks Like

What does the vtkImageData look like? It has a multi-layered point set. In the following example, I show all points in a vtkImageData object in the left reader and its polydata in the right render. #define vtkSPtr vtkSmartPointer #define vtkSPtrNew(Var, Type) vtkSPtr<Type> Var = vtkSPtr<Type>::New(); unsigned char inval = 255; Read more…

Why Concatenate User Transform When Scale Object

I write the reason why concatenate transform and its inversed transform for offTrans in scale operation based on the article Rotate, Translate And Scale For Camera vtkSPtrNew( scaleTrans, vtkTransform ); scaleTrans->Scale( factor, factor, 1 ); scaleTrans->Update(); vtkSPtrNew( offTrans, vtkTransform ); offTrans->Concatenate( worldTrans ); offTrans->Concatenate( scaleTrans ); offTrans->Concatenate( worldInversedTrans ); offTrans->Update(); Read more…

Polydata And Image Converter

convert polydata to image data #include <vtkVersion.h> #include <vtkImageData.h> #include <vtkImageMapper3D.h> #include <vtkImageStencil.h> #include <vtkImageStencilData.h> #include <vtkImageToImageStencil.h> #include <vtkJPEGReader.h> #include <vtkPointData.h> #include <vtkSmartPointer.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h> #include <vtkInteractorStyleImage.h> #include <vtkRenderer.h> #include <vtkImageActor.h> #include <vtkPolyDataToImageStencil.h> #include <vtkPolyData.h> #include <vtkSTLReader.h> #include <vtkImageProperty.h> #include <vtkSphereSource.h> #define vSP vtkSmartPointer #define vSPNew(Var, Type) vSP<Type> Read more…

Explore Scale A Plane And Keep Position

The article shows a way to enlarge a plane and keep its original position, scale it and translate it back. #include <iostream> #include <vtkSmartPointer.h> #include <vtkProperty.h> #include <vtkPolyData.h> #include <vtkTriangleFilter.h> #include <vtkRegularPolygonSource.h> #include <vtkPolyDataMapper.h> #include <vtkActor.h> #include <vtkRenderWindow.h> #include <vtkRenderer.h> #include <vtkRenderWindowInteractor.h> #include <vtkInteractorStyleTrackballCamera.h> #include <vtkCamera.h> #include <vtkNamedColors.h> #include <vtkImageActor.h> Read more…

Explore How To Rotate Object And Keep It Facing Camera

The following code comes from vtkFollower, we used it to make the original axes always face the camera. #include <iostream> #include <vtkSmartPointer.h> #include <vtkProperty.h> #include <vtkPolyData.h> #include <vtkTriangleFilter.h> #include <vtkRegularPolygonSource.h> #include <vtkPolyDataMapper.h> #include <vtkActor.h> #include <vtkRenderWindow.h> #include <vtkRenderer.h> #include <vtkRenderWindowInteractor.h> #include <vtkInteractorStyleTrackballCamera.h> #include <vtkCamera.h> #include <vtkNamedColors.h> #include <vtkImageActor.h> #include <vtkImageViewer2.h> Read more…

Explore The Orientation Of 3D Object

The algorithm vtkOBBTree::ComputeOBB can help us to calculate the three axes defining the orientation of the OBB(oriented bounding box). It is very useful for us to get the model’s spatial features. #include <iostream> #include <vtkSmartPointer.h> #include <vtkSphereSource.h> #include <vtkActor.h> #include <vtkConeSource.h> #include <vtkRenderer.h> #include <vtkRenderWindow.h> #include <vtkPolyDataMapper.h> #include <vtkProperty.h> #include Read more…

Use vtkObjectBase’s Function Delete To Free Object

Explore what will happen when we use delete on vtkSmartPointer<vtkActor> object. vtkSmartPointer<vtkActor> leftActor = vtkSmartPointer<vtkActor>::New(); leftActor->SetMapper( mapper ); //… void *ptr = leftActor.Get(); leftActor->GetProperty()->SetColor( 1, 0, 0 ); rightActor->GetProperty()->SetColor( 0, 1, 0 ); leftActor->Delete(); cout << “leftActor: ” << (void *)leftActor.Get() << endl; cout << “leftActor reference count: ” << Read more…

XOR Strings
: Input your strings, the tool can encrypt and decrypt them.

X