VTK/Examples/Developers/DebugMacro

From KitwarePublic

Jump to: navigation, search

Contents

DebugMacro.cxx

#include <vtkSmartPointer.h>
 
#include "vtkTestClass.h"
 
int main(int, char*[])
{
 
  vtkSmartPointer<vtkTestClass> testClass =
    vtkSmartPointer<vtkTestClass>::New();
  testClass->DebugOn();
  testClass->Update();
 
  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();
 
protected:
  vtkTestClass();
  ~vtkTestClass(){}
 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
 
private:
  vtkTestClass(const vtkTestClass&);  // Not implemented.
  void operator=(const vtkTestClass&);  // Not implemented.
 
};
 
#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))
{
  std::cout << "some output" << std::endl;
 
  int value = 3;
  vtkDebugMacro(<<"Value is: " << value);
 
  return 1;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.6)
PROJECT(DebugMacro)
 
FIND_PACKAGE(VTK REQUIRED)
INCLUDE(${VTK_USE_FILE})
 
ADD_EXECUTABLE(DebugMacro DebugMacro.cxx vtkTestClass.cxx)
TARGET_LINK_LIBRARIES(DebugMacro vtkHybrid)
Personal tools