// $Source: /usr/local/SimSoft/Sfx3D/src/gts/gtstmw.cpp,v $
// $Revision: 1.2 $
// $Author: baum $
// $Date: 2001/11/29 15:18:10 $
//
// Login name of the user who locked the revision
// $Locker:  $
// Tag name used to checkout the file
// $Name: Release-14 $
// State assigned to revision
// $State: Exp $
//
//
// $Log: gtstmw.cpp,v $
// Revision 1.2  2001/11/29 15:18:10  baum
// -Realzeitsteuerung eingebaut
// -Handsteuerung eingebaut
//

/*** Windows headers ***/
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#undef WIN32_LEAN_AND_MEAN
//#include <winnt.h>
#endif /*WIN32*/

#include "gtsio.h"
#include "gtstmw.h"
#include "gtstbv.h"

//==================================================================

Messwert::Messwert  ()
  : ObjSatzCode         (0),
    ObjArtRegistrierung (0),
    ObjDarstellung      (0),
    ObjBereich          (0),
    ObjErfassung        (0)
{ }

Messwert::Messwert  (const Messwert& copy)
  : ObjSatzCode         (copy.ObjSatzCode),
    ObjArtRegistrierung (copy.ObjArtRegistrierung),
    ObjDarstellung      (copy.ObjDarstellung),
    ObjBereich          (copy.ObjBereich),
    ObjErfassung        (copy.ObjErfassung)
{ }

Messwert::~Messwert ()
 { }

Messwert& Messwert::operator = (const Messwert& copy) {
  if (this == &copy) return (*this);
  ObjSatzCode         = copy.ObjSatzCode;
  ObjArtRegistrierung = copy.ObjArtRegistrierung;
  ObjDarstellung      = copy.ObjDarstellung;
  ObjBereich          = copy.ObjBereich;
  ObjErfassung        = copy.ObjErfassung;
  return (*this);
}  // ENDE operator =

unsigned Messwert::getRegistrierung () const
{
  return ObjArtRegistrierung;
}  // ENDE getMesswert

unsigned Messwert::getMesswert () const
{
  return ObjErfassung;
}  // ENDE getMesswert

void Messwert::setMesswert (const unsigned mw)
{
  ObjErfassung = mw;
}  // ENDE setMesswert

//==================================================================
BstMesswert::BstMesswert () : Messwert ()
{ }

BstMesswert::BstMesswert (unsigned regart) : Messwert ()
{
  ObjSatzCode         = 10;
  ObjArtRegistrierung = regart;
}

BstMesswert::BstMesswert (const BstMesswert& copy): Messwert (copy)
{ }

BstMesswert::~BstMesswert ( )
{ }

void BstMesswert::operator = (const BstMesswert& copy) {
  if (this == &copy) return;
  Messwert::operator = (copy);
}

void BstMesswert::readMW (InputFile& fin)
{
  SFXToken tok;
  tok.nextToken (fin);  unsigned anz        = atoi(tok());
  tok.nextToken (fin);  ObjArtRegistrierung = atoi(tok());
  tok.nextToken (fin);  ObjDarstellung      = atoi(tok());
  tok.nextToken (fin);  ObjBereich          = atoi(tok());
  tok.EndOfLine (fin);
  ObjErfassung = ((ObjArtRegistrierung > 0) ? 1 : 0);

  for (unsigned i = 1; i < anz; i++)
  {
    tok.nextToken (fin);
    tok.EndOfLine (fin);
  }
} // ENDE readMW

void BstMesswert::writeMW (ostream& ostrm) const
{
  Write (ostrm, "%3d %3d %6d\n",  ObjArtRegistrierung, 0, 0);
/*
  Write (ostrm, "%3d ",  ObjArtRegistrierung);
  Write (ostrm, "%3d ",  ObjDarstellung);
  Write (ostrm, "%6d\n", ObjBereich);
*/
}  // ENDE writeMW

//==================================================================
ArbeitsplanMesswert::ArbeitsplanMesswert () : Messwert ()
{ }

ArbeitsplanMesswert::ArbeitsplanMesswert (unsigned regart) : Messwert ()
{
  ObjSatzCode         = 10;
  ObjArtRegistrierung = regart;
}

ArbeitsplanMesswert::ArbeitsplanMesswert (const ArbeitsplanMesswert& copy)
  : Messwert (copy)
{ }

ArbeitsplanMesswert::~ArbeitsplanMesswert ( )
{ }

void ArbeitsplanMesswert::operator = (const ArbeitsplanMesswert& copy)
{
  if (this == &copy) return;
  Messwert::operator = (copy);
}

void ArbeitsplanMesswert::readMW (InputFile& fin)
{
  SFXToken tok;
  tok.nextToken (fin);  unsigned anz        = atoi(tok());
  tok.nextToken (fin);  ObjArtRegistrierung = atoi(tok());
  tok.nextToken (fin);  ObjDarstellung      = atoi(tok());
  tok.nextToken (fin);  ObjBereich          = atoi(tok());
  tok.EndOfLine (fin);
  ObjErfassung = ((ObjArtRegistrierung > 0) ? 1 : 0);

  for (unsigned i = 1; i < anz; i++)
  {
    tok.nextToken (fin);
    tok.EndOfLine (fin);
  }
} // ENDE readMW

void ArbeitsplanMesswert::writeMW (ostream& ostrm) const
{
  Write (ostrm, "%3d %3d %6d\n",  ObjArtRegistrierung, 0, 0);
//  Write (ostrm, "%3d ",  ObjDarstellung);
//  Write (ostrm, "%6d\n", ObjBereich);
}  // ENDE writeMW
