head	1.1;
access;
symbols;
locks; strict;
comment	@// @;


1.1
date	94.09.23.16.56.14;	author rjj;	state Exp;
branches;
next	;


desc
@Not used, putting under control incase it is useful later.
Note: this generates compile errors because you can not create
      a ClosureDT from a template, you need an image.
@


1.1
log
@Initial revision
@
text
@// negated-template.c  Section: support for rolling ball, 5.7
//     Copyright 1994, Center for Computer Vision and Visualization,
//     University of Florida.  All rights reserved.

#include "negated-template.h"

#if 0
"rolling-ball.c", line 33: error: too few arguments supplied for template NegatedTemplate

template <class P, class T>
class NegatedTemplate: public IA_ClosureDT<IA_Image<P,T> > {
private:
    IA_DDTemplate<IA_Image<P,T> >  theTemplate;
};
#endif

template <class P, class T>
NegatedTemplate::NegatedTemplate( const IA_DDTemplate<IA_Image<P,T> > & tmpl )
: IA_ClosureDT<IA_Image<P,T> >( tmpl.domain() ),
  theTemplate( tmpl )
{
    // Nothing to do here.
}

template <class P, class T>
IA_Image<P,T>
NegatedTemplate::operator() (const IA_Point<int> & atP ) const {

    return
	- theTemplate( atP );  // Unary operator-  on image value
}

template <class P, class T>
IA_ClosureDT<P,T> *
NegatedTemplate::clone_self() const {

    return new NegatedTemplate( *this );
};
@
