35 #ifndef spatiallocalizer_h 36 #define spatiallocalizer_h 77 virtual int SpatialLocalizerI_containsPoint(
const FloatArray &coords);
83 int SpatialLocalizerI_BBoxContainsPoint(
const FloatArray &coords);
153 const FloatArray &coords,
int region = 0) = 0;
166 virtual GaussPoint *giveClosestIP(
const FloatArray &coords,
int region,
bool iCohesiveZoneGP =
false) = 0;
185 virtual void giveAllElementsWithIpWithinBox(elementContainerType &elemSet,
const FloatArray &coords,
186 const double radius) = 0;
194 virtual void giveAllElementsWithIpWithinBox_EvenIfEmpty(elementContainerType &elemSet,
const FloatArray &coords,
195 const double radius) = 0;
202 virtual void giveAllElementsWithNodesWithinBox(elementContainerType &elemSet,
const FloatArray &coords,
203 const double radius);
211 virtual void giveAllNodesWithinBox(nodeContainerType &nodeList,
const FloatArray &coords,
const double radius) = 0;
218 virtual Node *giveNodeClosestToPoint(
const FloatArray &coords,
double maxDist) = 0;
225 virtual int init(
bool force =
false) {
return 1; }
227 virtual const char *giveClassName()
const = 0;
229 std :: string
errorInfo(
const char *func)
const {
return std :: string(giveClassName()) + func; }
232 #endif // spatiallocalizer_h The base class for all spatial localizers.
IntArray elementContainerType
Typedefs to introduce the container type for element numbers, returned by some services.
SpatialLocalizer(Domain *d)
Constructor.
Abstract base class for all finite elements.
Class implementing an array of integers.
Domain * domain
Link to domain object.
std::list< int > nodeContainerType
Typedefs to introduce the container type for nodal numbers, returned by some services.
std::string errorInfo(const char *func) const
Error printing helper.
virtual ~SpatialLocalizer()
Set of elements, boundaries, edges and/or nodes.
Class representing vector of real numbers.
virtual int init(bool force=false)
Initialize receiver data structure if not done previously If force is set to true, the initialization is enforced (useful if domain geometry has changed)
The spatial localizer element interface associated to spatial localizer.
SpatialLocalizerInterface(Element *element)
the oofem namespace is to define a context or scope in which all oofem names are defined.
Class implementing node in finite element mesh.
Domain * giveDomain()
Returns the domain that localizer acts on.
Class representing integration point in finite element program.