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


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

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

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


desc
@Users may derive from this class to create classes of
translation variant templates.
@


1.3
log
@Copyright Notices
@
text
@// Emacs: -*- C++ -*-

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


//
// $Log:	OtherDT.h,v $
// Revision 1.2  93/04/08  13:20:42  thoth
// Templates are now separate from images.
// 
// Revision 1.1  93/03/18  11:07:37  thoth
// Initial revision
// 

#ifndef OtherDT_h_
#define OtherDT_h_

#include "BaseDT.h"

template <class I>
class IA_OtherDT: public IA_BaseDT<I> {
  private:
    static char	dummy;
  public:
    IA_OtherDT(const IA_IntPointSet &ps)
    :IA_BaseDT<I>(ps) { }

    virtual IA_OtherDT<I> *clone_self() const =0;

    static IA_DiscreteImageType s_type() { return &dummy; }
    IA_DiscreteImageType type() const { return &dummy; }

    ostream &print_this(ostream &o) const { return o<<"User-defined template\n"; }

    // the user must provide
    // I operator()(const IA_IntPoint &p) const
    // IA_OtherDT<I> *clone_self() const;
};

// should go in OtherDT.c
template <class I>
char IA_OtherDT<I>::dummy;

#endif
@


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:	BaseDI.h,v $
d12 1
a12 1
#include "BaseDI.h"
d15 1
a15 1
class IA_OtherDT: public IA_BaseDI<I> {
d20 1
a20 3
    :IA_BaseDI<I>(ps) { }
    // most OtherDTs are comprehensive
    int extensivep() const { return 0; }
d31 1
a31 1
    // IA_OtherDT<T> *clone_self() const;
@
