![]() |
OGS
|
Definition at line 29 of file SurfaceGrid.h.
#include <SurfaceGrid.h>
Public Member Functions | |
SurfaceGrid (GeoLib::Surface const *const sfc) | |
bool | isPointInSurface (MathLib::Point3d const &pnt, double eps=std::numeric_limits< double >::epsilon()) const |
![]() | |
template<typename PNT_TYPE > | |
AABB (std::vector< PNT_TYPE * > const &pnts, std::vector< std::size_t > const &ids) | |
AABB (AABB const &)=default | |
template<typename InputIterator > | |
AABB (InputIterator first, InputIterator last) | |
template<typename PNT_TYPE > | |
bool | update (PNT_TYPE const &p) |
template<typename T > | |
bool | containsPoint (T const &pnt, double eps) const |
template<typename T > | |
bool | containsPointXY (T const &pnt) const |
Eigen::Vector3d const & | getMinPoint () const |
Eigen::Vector3d const & | getMaxPoint () const |
bool | containsAABB (AABB const &other_aabb) const |
Private Member Functions | |
void | sortTrianglesInGridCells (GeoLib::Surface const *const sfc) |
bool | sortTriangleInGridCells (GeoLib::Triangle const *const triangle) |
std::optional< std::array< std::size_t, 3 > > | getGridCellCoordinates (MathLib::Point3d const &p) const |
Private Attributes | |
std::array< double, 3 > | _step_sizes {} |
std::array< double, 3 > | _inverse_step_sizes {} |
std::array< std::size_t, 3 > | _n_steps |
std::vector< std::vector< GeoLib::Triangle const * > > | _triangles_in_grid_box |
|
explicit |
Definition at line 25 of file SurfaceGrid.cpp.
|
private |
Definition at line 221 of file SurfaceGrid.cpp.
References _inverse_step_sizes, _n_steps, DBUG(), and GeoLib::AABB::getMinPoint().
Referenced by isPointInSurface(), and sortTriangleInGridCells().
bool GeoLib::SurfaceGrid::isPointInSurface | ( | MathLib::Point3d const & | pnt, |
double | eps = std::numeric_limits<double>::epsilon() |
||
) | const |
Definition at line 246 of file SurfaceGrid.cpp.
References _n_steps, _triangles_in_grid_box, MaterialPropertyLib::c, and getGridCellCoordinates().
|
private |
Definition at line 167 of file SurfaceGrid.cpp.
References _n_steps, _triangles_in_grid_box, getGridCellCoordinates(), and GeoLib::Triangle::getPoint().
Referenced by sortTrianglesInGridCells().
|
private |
Definition at line 146 of file SurfaceGrid.cpp.
References GeoLib::AABB::getMaxPoint(), GeoLib::AABB::getMinPoint(), GeoLib::Surface::getNumberOfTriangles(), OGS_FATAL, and sortTriangleInGridCells().
|
private |
Definition at line 41 of file SurfaceGrid.h.
Referenced by getGridCellCoordinates().
|
private |
Definition at line 42 of file SurfaceGrid.h.
Referenced by getGridCellCoordinates(), isPointInSurface(), and sortTriangleInGridCells().
|
private |
Definition at line 40 of file SurfaceGrid.h.
|
private |
Definition at line 43 of file SurfaceGrid.h.
Referenced by isPointInSurface(), and sortTriangleInGridCells().