63 lines
1.7 KiB
C++
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
|