head	1.9;
access;
symbols
	bobbase:1.9
	bob:1.9
	r2_1:1.9
	r2_0:1.9
	r1_1_beta:1.8
	r1_1_alpha:1.7
	r1_0:1.7
	r0_11:1.7
	r0_10:1.5
	r0_9:1.4;
locks; strict;
comment	@// @;


1.9
date	94.08.22.15.20.29;	author thoth;	state Exp;
branches;
next	1.8;

1.8
date	94.07.25.17.26.39;	author thoth;	state Exp;
branches;
next	1.7;

1.7
date	94.02.22.18.48.27;	author thoth;	state Exp;
branches;
next	1.6;

1.6
date	94.02.12.19.37.58;	author thoth;	state Exp;
branches;
next	1.5;

1.5
date	94.01.07.15.10.00;	author thoth;	state Exp;
branches;
next	1.4;

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

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

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

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


desc
@Integer discrete template declaration.
@


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

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


//
// $Log: IntDDTempl.h,v $
// Revision 1.8  1994/07/25  17:26:39  thoth
// Name sanitization
//
// Revision 1.7  1994/02/22  18:48:27  thoth
// New protected constructor from BaseDT<I>*
// New constructor from base class.
//
// Revision 1.6  1994/02/12  19:37:58  thoth
// experimental pointwise ops need pointset constructors.
//
// Revision 1.5  1994/01/07  15:10:00  thoth
// Image class is now CoreImage and named image types are
// Image<P,T>.
//
// Revision 1.4  1993/11/17  18:22:53  thoth
// sample template reduction operation is no longer needed.
//
// Revision 1.3  1993/10/05  19:33:08  thoth
// Move to new Closure naming convention.
//
// Revision 1.2  1993/09/27  15:51:21  thoth
// Prototype template reduction operation.
//
// Revision 1.1  93/09/15  12:54:44  thoth
// Initial revision
// 
// Revision 1.3  93/05/27  11:22:22  thoth
// Copyright Notices
// 
// Revision 1.2  93/05/26  17:01:55  thoth
// constructors that specify pointsets aren't supported right now.
// 
// Revision 1.1  93/03/18  11:04:14  thoth
// Initial revision
// 

#ifndef IntDDTempl_h_
#define IntDDTempl_h_

#include "DDTempl.h"
#include "IntDI.h"

class IA_IntDDTemplate: public IA_DDTemplate<IA_Image<IA_Point<int>,int> > {
protected:
    IA_IntDDTemplate(IA_BaseDT<IA_Image<IA_Point<int>,int> > *t)
	:IA_DDTemplate<IA_Image<IA_Point<int>,int> >(t) { }
public:
    IA_IntDDTemplate(const IA_DDTemplate<IA_Image<IA_Point<int>,int> > & t)
    :IA_DDTemplate<IA_Image<IA_Point<int>,int> >(t) { }
    // constructor which assumes identical dimensionality
    IA_IntDDTemplate(const IA_Image<IA_Point<int>,int> im)
    :IA_DDTemplate<IA_Image<IA_Point<int>,int> >(IA_WhiteHole(im.domain().dim()),
					im) { }
    // constructor which assumes definition over the entire space
    IA_IntDDTemplate(unsigned dim, const IA_Image<IA_Point<int>,int> im)
    :IA_DDTemplate<IA_Image<IA_Point<int>,int> >(IA_WhiteHole(dim), im) { }
    IA_IntDDTemplate(const IA_Set<IA_Point<int> > &ps, const IA_Image<IA_Point<int>,int> im)
    :IA_DDTemplate<IA_Image<IA_Point<int>,int> >(ps, im) { }

    IA_IntDDTemplate(const IA_ClosureDT< IA_Image<IA_Point<int>,int> > &o)
    :IA_DDTemplate<IA_Image<IA_Point<int>,int> >(o) { }

    IA_IntDDTemplate(unsigned dim,
		     IA_Image<IA_Point<int>,int> (*f)(const IA_Point<int>&))
    :IA_DDTemplate<IA_Image<IA_Point<int>,int> >(IA_WhiteHole(dim), f) { }
    IA_IntDDTemplate(const IA_Set<IA_Point<int> > &ps,
		     IA_Image<IA_Point<int>,int> (*f)(const IA_Point<int>&))
    :IA_DDTemplate<IA_Image<IA_Point<int>,int> >(ps, f) { }

#include	"IntConv.h"
};

#endif
@


1.8
log
@Name sanitization
@
text
@d11 3
d80 1
a80 1
#include	"IntConvolutions.h"
@


