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

#include <vector>

#include "DataStructure/gmafDataStructure.h"

class gmafQuadMap;
class gmafPCCMQuad;

/**
   gmafPCCMQuadMap:
 */
class gmafPCCMQuadMap : public gmafDataStructure {
// ENUMS
public:

// VARIABLES
/**@name Class Variables */
//@{
protected:
  gmafQuadMap* mpQuadMap;

  /** 
      mPCCMQuadList should have the same sequence of the quadlist in 
      the QuadMap
  */
  vector<gmafPCCMQuad* > mPCCMQuadList;

private:

//@}

// METHODS
/**@name Class Methods */
//@{
public:
  /**
     Constructor of gmafPCCMQuadMap
  */
  gmafPCCMQuadMap(gmafQuadMap* qm);

  /**
     Destructor of gmafPCCMQuadMap
  */    
  virtual ~gmafPCCMQuadMap();
  
  inline vector<gmafPCCMQuad*>& getPCCMQuadList() { return mPCCMQuadList; }

  /**
     Return the number of the pccmquads
   */
  inline int size() { return mPCCMQuadList.size(); }

protected:
  
private:

};


#endif gmafPCCMQuadMap_H
