[Insight-developers] ImageAdaptors, ImageBase, extracting enum during derivation

Miller, James V (CRD) millerjv@crd.ge.com
Tue, 20 Feb 2001 13:21:47 -0500


Luis,

I am still working on revamping ImageBase.  I have hit a problem with subclassing ImageAdaptor from
ImageBase. ImageAdaptor is templated over image type and accessor type.  But in specifying its
derivation from ImageBase, we need to tell ImageBase the dimension of the image.  So what I like to
write is code like....

template <class TImage, class TAccessor >
class ITK_EXPORT ImageAdaptor : public ImageBase<TImage::ImageDimension>
{
public:
...

But the compilers are tripping over over the "public ImageBase<TImage::ImageDimension>" clause, and
incorrectly translating this to "public ImageBase<0>".

Do you know of a way to specify the derivation so ImageBase is templated over the dimension of the
image (which is the template parameter to ImageAdaptor)?

The only path I see so far is add a template parameter to the ImageAdaptor which the dimension of the
image it is adapting.


Jim Miller
_____________________________________
Computer Graphics & Systems Program
GE Corporate Research & Development
Bldg. KW, Room C218B
P.O. Box 8, Schenectady NY 12301

millerjv@crd.ge.com <mailto:millerjv@crd.ge.com> 
(518) 387-4005, Dial Comm: 8*833-4005, 
Cell: (518) 505-7065, Fax: (518) 387-6981

 <<James Miller (E-mail).vcf>> 

begin 600 James Miller (E-mail).vcf
M0D5'24XZ5D-!4D0-"E9%4E-)3TXZ,BXQ#0I..DUI;&QE<CM*86UE<PT*1DXZ
M2F%M97,@36EL;&5R("A%+6UA:6PI#0I/4D<Z1T4@0V]R<&]R871E(%(F1#M%
M4TP-"E1%3#M73U)+.U9/24-%.B@U,3@I(#,X-RTT,#`U#0I414P[5T]22SM6
M3TE#13HJ.#,S+30P,#4-"E1%3#M73U)+.T9!6#HH-3$X*2`S.#<M-CDX,0T*
M0412.U=/4DL[14Y#3T1)3D<]455/5$5$+5!224Y404),13H[0V]M<'5T97(@
M1W)A<&AI8W,@)B!3>7-T96US(%!R;V=R86T[0DQ$1R!+5RP@4DT@0S(Q.$(]
M,$0],$%03R!";W@@.#M38VAE;F5C/0T*=&%D>3M.63LQ,C,P,3M5;FET960@
M4W1A=&5S(&]F($%M97)I8V$-"DQ!0D5,.U=/4DL[14Y#3T1)3D<]455/5$5$
M+5!224Y404),13I#;VUP=71E<B!'<F%P:&EC<R`F(%-Y<W1E;7,@4')O9W)A
M;3TP1#TP04),1$<@2U<L(%)-($,R,3A"/3!$/3!!4$\@0F]X(#@],$0]#0H]
M,$%38VAE;F5C=&%D>2P@3ED@,3(S,#$],$0],$%5;FET960@4W1A=&5S(&]F
M($%M97)I8V$-"D5-04E,.U!2148[24Y415).150Z;6EL;&5R:G9`8W)D+F=E
G+F-O;0T*4D56.C(P,#`P,3(X5#$V,C8U-EH-"D5.1#I60T%21`T*
`
end