A concrete geometry class for a multi-mesh. More...
#include <MultiGeometry.h>

Public Member Functions | |
| std::pair< Point, Point > | box () const override final |
| Return the bounding box. | |
| Point | centroid () const override final |
| Return the centroid. | |
| std::unique_ptr< AMP::Geometry::Geometry > | clone () const override final |
| Clone the object. | |
| void | displace (const double *x) override final |
| Displace the entire geometry. | |
| double | distance (const Point &pos, const Point &dir) const override final |
| Calculate the distance to the object given a ray. | |
| uint8_t | getDim () const |
| Get the number of dimensions for the object. | |
| const auto & | getGeometries () const |
| Access the geometries. | |
| virtual AMP::Mesh::GeomType | getGeomType () const |
| Get the geometric type for the geometry. | |
| virtual uint64_t | getID () const |
| Return a unique hash id. | |
| std::string | getName () const override final |
| Get the name of the geometry. | |
| bool | inside (const Point &pos) const override final |
| Is the point in the geometry. | |
| bool | isConvex () const override final |
| Is the object convex. | |
| MultiGeometry (const std::vector< std::shared_ptr< Geometry > > &geom) | |
| Constructor to create a MultiMesh from existing meshes. | |
| MultiGeometry (int64_t fid, AMP::IO::RestartManager *manager) | |
| Point | nearest (const Point &pos) const override final |
| Calculate the nearest point on the surface. | |
| int | NSurface () const override final |
| Get the number of surfaces. | |
| bool | operator!= (const Geometry &rhs) const |
| Check if two geometries are not equal. | |
| bool | operator== (const Geometry &rhs) const override final |
| Check if two geometries are equal. | |
| void | registerChildObjects (AMP::IO::RestartManager *manager) const override |
| Register child objects. | |
| int | surface (const Point &x) const override final |
| Get the surface id. | |
| Point | surfaceNorm (const Point &x) const override final |
| Return the outward normal to a surface. | |
| double | volume () const override final |
| Return the volume. | |
| void | writeRestart (int64_t fid) const override |
| Write restart data to file. | |
| virtual | ~MultiGeometry ()=default |
| Destructor. | |
Static Public Member Functions | |
| static std::shared_ptr< AMP::Geometry::Geometry > | buildGeometry (std::shared_ptr< const AMP::Database > db) |
| Create a geometry. | |
Protected Attributes | |
| const uint8_t | d_physicalDim |
Private Member Functions | |
| MultiGeometry ()=delete | |
| Empty constructor for a mesh. | |
Private Attributes | |
| std::vector< std::shared_ptr< Geometry > > | d_geom |
A concrete geometry class for a multi-mesh.
This class provides routines for creating and accessing geometry functions for a multi-mesh.
Definition at line 17 of file MultiGeometry.h.
|
explicit |
Constructor to create a MultiMesh from existing meshes.
This constructor takes a list of meshes and a communicator and generates the appropriate multimesh
| geom | Sub-geometries |
|
virtualdefault |
Destructor.
| AMP::Geometry::MultiGeometry::MultiGeometry | ( | int64_t | fid, |
| AMP::IO::RestartManager * | manager | ||
| ) |
|
privatedelete |
Empty constructor for a mesh.
Return the bounding box.
This function will return the bounding box of the object
Implements AMP::Geometry::Geometry.
|
staticinherited |
Create a geometry.
This function will create a geometry based on the input database.
| [in] | db | Parameters for constructing a geometry from an input database |
|
finaloverridevirtual |
Return the centroid.
This function will return the centroid of the object. The centroid is equivalent to the center of mass of object of uniform density.
Implements AMP::Geometry::Geometry.
|
finaloverridevirtual |
Clone the object.
Implements AMP::Geometry::Geometry.
|
finaloverridevirtual |
Displace the entire geometry.
This function will displace the entire geometry by a scalar value. The displacement vector should be the size of the physical dimension.
| [in] | x | Displacement vector |
Implements AMP::Geometry::Geometry.
|
finaloverridevirtual |
Calculate the distance to the object given a ray.
This function computes the distance to the object given a ray. If the ray is inside the object, this distance is negitive. If the ray will never intersect the object, this distance is inf.
| [in] | pos | Current position of ray |
| [in] | dir | Direction of ray (should be normalized for most uses) |
Implements AMP::Geometry::Geometry.
|
inlineinherited |
Get the number of dimensions for the object.
This function returns the number of physical dimensions for the geometry
Definition at line 42 of file Geometry.h.
References AMP::Geometry::Geometry::d_physicalDim.
|
inline |
|
virtualinherited |
Get the geometric type for the geometry.
This function returns the largest geometric type supported by the geometry
Reimplemented in AMP::Geometry::LogicalGeometry.
|
virtualinherited |
Return a unique hash id.
|
inlinefinaloverridevirtual |
Get the name of the geometry.
Implements AMP::Geometry::Geometry.
Definition at line 37 of file MultiGeometry.h.
|
finaloverridevirtual |
Is the point in the geometry.
This function checks if the ray is in the geometry. If it is on the surface, it will return true.
| [in] | pos | Current position |
Implements AMP::Geometry::Geometry.
|
inlinefinaloverridevirtual |
Is the object convex.
Check if the geometric object is convex
Implements AMP::Geometry::Geometry.
Definition at line 38 of file MultiGeometry.h.
Calculate the nearest point on the surface.
This function computes the nearest point on the surface
| [in] | pos | Current position of ray |
Implements AMP::Geometry::Geometry.
|
finaloverridevirtual |
Get the number of surfaces.
This function will return the number of unique surfaces
Implements AMP::Geometry::Geometry.
|
inlineinherited |
Check if two geometries are not equal.
Definition at line 151 of file Geometry.h.
References AMP::Geometry::Geometry::operator==().
|
finaloverridevirtual |
Check if two geometries are equal.
Implements AMP::Geometry::Geometry.
|
overridevirtual |
Register child objects.
This function register child objects if necessary
| manager | Restart manager |
Reimplemented from AMP::Geometry::Geometry.
|
finaloverridevirtual |
Get the surface id.
This function will return the surface id closest to the point
| [in] | x | Current position |
Implements AMP::Geometry::Geometry.
Return the outward normal to a surface.
This function will return the surface id and outward normal to the surface at the given point
| [in] | x | Current position |
Implements AMP::Geometry::Geometry.
|
finaloverridevirtual |
Return the volume.
This function will return the interior volume of the object
Implements AMP::Geometry::Geometry.
|
overridevirtual |
Write restart data to file.
This function will write the mesh to an HDF5 file
| fid | File identifier to write |
Reimplemented from AMP::Geometry::Geometry.
|
private |
Definition at line 61 of file MultiGeometry.h.
Referenced by getGeometries().
|
protectedinherited |
Definition at line 200 of file Geometry.h.
Referenced by AMP::Geometry::Geometry::getDim().
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:42. Comments on this page |