VTK/Examples/Developers/GetSetVector3Macro
From KitwarePublic
< VTK | Examples | Developers
Contents |
SetVector3Macro.cxx
#include <vtkSmartPointer.h> #include "vtkTestClass.h" int main(int, char*[]) { vtkSmartPointer<vtkTestClass> testClass = vtkSmartPointer<vtkTestClass>::New(); testClass->Update(); double test[3]; testClass->SetTestVector(test); double testOut[3]; testClass->GetTestVector(test); return EXIT_SUCCESS; }
vtkTestClass.h
#ifndef __vtkTestClass_h #define __vtkTestClass_h #include "vtkPolyDataAlgorithm.h" class vtkTestClass : public vtkPolyDataAlgorithm { public: vtkTypeMacro(vtkTestClass,vtkPolyDataAlgorithm); static vtkTestClass *New(); vtkSetVector3Macro(TestVector,double); vtkGetVector3Macro(TestVector,double); protected: vtkTestClass(); ~vtkTestClass(){} int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); private: vtkTestClass(const vtkTestClass&); // Not implemented. void operator=(const vtkTestClass&); // Not implemented. double TestVector[3]; }; #endif
vtkTestClass.cxx
#include "vtkTestClass.h" #include "vtkObjectFactory.h" #include "vtkStreamingDemandDrivenPipeline.h" #include "vtkInformationVector.h" #include "vtkInformation.h" #include "vtkDataObject.h" #include "vtkSmartPointer.h" vtkStandardNewMacro(vtkTestClass); vtkTestClass::vtkTestClass() { this->SetNumberOfInputPorts(0); } int vtkTestClass::RequestData( vtkInformation *vtkNotUsed(request), vtkInformationVector **vtkNotUsed(inputVector), vtkInformationVector *vtkNotUsed(outputVector)) { return 1; }
CMakeLists.txt
cmake_minimum_required(VERSION 2.6) PROJECT(SetVector3Macro) FIND_PACKAGE(VTK REQUIRED) INCLUDE(${VTK_USE_FILE}) ADD_EXECUTABLE(SetVector3Macro SetVector3Macro.cxx vtkTestClass.cxx) TARGET_LINK_LIBRARIES(SetVector3Macro vtkHybrid)