head	1.1;
access;
symbols
	bobbase:1.1
	bob:1.1
	r2_1:1.1
	r2_0:1.1
	r1_1_beta:1.1
	r1_1_alpha:1.1
	r1_0:1.1
	r0_11:1.1
	r0_10:1.1;
locks; strict;
comment	@// @;


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


desc
@Declaration of the translation-invariant neighborhood mapping.
@


1.1
log
@Initial revision
@
text
@// Emacs: -*- C++ -*-

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


//
// $Log: InvariantNbh.h,v $

#ifndef InvariantNbh_h_
#define InvariantNbh_h_

#include "BaseNbh.h"

template <class P, class Q>
class IA_InvariantNbh: public IA_BaseNbh<P,Q> {
  private:
    static char dummy;

  public:
    IA_Set<P>	value;
  public:
    IA_InvariantNbh(const IA_Set<Q> &ps, const IA_Set<P> &v)
    :IA_BaseNbh<P,Q>(ps), value(v) {}

    int extensive() const { return 0; }

    IA_Set<P> operator()(const Q &p) const {
	return value + p;
    }
    ostream &print_this(ostream &) const;

    static IA::Type s_type() { return &dummy; }
    IA::Type type() const { return &dummy; }
};

#endif
@
