//=====
void ImageVtkProperties::Process()
{
- unsigned int dim;
- int ext[6];
- double spc[3];
- double range[2];
- std::string nametype;
- int numberoOfComponents;
- std::vector<int> vsize;
- std::vector<float> vspacing;
- std::vector<float> vrange;
+ unsigned int dim;
+ int ext[6];
+ double spc[3];
+ double range[2];
+ double origin[3];
+ std::string nametype;
+ int numberoOfComponents;
+ std::vector<int> vsize;
+ std::vector<double> vspacing;
+ std::vector<double> vrange;
+ std::vector<double> vorigin;
- if ( bbGetInputIn() ){
+ if ( bbGetInputIn() )
+ {
+ bbGetInputIn()->Modified();
bbGetInputIn()->Update();
-
bbGetInputIn()->GetWholeExtent(ext);
vsize.push_back(ext[1]-ext[0]+1);
vsize.push_back(ext[3]-ext[2]+1);
vsize.push_back(ext[5]-ext[4]+1);
-
dim = 0;
if (vsize[0]>1) dim++;
if (vsize[1]>1) dim++;
if (vsize[2]>1) dim++;
-
bbGetInputIn()->GetScalarRange(range);
+ bbGetInputIn()->GetOrigin(origin);
numberoOfComponents=bbGetInputIn()->GetNumberOfScalarComponents();
-
bbGetInputIn()->GetSpacing(spc);
for (unsigned int i=0;i<dim;++i)
- vspacing.push_back((float)spc[i]);
-
- vrange.push_back((float)range[0]);
- vrange.push_back((float)range[1]);
-
- if (bbGetInputIn()->GetScalarType()==VTK_BIT) nametype="VTK_BIT"; // 1
- if (bbGetInputIn()->GetScalarType()==VTK_CHAR) nametype="VTK_CHAR"; // 2
+ {
+ vspacing.push_back( (double)spc[i] );
+ vorigin.push_back( (double)origin[i] );
+ }
+ vrange.push_back((double)range[0]);
+ vrange.push_back((double)range[1]);
+ if (bbGetInputIn()->GetScalarType()==VTK_BIT) nametype="VTK_BIT"; // 1
+ if (bbGetInputIn()->GetScalarType()==VTK_CHAR) nametype="VTK_CHAR"; // 2
if (bbGetInputIn()->GetScalarType()==VTK_SIGNED_CHAR) nametype="VTK_SIGNED_CHAR"; // 15
if (bbGetInputIn()->GetScalarType()==VTK_UNSIGNED_CHAR) nametype="VTK_UNSIGNED_CHAR"; // 3
- if (bbGetInputIn()->GetScalarType()==VTK_SHORT) nametype="VTK_SHORT"; // 4
+ if (bbGetInputIn()->GetScalarType()==VTK_SHORT) nametype="VTK_SHORT"; // 4
if (bbGetInputIn()->GetScalarType()==VTK_UNSIGNED_SHORT) nametype="VTK_UNSIGNED_SHORT"; // 5
- if (bbGetInputIn()->GetScalarType()==VTK_INT) nametype="VTK_INT"; // 6
+ if (bbGetInputIn()->GetScalarType()==VTK_INT) nametype="VTK_INT"; // 6
if (bbGetInputIn()->GetScalarType()==VTK_UNSIGNED_INT) nametype="VTK_UNSIGNED_INT"; // 7
- if (bbGetInputIn()->GetScalarType()==VTK_LONG) nametype="VTK_LONG"; // 8
+ if (bbGetInputIn()->GetScalarType()==VTK_LONG) nametype="VTK_LONG"; // 8
if (bbGetInputIn()->GetScalarType()==VTK_UNSIGNED_LONG) nametype="VTK_UNSIGNED_LONG"; // 9
- if (bbGetInputIn()->GetScalarType()==VTK_FLOAT) nametype="VTK_FLOAT"; // 10
- if (bbGetInputIn()->GetScalarType()==VTK_DOUBLE) nametype="VTK_DOUBLE"; // 11
+ if (bbGetInputIn()->GetScalarType()==VTK_FLOAT) nametype="VTK_FLOAT"; // 10
+ if (bbGetInputIn()->GetScalarType()==VTK_DOUBLE) nametype="VTK_DOUBLE"; // 11
} else {
dim = 0;
numberoOfComponents = 0;
vrange.push_back(0);
nametype = "VOID";
}
- bbSetOutputDimension( dim );
- bbSetOutputSize( vsize );
- bbSetOutputSpacing( vspacing );
- bbSetOutputMinMax( vrange );
- bbSetOutputTypeName( nametype );
- bbSetOutputComponents( numberoOfComponents );
-
+ bbSetOutputDimension ( dim );
+ bbSetOutputOrigin ( vorigin );
+ bbSetOutputSize ( vsize );
+ bbSetOutputSpacing ( vspacing );
+ bbSetOutputMinMax ( vrange );
+ bbSetOutputTypeName ( nametype );
+ bbSetOutputComponents ( numberoOfComponents );
}
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)