Source: rpoints.h


Annotated List
Files
Globals
Hierarchy
Index
/***************************************************************************
                          rpoints.h  -  description
                             -------------------
    begin                : Thu Mar 2 2000
    copyright            : (C) 2000 by Daniel Roberge
    email                : droberge@uvic.ca
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the Artistic License                            *
 *                                                                         *
 ***************************************************************************/

#ifndef RPOINTS_H
#define RPOINTS_H


/**A points structure in which there is a current value and a normal value
  *@author Daniel Roberge
  */

class RenormalizablePoints {
public:
  /**Creates a new RenormalizablePoints with current and normal 0*/
	RenormalizablePoints();
	/**Creates a new RenormalizablePoints with current and normal values value*/
	RenormalizablePoints(int value);
	~RenormalizablePoints();
  /** Sets the normal value of the RenormalizablePoints to val */
  void setNormal(int val) { normal = val; };
  /** Returns the current value */
  int getCurrent() const { return current; };
  /** Sets the current value to val. */
  void setCurrent(int val) { current = val; };
  /** Returns the current value to the normal value. */
  void renormalize() { current = normal; };
  /** Increments the current value. */
  RenormalizablePoints operator++ ();
  /** Decrements the current value. */
  RenormalizablePoints operator-- ();
  /** Sums the current value and the operand. */
  int operator+ (int operand) const { return current + operand; };
  /** Takes the difference of the current value and the operand. */
  int operator- (int operand) const { return current - operand; };
  /** Assigns a new current value to the RPoints */
  RenormalizablePoints operator= (int newVal);
  /** Changes the normal value to match the current value. */
  void makeNormal() { normal = current; };
  /** Returns the normal value of the RPoints */
  int getNormal() { return normal; };
protected: // Protected attributes
  /** The value this variable has currently */
  int current;
  /** The value this object renormalize()s to. */
  int normal;
};

/** Increments the normal value and renormalizes */
inline RenormalizablePoints RenormalizablePoints::operator++ (){
	current++;
	return *this;
}


#endif

Generated by: droberge@magebook.localdomain on Mon Jul 3 13:20:08 200.