GeometryService Class Reference

#include <GeometryService.H>

Inheritance diagram for GeometryService:

Inheritance graph
[legend]

List of all members.


Detailed Description

This is a pure base class that EBIndexSpace uses to interface with geometry-generation classes.

Public Types

enum  InOut { Regular, Covered, Irregular }

Public Member Functions

 GeometryService ()
virtual ~GeometryService ()
virtual bool isRegular (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const =0
virtual bool isCovered (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const =0
virtual bool isIrregular (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const
virtual void fillGraph (BaseFab< int > &a_regIrregCovered, Vector< IrregNode > &a_nodes, const Box &a_validRegion, const Box &a_ghostRegion, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const =0
virtual bool canGenerateMultiCells () const
virtual InOut InsideOutside (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const

Static Public Member Functions

static bool intersection (const RealVect &a_lo1, const RealVect &a_hi1, const RealVect &a_lo2, const RealVect &a_hi2)
 handy functions to do rectangle intersections in real space
static bool intersection (const Box &a_region, const RealVect &a_origin, const Real &a_dx, const RealVect &a_lower, const RealVect &a_upper)

Member Enumeration Documentation

Enumerator:
Regular 
Covered 
Irregular 


Constructor & Destructor Documentation

GeometryService::GeometryService (  ) 

virtual GeometryService::~GeometryService (  )  [virtual]


Member Function Documentation

virtual bool GeometryService::isRegular ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const [pure virtual]

Return true if every cell in region is regular at the refinement described by dx.

Implemented in AllRegularService, SlabService, GeometryShop, and NewGeometryShop.

virtual bool GeometryService::isCovered ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const [pure virtual]

Return true if every cell in region is covered at the refinement described by dx.

Implemented in AllRegularService, SlabService, GeometryShop, and NewGeometryShop.

virtual bool GeometryService::isIrregular ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const [virtual]

Reimplemented in GeometryShop, and NewGeometryShop.

virtual void GeometryService::fillGraph ( BaseFab< int > &  a_regIrregCovered,
Vector< IrregNode > &  a_nodes,
const Box a_validRegion,
const Box a_ghostRegion,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const [pure virtual]

irregGraph contains a complete list of irregular vofs. \ validRegion is the the region of the graph \ domain is the domain of compuation \ regIrregCovered = 1 for regular, 0 for irregular, -1 for covered. regIrregCovered must contain the valid region grown by 1. \ In chombospeak, \ ghostregion = (grow(validRegion, 1) & domain);

Implemented in AllRegularService, SlabService, GeometryShop, and NewGeometryShop.

virtual bool GeometryService::canGenerateMultiCells (  )  const [virtual]

Reimplemented in GeometryShop, and NewGeometryShop.

virtual InOut GeometryService::InsideOutside ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const [virtual]

Reimplemented in SlabService, and GeometryShop.

static bool GeometryService::intersection ( const RealVect a_lo1,
const RealVect a_hi1,
const RealVect a_lo2,
const RealVect a_hi2 
) [static]

handy functions to do rectangle intersections in real space

static bool GeometryService::intersection ( const Box a_region,
const RealVect a_origin,
const Real a_dx,
const RealVect a_lower,
const RealVect a_upper 
) [static]


The documentation for this class was generated from the following file:

Generated on Tue Apr 14 14:23:36 2009 for Chombo + EB by  doxygen 1.5.5