#include <IntxUtils.hpp>
Public Types | |
| enum | AreaMethod { lHuiller = 0 , Girard = 1 , GaussQuadrature = 2 } |
Public Member Functions | |
| IntxAreaUtils (AreaMethod p_eAreaMethod=lHuiller) | |
| ~IntxAreaUtils () | |
| double | spherical_angle (const double *A, const double *B, const double *C, double Radius) |
| double | area_spherical_triangle (const double *A, const double *B, const double *C, double Radius) |
| double | area_spherical_polygon (const double *A, int N, double Radius, int *sign=NULL) |
| double | area_spherical_element (Interface *mb, EntityHandle elem, double R) |
| double | area_on_sphere (Interface *mb, EntityHandle set, double R) |
| ErrorCode | positive_orientation (Interface *mb, EntityHandle set, double R) |
Private Member Functions | |
| double | area_spherical_triangle_lHuiller (const double *ptA, const double *ptB, const double *ptC, double Radius) |
| double | area_spherical_polygon_lHuiller (const double *A, int N, double Radius, int *sign=NULL) |
| double | area_spherical_triangle_girard (const double *A, const double *B, const double *C, double Radius) |
| double | area_spherical_polygon_girard (const double *A, int N, double Radius) |
Private Attributes | |
| AreaMethod | m_eAreaMethod |
Definition at line 232 of file IntxUtils.hpp.
| Enumerator | |
|---|---|
| lHuiller | |
| Girard | |
| GaussQuadrature | |
Definition at line 235 of file IntxUtils.hpp.
|
inline |
Definition at line 242 of file IntxUtils.hpp.
|
inline |
Definition at line 244 of file IntxUtils.hpp.
| double moab::IntxAreaUtils::area_on_sphere | ( | Interface * | mb, |
| EntityHandle | set, | ||
| double | R | ||
| ) |
Definition at line 1484 of file IntxUtils.cpp.
References area_spherical_element(), moab::Range::begin(), moab::Range::end(), ErrorCode, mb, MB_CHK_ERR_RET_VAL, MB_SUCCESS, moab::R, and moab::Range::size().
Referenced by main().
| double moab::IntxAreaUtils::area_spherical_element | ( | Interface * | mb, |
| EntityHandle | elem, | ||
| double | R | ||
| ) |
Definition at line 1527 of file IntxUtils.cpp.
References area_spherical_polygon(), ErrorCode, mb, MB_CHK_ERR_RET_VAL, and moab::R.
Referenced by area_on_sphere(), and moab::Intx2MeshOnSphere::update_tracer_data().
| double moab::IntxAreaUtils::area_spherical_polygon | ( | const double * | A, |
| int | N, | ||
| double | Radius, | ||
| int * | sign = NULL |
||
| ) |
Definition at line 1195 of file IntxUtils.cpp.
References area_spherical_polygon_girard(), area_spherical_polygon_lHuiller(), GaussQuadrature, Girard, lHuiller, and m_eAreaMethod.
Referenced by area_spherical_element(), moab::Intx2MeshEdges::EdgeSplits(), and main().
|
private |
Definition at line 1225 of file IntxUtils.cpp.
References moab::IntxUtils::oriented_spherical_angle().
Referenced by area_spherical_polygon().
|
private |
Definition at line 1242 of file IntxUtils.cpp.
References area_spherical_triangle_lHuiller().
Referenced by area_spherical_polygon(), and positive_orientation().
| double moab::IntxAreaUtils::area_spherical_triangle | ( | const double * | A, |
| const double * | B, | ||
| const double * | C, | ||
| double | Radius | ||
| ) |
Definition at line 1179 of file IntxUtils.cpp.
References area_spherical_triangle_girard(), area_spherical_triangle_lHuiller(), GaussQuadrature, Girard, lHuiller, and m_eAreaMethod.
Referenced by moab::Intx2MeshOnSphere::findNodes().
|
private |
Definition at line 1211 of file IntxUtils.cpp.
References spherical_angle().
Referenced by area_spherical_triangle().
|
private |
Definition at line 1428 of file IntxUtils.cpp.
References moab::angle_robust(), and moab::E.
Referenced by area_spherical_polygon_lHuiller(), area_spherical_triangle(), and positive_orientation().
| ErrorCode moab::IntxAreaUtils::positive_orientation | ( | Interface * | mb, |
| EntityHandle | set, | ||
| double | R | ||
| ) |
Definition at line 1744 of file IntxUtils.cpp.
References moab::IntxUtils::area2D(), area_spherical_polygon_lHuiller(), area_spherical_triangle_lHuiller(), moab::Range::begin(), moab::Range::end(), mb, MB_CHK_ERR, MB_SUCCESS, and moab::R.
Referenced by moab::TempestRemapper::ComputeOverlapMesh(), and main().
| double moab::IntxAreaUtils::spherical_angle | ( | const double * | A, |
| const double * | B, | ||
| const double * | C, | ||
| double | Radius | ||
| ) |
Definition at line 1141 of file IntxUtils.cpp.
References moab::angle(), and moab::CartVect::length_squared().
Referenced by area_spherical_triangle_girard().
|
private |
Definition at line 292 of file IntxUtils.hpp.
Referenced by area_spherical_polygon(), and area_spherical_triangle().