Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Examples  

FacetSetBase.h

Go to the documentation of this file.
00001 #ifndef FACETSETBASE_H
00002 #define FACETSETBASE_H
00003 
00004 #include "SundanceDefs.h"
00005 
00006 #include <stdlib.h>
00007 
00008 
00009 namespace Sundance
00010 {
00011 
00012   using namespace TSF;
00013 
00014   /** \ingroup LowLevelGeometry
00015    * Base class for facet sets. This class is intended to optimize
00016    * storage of facets of maximal cells: each type of maximal cell
00017    * gets its own facet set subclass, and knows how to index into its data.
00018    * This avoids the overhead of storing array sizes that we would
00019    * have if we stored generic facet sets.
00020    */
00021 
00022   class FacetSetBase
00023     {
00024     public:
00025       /** empty ctor.  */
00026       FacetSetBase(){;}
00027       /** dtor */
00028       virtual ~FacetSetBase(){;}
00029 
00030       /** return the number of facets of dimension facetDim */
00031       virtual int numFacets(int facetDim) const = 0 ;
00032       /** return the cell index of the specified facet */
00033       virtual int facetIndex(int facetDim, int facetNum) const = 0 ;
00034       /** set the cell index of the given facet */
00035       virtual void setFacetIndex(int facetDim,
00036                                  int facetNum,
00037                                  int facetIndex) = 0 ;
00038       /** return the size of this object in bytes */
00039       virtual int byteCount() const = 0;
00040     private:
00041       // nothing
00042     };
00043 
00044 
00045 }
00046 #endif

Contact:
Kevin Long (krlong@ca.sandia.gov)


Documentation generated by