1.7
log
@New protected constructor from BaseDT<I>*
New constructor from base class.
@
text
@d11 4
d50 1
a50 1
class IA_IntDDTemplate: public IA_DDTemplate<IA_Image<IA_IntPoint,int> > {
d52 2
a53 2
    IA_IntDDTemplate(IA_BaseDT<IA_Image<IA_IntPoint,int> > *t)
	:IA_DDTemplate<IA_Image<IA_IntPoint,int> >(t) { }
d55 2
a56 2
    IA_IntDDTemplate(const IA_DDTemplate<IA_Image<IA_IntPoint,int> > & t)
    :IA_DDTemplate<IA_Image<IA_IntPoint,int> >(t) { }
d58 2
a59 2
    IA_IntDDTemplate(const IA_Image<IA_IntPoint,int> im)
    :IA_DDTemplate<IA_Image<IA_IntPoint,int> >(IA_WhiteHole(im.domain().dim()),
d62 4
a65 4
    IA_IntDDTemplate(unsigned dim, const IA_Image<IA_IntPoint,int> im)
    :IA_DDTemplate<IA_Image<IA_IntPoint,int> >(IA_WhiteHole(dim), im) { }
    IA_IntDDTemplate(const IA_IntPointSet &ps, const IA_Image<IA_IntPoint,int> im)
    :IA_DDTemplate<IA_Image<IA_IntPoint,int> >(ps, im) { }
d67 2
a68 2
    IA_IntDDTemplate(const IA_ClosureDT< IA_Image<IA_IntPoint,int> > &o)
    :IA_DDTemplate<IA_Image<IA_IntPoint,int> >(o) { }
d71 5
a75 5
		     IA_Image<IA_IntPoint,int> (*f)(const IA_IntPoint&))
    :IA_DDTemplate<IA_Image<IA_IntPoint,int> >(IA_WhiteHole(dim), f) { }
    IA_IntDDTemplate(const IA_IntPointSet &ps,
		     IA_Image<IA_IntPoint,int> (*f)(const IA_IntPoint&))
    :IA_DDTemplate<IA_Image<IA_IntPoint,int> >(ps, f) { }
@


1.6
log
@experimental pointwise ops need pointset constructors.
@
text
@d11 3
d47 6
a52 1
  public:
@


1.5
log
@Image class is now CoreImage and named image types are
Image<P,T>.
@
text
@d11 4
d52 2
a53 2
//    IA_IntDDTemplate(const IA_IntPointSet &ps, const IA_Image<IA_IntPoint,int> im)
//    :IA_DDTemplate<IA_Image<IA_IntPoint,int> >(ps, im) { }
d61 3
a63 3
//    IA_IntDDTemplate(const IA_IntPointSet &ps,
//		     IA_Image<IA_IntPoint,int> (*f)(const IA_IntPoint&))
//    :IA_DDTemplate<IA_Image<IA_IntPoint,int> >(ps, f) { }
a65 1

@


1.4
log
@sample template reduction operation is no longer needed.
@
text
@d11 3
d39 1
a39 1
class IA_IntDDTemplate: public IA_DDTemplate<IA_IntDiscreteImage> {
d42 2
a43 2
    IA_IntDDTemplate(const IA_IntDiscreteImage im)
    :IA_DDTemplate<IA_IntDiscreteImage>(IA_WhiteHole(im.domain().dim()),
d46 4
a49 4
    IA_IntDDTemplate(unsigned dim, const IA_IntDiscreteImage im)
    :IA_DDTemplate<IA_IntDiscreteImage>(IA_WhiteHole(dim), im) { }
//    IA_IntDDTemplate(const IA_IntPointSet &ps, const IA_IntDiscreteImage im)
//    :IA_DDTemplate<IA_IntDiscreteImage>(ps, im) { }
d51 2
a52 2
    IA_IntDDTemplate(const IA_ClosureDT< IA_IntDiscreteImage > &o)
    :IA_DDTemplate<IA_IntDiscreteImage>(o) { }
d55 2
a56 2
		     IA_IntDiscreteImage (*f)(const IA_IntPoint&))
    :IA_DDTemplate<IA_IntDiscreteImage>(IA_WhiteHole(dim), f) { }
d58 2
a59 2
//		     IA_IntDiscreteImage (*f)(const IA_IntPoint&))
//    :IA_DDTemplate<IA_IntDiscreteImage>(ps, f) { }
@


1.3
log
@Move to new Closure naming convention.
@
text
@d11 3
a60 4

IA_IntDiscreteImage template_sum(IA_IntPointSet domain,
				 IA_IntDDTemplate templ,
				 IA_IntPointSet dest_domain);
@


1.2
log
@Prototype template reduction operation.
@
text
@d10 4
a13 1
// $Log:	IntDDTempl.h,v $
d45 1
a45 1
    IA_IntDDTemplate(const IA_OtherDT< IA_IntDiscreteImage > &o)
@


1.1
log
@Initial revision
@
text
@d11 3
d32 5
d45 3
a50 3
    IA_IntDDTemplate(unsigned dim,
		     IA_IntDiscreteImage (*f)(const IA_IntPoint&))
    :IA_DDTemplate<IA_IntDiscreteImage>(IA_WhiteHole(dim), f) { }
d53 1
d55 4
@
