awips2/nativeLib/rary.ohd.ofs/inc/ReservoirMethod.h
root 06a8b51d6d Initial revision of AWIPS2 11.9.0-7p5
Former-commit-id: 64fa9254b946eae7e61bbc3f513b7c3696c4f54f
2012-01-06 08:55:05 -06:00

63 lines
1.7 KiB
C++

//------------------------------------------------------------------------------
// ReservoirMethod - Derived class for methods that only act on reservoir
// components.
//------------------------------------------------------------------------------
// Copyright: See the COPYRIGHT file.
//------------------------------------------------------------------------------
// Notes:
//
//------------------------------------------------------------------------------
// History:
//
// 22 Apr 1998 Daniel K. Weiler, Riverside Technology, inc
// Created initial version.
// 16 May 2001 James R. VanShaar, RTi Added NORMAL, INTERPOLATE_* definitions
// 08 Feb 2006 JRV, RTi Added INTERPOLATE definitions for LOOKUP3 method.
//------------------------------------------------------------------------------
// Variables: I/O Description
//
//
//------------------------------------------------------------------------------
#ifndef ReservoirMethod_INCLUDED
#define ReservoirMethod_INCLUDED
#include "Reservoir.h"
#include "Method.h"
#define NORMAL 0
#define INTERPOLATE 1
#define INTERPOLATE_TIME 1
#define INTERPOLATE_ELEV 2
#define INTERPOLATE_ALL 3
#define INTERPOLATE_ROWS 1
#define INTERPOLATE_COLS 2
class ReservoirMethod : public Method
{
public:
ReservoirMethod( Reservoir* ); // Default constructor.
ReservoirMethod( const ReservoirMethod&,
Reservoir* ); // Copy constructor.
virtual ~ReservoirMethod(); // Default destructor.
Reservoir* getOwner(); // returns _owner
ReservoirMethod* copy( Component* ) = 0;
virtual int solveMethod( TSDate&, int, double** = NULL ) = 0;
virtual int print( FILE* ) = 0;
virtual int freeDataSpace() = 0;
private:
int initialize();
protected:
Reservoir* _owner;
};
#endif