Chombo + EB
3.0
|
#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 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 DataIndex &a_di) const |
virtual bool | canGenerateMultiCells () const |
virtual InOut | InsideOutside (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const |
virtual InOut | InsideOutside (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx, const DataIndex &a_di) const |
virtual void | postMakeBoxLayout (const DisjointBoxLayout &a_dbl, const RealVect &a_dx) |
virtual void | makeGrids (const ProblemDomain &a_domain, DisjointBoxLayout &a_grids, const int &a_maxGridSize, const int &a_maxIrregGridSize) |
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 More... | |
static bool | intersection (const Box &a_region, const RealVect &a_origin, const Real &a_dx, const RealVect &a_lower, const RealVect &a_upper) |
This is a pure base class that EBIndexSpace uses to interface with geometry-generation classes.
GeometryService::GeometryService | ( | ) |
|
virtual |
|
pure virtual |
Return true if every cell in region is regular at the refinement described by dx.
Implemented in NewGeometryShop, GeometryShop, MultiSlabService, SlabService, and AllRegularService.
|
pure virtual |
Return true if every cell in region is covered at the refinement described by dx.
Implemented in NewGeometryShop, GeometryShop, MultiSlabService, SlabService, and AllRegularService.
|
virtual |
Reimplemented in NewGeometryShop, and GeometryShop.
|
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 GeometryShop, NewGeometryShop, MultiSlabService, SlabService, and AllRegularService.
Referenced by fillGraph().
|
inlinevirtual |
This overloaded method will be called when the GeometryService was asked to make the grids with makeGrids()
References canGenerateMultiCells(), fillGraph(), and InsideOutside().
|
virtual |
Reimplemented in GeometryShop, and NewGeometryShop.
Referenced by fillGraph().
|
virtual |
Reimplemented in GeometryShop, MultiSlabService, and SlabService.
Referenced by fillGraph(), and InsideOutside().
|
inlinevirtual |
This overloaded method will be called when the GeometryService was asked to make the grids with makeGrids()
References InsideOutside(), intersection(), and postMakeBoxLayout().
|
static |
handy functions to do rectangle intersections in real space
Referenced by InsideOutside().
|
static |
|
virtual |
Perform any adjustments needed after box layout is created during EBISLevel construction This function is used because subclasses may have distributed data that they will want to adjust based on the new layout. The default implementation is empty.
Referenced by InsideOutside().
|
inlinevirtual |
Allow the geometry service to determine the DisjointBoxLayout that will dictate InsideOutside queries.
References MayDay::Error().