head	1.4;
access;
symbols
	r0_10:1.4
	Eglin_alpha_1:1.4;
locks; strict;
comment	@// @;


1.4
date	93.06.10.17.23.55;	author thoth;	state Exp;
branches;
next	1.3;

1.3
date	93.05.27.11.19.34;	author thoth;	state Exp;
branches;
next	1.2;

1.2
date	93.04.08.13.10.36;	author thoth;	state Exp;
branches;
next	1.1;

1.1
date	93.03.18.11.02.37;	author thoth;	state Exp;
branches;
next	;


desc
@common features of all Discrete Templates.
@


1.4
log
@Workaround for 3.0.1 bug.
@
text
@// Emacs: -*- C++ -*-

//
//	Copyright 1993, Center for Computer Vision and Visualization,
//	University of Florida.  All rights reserved.
//


//
// $Log:	DDTempl.h,v $
// Revision 1.3  93/05/27  11:19:34  thoth
// Copyright Notices
// 
// Revision 1.2  93/04/08  13:10:36  thoth
// Templates are now separate from images.
// 
// Revision 1.1  93/03/18  11:02:37  thoth
// Initial revision
// 

#ifndef DDTempl_h_
#define DDTempl_h_

#include "BaseDT.h"

#if 0
template <class I> class IA_OtherDT;
#else
// Lame 3.0.1
#include "OtherDT.h"
#endif

template <class I>
class IA_DDTemplate {
  protected:
    IA_BaseDT<I>	*bdtp;

    void set_and_reference_template(IA_BaseDT<I> *);
    void disassociate_template();

  public:
    // Construct a translation invariant template
    IA_DDTemplate(const IA_IntPointSet &, const I &);

    IA_DDTemplate(const IA_IntPointSet &, I (*)(const IA_IntPoint &));

    IA_DDTemplate(const IA_OtherDT<I> &);

    ~IA_DDTemplate();

    I operator()(const IA_IntPoint &p) const { return (*bdtp)(p); }

    IA_IntPointSet domain() const { return bdtp->domain(); }
    IA_DiscreteImageType type() const { return bdtp->type(); }

    //friend I gcon(const I&, const IA_DDTemplate<I>&);
};

//template <class I>
//I gcon(const I&, const IA_DDTemplate<I>&);

#endif
@


1.3
log
@Copyright Notices
@
text
@d11 3
d26 1
d28 4
@


1.2
log
@Templates are now separate from images.
@
text
@d4 6
d11 3
@


1.1
log
@Initial revision
@
text
@d4 4
a7 1
// $Log:	DiscreteImage.h,v $
d12 1
a12 1
#include "DiscreteImage.h"
d17 8
a24 2
class IA_DDTemplate: public/*protected*/ IA_DiscreteImage< I > {
 public:
d30 1
a30 1
    IA_DDTemplate(const IA_OtherDT< I > &);
d32 6
a37 1
    I operator()(const IA_IntPoint &p) const { return (*bdip)(p); }
@
