|
AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
Represents the geometry specified in a Shape. More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/main/src/axom/klee/Geometry.hpp>
Public Types | |
| using | Point3D = axom::primal::Point< double, 3 > |
| using | Vector3D = axom::primal::Vector< double, 3 > |
| using | Sphere3D = axom::primal::Sphere< double, 3 > |
| using | Cone3D = axom::primal::Cone< double, 3 > |
| using | Tet3D = axom::primal::Tetrahedron< double, 3 > |
| using | Hex3D = axom::primal::Hexahedron< double, 3 > |
| using | Plane3D = axom::primal::Plane< double, 3 > |
Public Member Functions | |
| Geometry (const TransformableGeometryProperties &startProperties, std::string format, std::string path, std::shared_ptr< GeometryOperator const > operator_) | |
| Geometry (const TransformableGeometryProperties &startProperties, const axom::sidre::Group *simplexMeshGroup, const std::string &topology, std::shared_ptr< GeometryOperator const > operator_) | |
| Geometry (const TransformableGeometryProperties &startProperties, const axom::primal::Tetrahedron< double, 3 > &tet, std::shared_ptr< GeometryOperator const > operator_) | |
| Geometry (const TransformableGeometryProperties &startProperties, const axom::primal::Hexahedron< double, 3 > &hex, std::shared_ptr< GeometryOperator const > operator_) | |
| Geometry (const TransformableGeometryProperties &startProperties, const axom::primal::Sphere< double, 3 > &sphere, axom::IndexType levelOfRefinement, std::shared_ptr< GeometryOperator const > operator_) | |
| Geometry (const TransformableGeometryProperties &startProperties, axom::ArrayView< const double, 2 > discreteFunction, const Point3D &sorOrigin, const Vector3D &sorDirection, axom::IndexType levelOfRefinement, std::shared_ptr< GeometryOperator const > operator_) | |
| Geometry (const TransformableGeometryProperties &startProperties, const axom::primal::Cone< double, 3 > &cone, axom::IndexType levelOfRefinement, std::shared_ptr< GeometryOperator const > operator_) | |
| Geometry (const TransformableGeometryProperties &startProperties, const axom::primal::Plane< double, 3 > &plane, std::shared_ptr< GeometryOperator const > operator_) | |
| const conduit::Node & | asHierarchy () const |
| Geometry definition in hierarchical format. More... | |
| conduit::Node & | asHierarchy () |
| const std::string & | getFormat () const |
| Get the format in which the geometry was specified. More... | |
| const std::string & | getPath () const |
| Dimensions | getInputDimensions () const |
| Dimensions | getOutputDimensions () const |
| Returns the dimensions of the geometry after applying operators. More... | |
| const axom::sidre::Group * | getBlueprintMesh () const |
| Return the blueprint mesh, for formats that are specified by a blueprint mesh or have been converted to a blueprint mesh. More... | |
| const std::string & | getBlueprintTopology () const |
| Return the blueprint mesh topology, for formats that are specified by a blueprint mesh or have been converted to a blueprint mesh. More... | |
| const Vector3D | getSorDirection () const |
| Return the SOR axis direction. More... | |
| const Point3D | getSorOriginCoords () const |
| Return the 3D coordinates of the point (z=0, r=0) More... | |
| bool | hasGeometry () const |
| std::shared_ptr< GeometryOperator const > const & | getGeometryOperator () const |
| const TransformableGeometryProperties & | getStartProperties () const |
| TransformableGeometryProperties | getEndProperties () const |
| axom::IndexType | getLevelOfRefinement () const |
| Return the number of levels of refinement for discretization of analytical curves. More... | |
| const axom::primal::Tetrahedron< double, 3 > & | getTet () const |
| Return the tet geometry, when the Geometry represents a tetrahedron. More... | |
| const axom::primal::Hexahedron< double, 3 > & | getHex () const |
| Return the hex geometry, when the Geometry represents a hexahedron. More... | |
| const axom::primal::Sphere< double, 3 > & | getSphere () const |
| Return the sphere geometry, when the Geometry represents an alalytical sphere. More... | |
| const axom::primal::Cone< double, 3 > & | getCone () const |
| Return the cone geometry, when the Geometry represents an alalytical cone. More... | |
| const axom::primal::Plane< double, 3 > & | getPlane () const |
| Return the plane geometry, when the Geometry represents a plane. More... | |
| axom::ArrayView< const double, 2 > | getDiscreteFunction () const |
| Get the discrete function used in surfaces of revolution. More... | |
Represents the geometry specified in a Shape.
| using axom::klee::Geometry::Point3D = axom::primal::Point<double, 3> |
| using axom::klee::Geometry::Vector3D = axom::primal::Vector<double, 3> |
| using axom::klee::Geometry::Sphere3D = axom::primal::Sphere<double, 3> |
| using axom::klee::Geometry::Cone3D = axom::primal::Cone<double, 3> |
| using axom::klee::Geometry::Tet3D = axom::primal::Tetrahedron<double, 3> |
| using axom::klee::Geometry::Hex3D = axom::primal::Hexahedron<double, 3> |
| using axom::klee::Geometry::Plane3D = axom::primal::Plane<double, 3> |
| axom::klee::Geometry::Geometry | ( | const TransformableGeometryProperties & | startProperties, |
| std::string | format, | ||
| std::string | path, | ||
| std::shared_ptr< GeometryOperator const > | operator_ | ||
| ) |
Create a Geometry object based on a file representation.
| startProperties | the transformable properties before any operators are applied |
| format | the format of the file |
| path | the path of the file |
| operator_ | a possibly null operator to apply to the geometry. |
| axom::klee::Geometry::Geometry | ( | const TransformableGeometryProperties & | startProperties, |
| const axom::sidre::Group * | simplexMeshGroup, | ||
| const std::string & | topology, | ||
| std::shared_ptr< GeometryOperator const > | operator_ | ||
| ) |
Create a Geometry object based on a blueprint tetrahedral mesh.
| startProperties | the transformable properties before any operators are applied |
| simplexMeshGroup | the geometry in blueprint format. The elements should be segments, triangles or tetrahedra. |
| topology | The blueprint topology to use. |
| operator_ | a possibly null operator to apply to the geometry. |
| axom::klee::Geometry::Geometry | ( | const TransformableGeometryProperties & | startProperties, |
| const axom::primal::Tetrahedron< double, 3 > & | tet, | ||
| std::shared_ptr< GeometryOperator const > | operator_ | ||
| ) |
Create a tetrahedron Geometry object.
| startProperties | the transformable properties before any operators are applied |
| tet | Tetrahedron |
| operator_ | a possibly null operator to apply to the geometry. |
| axom::klee::Geometry::Geometry | ( | const TransformableGeometryProperties & | startProperties, |
| const axom::primal::Hexahedron< double, 3 > & | hex, | ||
| std::shared_ptr< GeometryOperator const > | operator_ | ||
| ) |
Create a hexahedron Geometry object.
| startProperties | the transformable properties before any operators are applied |
| hex | Hexahedron |
| operator_ | a possibly null operator to apply to the geometry. |
| axom::klee::Geometry::Geometry | ( | const TransformableGeometryProperties & | startProperties, |
| const axom::primal::Sphere< double, 3 > & | sphere, | ||
| axom::IndexType | levelOfRefinement, | ||
| std::shared_ptr< GeometryOperator const > | operator_ | ||
| ) |
Create a sphere Geometry object.
| startProperties | the transformable properties before any operators are applied |
| sphere | Analytical sphere specifications |
| levelOfRefinement | Number of refinement levels to use for discretizing the sphere. |
| operator_ | a possibly null operator to apply to the geometry. |
| axom::klee::Geometry::Geometry | ( | const TransformableGeometryProperties & | startProperties, |
| axom::ArrayView< const double, 2 > | discreteFunction, | ||
| const Point3D & | sorOrigin, | ||
| const Vector3D & | sorDirection, | ||
| axom::IndexType | levelOfRefinement, | ||
| std::shared_ptr< GeometryOperator const > | operator_ | ||
| ) |
Create a surface-of-revolution (SOR) Geometry object.
| startProperties | the transformable properties before any operators are applied |
| discreteFunction | Discrete function describing the surface of revolution. |
| sorOrigin | 3D coordinates of the point (z=0, r=0). |
| sorDirection | SOR axis, in the direction of increasing z. |
| levelOfRefinement | Number of refinement levels to use for discretizing the SOR. |
| operator_ | a possibly null operator to apply to the geometry. |
The discreteFunction should be an Nx2 array, interpreted as (z,r) pairs, where z is the axial distance and r is the radius.
sorAxis should point in the direction of increasing z.
| axom::klee::Geometry::Geometry | ( | const TransformableGeometryProperties & | startProperties, |
| const axom::primal::Cone< double, 3 > & | cone, | ||
| axom::IndexType | levelOfRefinement, | ||
| std::shared_ptr< GeometryOperator const > | operator_ | ||
| ) |
Create a cone Geometry object.
| startProperties | the transformable properties before any operators are applied |
| sphere | Analytical sphere specifications |
| levelOfRefinement | Number of refinement levels to use for discretizing the sphere. |
| operator_ | a possibly null operator to apply to the geometry. |
| axom::klee::Geometry::Geometry | ( | const TransformableGeometryProperties & | startProperties, |
| const axom::primal::Plane< double, 3 > & | plane, | ||
| std::shared_ptr< GeometryOperator const > | operator_ | ||
| ) |
Create a planar Geometry object.
| startProperties | the transformable properties before any operators are applied |
| tet | Tetrahedron |
| operator_ | a possibly null operator to apply to the geometry. |
The space on the positive normal side of the plane is considered "inside the shape".
|
inline |
Geometry definition in hierarchical format.
|
inline |
|
inline |
Get the format in which the geometry was specified.
The format is determined by the constructor used. Values are:
primal::Sphere<double,3> primal::Cone<double,3>
|
inline |
Get the path at which to find the specification of the geometry, for geometries stored in files.
|
inline |
Returns the dimensions of the geometry before applying operators
For file-based inputs, this is the dimension of the input mesh
References axom::klee::TransformableGeometryProperties::dimensions, and getStartProperties().
|
inline |
Returns the dimensions of the geometry after applying operators.
References axom::klee::TransformableGeometryProperties::dimensions, and getEndProperties().
| const axom::sidre::Group* axom::klee::Geometry::getBlueprintMesh | ( | ) | const |
Return the blueprint mesh, for formats that are specified by a blueprint mesh or have been converted to a blueprint mesh.
| const std::string& axom::klee::Geometry::getBlueprintTopology | ( | ) | const |
Return the blueprint mesh topology, for formats that are specified by a blueprint mesh or have been converted to a blueprint mesh.
|
inline |
Return the SOR axis direction.
|
inline |
Return the 3D coordinates of the point (z=0, r=0)
| bool axom::klee::Geometry::hasGeometry | ( | ) | const |
|
inline |
Get a GeometryOperator to apply to this geometry. Can be null.
|
inline |
Get the initial transformable properties of this geometry
| TransformableGeometryProperties axom::klee::Geometry::getEndProperties | ( | ) | const |
Get the final transformable properties of this geometry after operators are applied
|
inline |
Return the number of levels of refinement for discretization of analytical curves.
This number is unused for geometries that are specified in discrete form.
|
inline |
Return the tet geometry, when the Geometry represents a tetrahedron.
|
inline |
Return the hex geometry, when the Geometry represents a hexahedron.
|
inline |
Return the sphere geometry, when the Geometry represents an alalytical sphere.
|
inline |
Return the cone geometry, when the Geometry represents an alalytical cone.
|
inline |
Return the plane geometry, when the Geometry represents a plane.
|
inline |
Get the discrete function used in surfaces of revolution.
References axom::Array< T, DIM, SPACE, StoragePolicy >::view().