vtkJoiner.cxx
Go to the documentation of this file.00001
00002 #include "vtkJoiner.h"
00003
00004 vtkJoiner::vtkJoiner(){
00005 }
00006
00007 vtkJoiner::~vtkJoiner(){
00008 }
00009
00010
00011 vtkImageData* vtkJoiner::join(vtkImageData *a, vtkImageData *b){
00012
00013 int extent[6];
00014 vtkImageData *c = vtkImageData::New();
00015 c->DeepCopy(a);
00016
00017 unsigned char *ptrA = NULL;
00018 unsigned char *ptrB = NULL;
00019 unsigned char *ptrC = NULL;
00020
00021 a->GetExtent(extent);
00022 int i, j, k;
00023 for(i=extent[0];i<=extent[1];i++){
00024 for(j=extent[2];j<=extent[3];j++){
00025 for(k=extent[4];k<=extent[5];k++){
00026 ptrA = (unsigned char *) a->GetScalarPointer(i,j,k);
00027 ptrB = (unsigned char *) b->GetScalarPointer(i,j,k);
00028 ptrC = (unsigned char *) c->GetScalarPointer(i,j,k);
00029 if ((*ptrA != 0) || (*ptrB != 0)){
00030 *ptrC=255;
00031 }
00032 else{
00033 *ptrC = 0;
00034 }
00035 }
00036 }
00037 }
00038
00039 return c;
00040 }