[Insight-users] Borland 6 Build error

Luis Ibanez luis.ibanez@kitware.com
Sun, 24 Nov 2002 17:56:55 -0500


Hi John,

Great!

I guess we can replace this line in itkImageRegion.h
without much trouble. We'll see what other compilers say...

The new set of errors look similar. The signature of
the function in the .txx file doesn't seem to match
the .h file.

In line 333 the TransformPoint() function accepts an
itkPoint<> and returns an itkPoint<>. ITK Points are
templated over the coordinate type and the space
dimension.

The OutputPointType and InputPointType are defined in the
superclass itkTransform.  The Affine transform derives
from itkTransform and passes numeric values as template
parameters.

It could be that the passage of those parameters is
causing the problem here. In line 102 of itkAffineTransform.h
where the base class itkTransform is declared, it may not be
passing the values correctly (e.g. The transform may be
instantiated with dimensions zero,zero, for example).

Another option for error is line 153 itkAffineTransform.h
where the InputPointType is declared again. This time using
the "SpaceDimension" static const int.  In fact this line
should just be:

    typedef Superclass::InputPointType     InputPointType;

Since the itkTransform already has an input point type
defined.

I would suggest you to try first changing lines 153 and 155
in AffineTransform.h to :

    typedef Superclass::InputPointType   InputPointType;
    typedef Superclass::OutputPointType   OutputPointType;

and line 159 to

  typedef Matrix< TScalar, NDimensions, NDimensions > MatrixType;

Same thing on lines 147 and 149... that is, replace
itkGetStaticConstMacro() with the numeric template parameter
NDimensions.


and see what happens....


Please let us know what you find,


   Thanks


     Luis


===========================================


John Biddiscombe wrote:

> Nice work Luis. I replaced line 85 of itkImageRegion as you suggested and
> that particular problem went away. I didn't need to instantiate anything
> (yet!), but now we can move on to the list of other errors :)
> 
> I'll see if I can work out which bit to do the same with for this little
> lot. Though since it's Sunday....
> 
> Many thanks for your input, it'd have taken me quite a bit longer to find
> that fix!
> 
> JB
> 
>   [C++ Error] itkAffineTransform.txx(333): E2316
> 'AffineTransform<TScalarType,NDimensions>::TransformPoint(const
> Point<TScalarType,&__CDJE> &) const' is not a member of
> 'AffineTransform<TScalarType,NDimensions>'
>   [C++ Error] itkAffineTransform.txx(343): E2316
> 'AffineTransform<TScalarType,NDimensions>::TransformVector(const
> Vector<TScalarType,&__CRIE> &) const' is not a member of
> 'AffineTransform<TScalarType,NDimensions>'
>   [C++ Error] itkAffineTransform.txx(352): E2316
> 'AffineTransform<TScalarType,NDimensions>::TransformVector(const
> vnl_vector_fixed<TScalarType,&__CZIE> &) const' is not a member of
> 'AffineTransform<TScalarType,NDimensions>'
>   [C++ Error] itkAffineTransform.txx(362): E2316
> 'AffineTransform<TScalarType,NDimensions>::TransformCovariantVector(const
> CovariantVector<TScalarType,&__CVIE> &) const' is not a member of
> 'AffineTransform<TScalarType,NDimensions>'
>   [C++ Error] itkAffineTransform.txx(382): E2316
> 'AffineTransform<TScalarType,NDimensions>::BackTransform(const
> Point<TScalarType,&__CFJE> &) const' is not a member of
> 'AffineTransform<TScalarType,NDimensions>'
>   [C++ Error] itkAffineTransform.txx(411): E2316
> 'AffineTransform<TScalarType,NDimensions>::BackTransform(const
> Vector<TScalarType,&__CTIE> &) const' is not a member of
> 'AffineTransform<TScalarType,NDimensions>'
>   [C++ Error] itkAffineTransform.txx(423): E2316
> 'AffineTransform<TScalarType,NDimensions>::BackTransform(const
> vnl_vector_fixed<TScalarType,&__CBJE> &) const' is not a member of
> 'AffineTransform<TScalarType,NDimensions>'
>   [C++ Error] itkAffineTransform.txx(434): E2316
> 'AffineTransform<TScalarType,NDimensions>::BackTransform(const
> CovariantVector<TScalarType,&__CXIE> &) const' is not a member of
> 'AffineTransform<TScalarType,NDimensions>'
>   [C++ Error] itkAffineTransform.txx(457): E2316
> 'AffineTransform<TScalarType,NDimensions>::BackTransformPoint(const
> Point<TScalarType,&__CFJE> &) const' is not a member of
> 'AffineTransform<TScalarType,NDimensions>'
>   [C++ Error] itkAffineTransform.txx(487): E2316
> 'AffineTransform<TScalarType,NDimensions>::Inverse() const' is not a member
> of 'AffineTransform<TScalarType,NDimensions>'
> 
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users@public.kitware.com
> http://public.kitware.com/mailman/listinfo/insight-users
> 
>