// * TYPE is the C++ type of the input/output
// (the one provided in the attribute 'type' of the tag 'input')
+
int dim[3];
- dim[0] = bbGetInputDimensions()[0];
- dim[1] = bbGetInputDimensions()[1];
- dim[2] = bbGetInputDimensions()[2];
+ dim[0] = bbGetInputDimensions()[0];
+ dim[1] = bbGetInputDimensions()[1];
+ dim[2] = bbGetInputDimensions()[2];
+
+
if (imageoutput!=NULL)
{
{
double spc[3];
int outputformat = VTK_UNSIGNED_SHORT;
- spc[0] = bbGetInputSpacing()[0];
- spc[1] = bbGetInputSpacing()[1];
- spc[2] = bbGetInputSpacing()[2];
+
+ spc[0] = 1;
+ spc[1] = 1;
+ spc[2] = 1;
+ if ( bbGetInputSpacing().size()==3 )
+ {
+ spc[0] = bbGetInputSpacing()[0];
+ spc[1] = bbGetInputSpacing()[1];
+ spc[2] = bbGetInputSpacing()[2];
+ if ((spc[0]<=0)||(spc[1]<=0)||(spc[2]<=0))
+ {
+ spc[0] = 1;
+ spc[1] = 1;
+ spc[2] = 1;
+ }
+ } // size spc 3
+ if ( bbGetInputSpacing().size()==2 )
+ {
+ spc[0] = bbGetInputSpacing()[0];
+ spc[1] = bbGetInputSpacing()[1];
+ if ((spc[0]<=0)||(spc[1]<=0))
+ {
+ spc[0] = 1;
+ spc[1] = 1;
+ }
+ } // if size spc 2
+
+
if (bbGetInputOutputFormat()=="VTK_BIT") outputformat = VTK_BIT; // 1
else if (bbGetInputOutputFormat()=="VTK_CHAR") outputformat = VTK_CHAR; // 2
else if (bbGetInputOutputFormat()=="MET_CHAR") outputformat = VTK_CHAR; // 2
if ((dim[0]<=0)||(dim[1]<=0)||(dim[2]<=0))
{
- dim[0]=1;
- dim[1]=1;
- dim[2]=1;
- }
- if ((spc[0]<=0)||(spc[1]<=0)||(spc[2]<=0))
- {
- spc[0]=1;
- spc[1]=1;
- spc[2]=1;
+ dim[0] = 1;
+ dim[1] = 1;
+ dim[2] = 1;
}
+
imageoutput = vtkImageData::New();
imageoutput->Initialize();
imageoutput->SetSpacing( spc );
int i,j,k;
long sizeBlock;
-
for (i=0; i<dim[0]; i++)
{
imageoutput->SetScalarComponentFromDouble(i,0,0, 0, bbGetInputInitialValue() );
} // for i
-
sizeBlock= dim[0] * imageoutput->GetScalarSize();
for (j=1; j<dim[1]; j++)
{
memcpy( imageoutput->GetScalarPointer(0,j,0), imageoutput->GetScalarPointer() , sizeBlock );
} // for j
-
sizeBlock= dim[0] * dim[1] * imageoutput->GetScalarSize();
for (k=0; k<dim[2]; k++)
{
memcpy( imageoutput->GetScalarPointer(0,0,k) ,imageoutput->GetScalarPointer() , sizeBlock );
} // for k
-
-
//EED 2017-01-01 Migration VTK7
#if (VTK_MAJOR_VERSION <= 5)
imageoutput->Update();
} // if dim = 0
bbSetOutputOut(imageoutput);
+
}
//=====