head	1.4;
access;
symbols
	bobbase:1.4
	bob:1.4
	r2_1:1.4
	r2_0:1.3
	r1_1_beta:1.3
	r1_1_alpha:1.2
	r1_0:1.2
	r0_11:1.2
	r0_10:1.2
	r0_9:1.2;
locks; strict;
comment	@// @;


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

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

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

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


desc
@User-supplied function template implementation.
@


1.4
log
@more DOS-inspired name rework.
@
text
@// Emacs: -*- C++ -*-

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


static char FunctionDT_rcsid[] = "$Id: FuncDT.c,v 1.3 1994/07/25 17:26:39 thoth Exp thoth $";

//
// $Log: FuncDT.c,v $
// Revision 1.3  1994/07/25  17:26:39  thoth
// Name sanitization
//
// Revision 1.2  1993/11/17  18:19:32  thoth
// IPSIter is now PSIter<IntPoint>.
// extensivep is now extensive.
//
// Revision 1.1  1993/09/15  12:53:13  thoth
// Initial revision
//
// Revision 1.2  93/05/27  11:28:23  thoth
// Copyright Notices
// 
// Revision 1.1  93/04/17  19:00:27  thoth
// Initial revision
// 

#include "FuncDT.h"
#include "PSIter.h"

template <class I>
char IA_FunctionDT<I>::dummy = 0;

template <class I>
I IA_FunctionDT<I>::operator ()(const IA_Point<int>& p) const {
    //if (!this->ps.contains(p))
    //ia_throw( IA::IMAGE_DOMAIN_ERROR, __FILE__, __LINE__);
    return (*(this->func))(p);
}

template <class I>
ostream& IA_FunctionDT<I>::print_this(ostream& o) const
{
    o << "FunctionDT -";
    if (this->ps.extensive()){
	IA_PSIter<IA_Point<int> > iter(this->ps);
	IA_Point<int> p;
	
	o << "(point,value) pairs follow:\n";
	while(iter(p)) {
	    o << "(" << p << "," << (*this->func)(p) << ") ";
	}
    } else {
	o << ", Function : " << (int)(this->func) <<
	    ", PointSet : Comprehensive";
    }
    return o << "\n";
}
@


1.3
log
@Name sanitization
@
text
@d9 1
a9 1
static char FunctionDT_rcsid[] = "$Id: FunctionDT.c,v 1.2 1993/11/17 18:19:32 thoth Exp $";
d12 4
a15 1
// $Log: FunctionDT.c,v $
d30 1
a30 1
#include "FunctionDT.h"
@


1.2
log
@IPSIter is now PSIter<IntPoint>.
extensivep is now extensive.
@
text
@d9 1
a9 1
static char FunctionDT_rcsid[] = "$Id: FunctionDT.c,v 1.1 1993/09/15 12:53:13 thoth Exp thoth $";
d13 4
d34 1
a34 1
I IA_FunctionDT<I>::operator ()(const IA_IntPoint& p) const {
d45 2
a46 2
	IA_PSIter<IA_IntPoint> iter(this->ps);
	IA_IntPoint p;
@


1.1
log
@Initial revision
@
text
@d9 1
a9 1
static char FunctionDT_rcsid[] = "$Id: FunctionDT.c,v 1.2 93/05/27 11:28:23 thoth Exp $";
d12 4
a15 1
// $Log:	FunctionDT.c,v $
d24 1
a24 1
#include "IPSIter.h"
d40 2
a41 2
    if (this->ps.extensivep()){
	IA_IPSIter iter(this->ps);
@
