#include <GeometryService.H>
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) |
GeometryService::GeometryService | ( | ) |
virtual GeometryService::~GeometryService | ( | ) | [virtual] |
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] |