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


1.5
date	94.12.19.20.21.27;	author fjsoria;	state Exp;
branches;
next	1.4;

1.4
date	94.07.25.17.26.39;	author thoth;	state Exp;
branches
	1.4.1.1;
next	1.3;

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

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

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

1.4.1.1
date	94.12.28.18.00.36;	author thoth;	state Exp;
branches;
next	1.4.1.2;

1.4.1.2
date	95.01.13.19.52.41;	author thoth;	state Exp;
branches;
next	;


desc
@Implementation of the float continuous image.
@


1.5
log
@needed to cast i1 in dummy001 to coere image for
compose function.
@
text
@// Emacs: -*- C++ -*-

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

static char copyright[] = "Copyright 1993, Center for Computer Vision and Visualization,\nUniversity of Florida.  All rights reserved.\n";

static char IntDI_rcsid[] = "$Id: FloatCI.c,v 1.4 1994/07/25 17:26:39 thoth Exp fjsoria $";

//
// $Log: FloatCI.c,v $
// Revision 1.4  1994/07/25  17:26:39  thoth
// Name sanitization
//
// Revision 1.3  1994/01/07  15:10:00  thoth
// Image class is now CoreImage and named image types are
// Image<P,T>.
//
// Revision 1.2  1993/11/17  18:15:22  thoth
// restriction functions now go in the individual image implementation modules.
//
// Revision 1.1  1993/10/20  18:58:47  thoth
// Initial revision
//
// Revision 1.2  93/05/27  11:36:17  thoth
// Copyright Notices
// 
// Revision 1.1  93/05/26  17:15:26  thoth
// Initial revision
// 

#include "FloatCI.h"
#include "ClosureI.h"

//
//

#include "restrict.h"

IA_BaseImage<IA_Point<int>,float> *restrict_toD(const IA_BaseImage<IA_Point<double>, float> *im, const IA_Set<IA_Point<int> > &ips) {
    return restrictC_toD(im, ips);
}

//
//

class blah : public IA_ClosureI<IA_Point<double>,float> {
  public:
    blah()
    :IA_ClosureI<IA_Point<double>,float>(IA_Set<IA_Point<double> >()) {}
    ostream &print_this(ostream &o) const { return o; }
    float operator()(const IA_Point<double>&) const { return 0; }
    IA_ClosureI<IA_Point<double>,float> * clone_self() const { return 0; }
};

typedef IA_Point<double>	FP;

static void dummy001()
{
#ifdef __GNUC__
    blah crap;
    IA_Image<IA_Point<double>,float>	i3(crap), i2(i3);
#else
    IA_Image<IA_Point<double>,float>	i3(blah()), i2(i3);
#endif
  
    IA_Image<IA_Point<double>,float>	i1(i2);
    i1=i2;
    i1.restrict(IA_Set<IA_Point<int> >());
  
#ifdef __GNUC__
    FP (*foo) (const IA_Point<double> &);
    
    compose( (IA_CoreImage<IA_Point<double>,float> &) i1, foo);
    compose( (IA_CoreImage<IA_Point<double>,float> &) i1, *(IA_Closure<IA_Point<double>, FP>*)0);
#else
    compose(i1, (FP (*) (const IA_Point<double> &))0);
    compose(i1, *(IA_Closure<IA_Point<double>, FP>*)0);
#endif
}
@


1.4
log
@Name sanitization
@
text
@d10 1
a10 1
static char IntDI_rcsid[] = "$Id: FloatCI.c,v 1.3 1994/01/07 15:10:00 thoth Exp thoth $";
d14 3
d62 4
d67 2
d72 8
a79 8

    compose(i1,
	    (FP
	     (*)
	     (const
	      IA_Point<double>
	      &))
	    0);
d81 1
@


1.4.1.1
log
@removed obsolete instantiation cruft.
@
text
@d10 1
a10 1
static char IntDI_rcsid[] = "$Id: FloatCI.c,v 1.4 1994/07/25 17:26:39 thoth Exp thoth $";
a13 3
// Revision 1.4  1994/07/25  17:26:39  thoth
// Name sanitization
//
d54 19
@


1.4.1.2
log
@removal of cruft.
@
text
@d10 1
a10 1
static char IntDI_rcsid[] = "$Id: FloatCI.c,v 1.4.1.1 1994/12/28 18:00:36 thoth Exp thoth $";
a13 3
// Revision 1.4.1.1  1994/12/28  18:00:36  thoth
// removed obsolete instantiation cruft.
//
d48 9
@


1.3
log
@Image class is now CoreImage and named image types are
Image<P,T>.
@
text
@d10 1
a10 1
static char IntDI_rcsid[] = "$Id: FloatCI.c,v 1.2 1993/11/17 18:15:22 thoth Exp $";
d14 4
d46 1
a46 1
class blah : public IA_ClosureI<IA_FloatPoint,float> {
d49 1
a49 1
    :IA_ClosureI<IA_FloatPoint,float>(IA_FloatPointSet()) {}
d51 2
a52 2
    float operator()(const IA_FloatPoint&) const { return 0; }
    IA_ClosureI<IA_FloatPoint,float> * clone_self() const { return 0; }
d55 2
d59 2
a60 2
    IA_Image<IA_FloatPoint,float>	i3(blah()), i2(i3);
    IA_Image<IA_FloatPoint,float>	i1(i2);
d62 1
a62 1
    i1.restrict(IA_IntPointSet());
d64 8
a71 2
    compose(i1, (IA_FloatPoint(*)(const IA_FloatPoint&))0);
    compose(i1, *(IA_Closure<IA_FloatPoint, IA_FloatPoint>*)0);
@


1.2
log
@restriction functions now go in the individual image implementation modules.
@
text
@d10 1
a10 1
static char IntDI_rcsid[] = "$Id: FloatCI.c,v 1.1 1993/10/20 18:58:47 thoth Exp thoth $";
d14 3
d53 2
a54 2
    IA_FloatContinuousImage	i3(blah()), i2(i3);
    IA_FloatContinuousImage	i1(i2);
@


1.1
log
@Initial revision
@
text
@d10 1
a10 1
static char IntDI_rcsid[] = "$Id: FloatCI.c,v 1.2 93/05/27 11:36:17 thoth Exp $";
d13 4
a16 1
// $Log:	FloatCI.c,v $
d26 12
@
