/****************************************************************************
** GMAF - The Geometry Modeling Algorithms Framework
**
** Created : 03112000
**
** Copyright (C) 2000 by Le-Jeng Shiue.  All rights reserved.
**
****************************************************************************/
#ifndef gmafDataStructure_H
#define gmafDataStructure_H

#include <string>

/**
  gmafDataStructure
  The base class for all data structures in GMAF
*/
class gmafDataStructure {
// ENUMS
public:
  const std::string ID;

// VARIABLES
/**@name Class Variables */
//@{
protected:
  /**
     If it's false, this data structure cannot be use for any algorithm.
   */
  bool mValid;
  
private:
//@}

// METHODS
/**@name Class Methods */
//@{
public:
  /**
     Constructor of gmafDataStructure.
  */   
  gmafDataStructure(const char* id = "");
  /**
     Destructor of gmafDataStructure.
  */    
  virtual ~gmafDataStructure();

  /**
     Check if the data structure is valid
   */
  inline bool isValid() { return mValid; }
protected:

private:
};

#endif gmafDataStructure_H

