#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 208 of file IntxUtils.hpp.
Enumerator | |
---|---|
lHuiller | |
Girard | |
GaussQuadrature |
Definition at line 211 of file IntxUtils.hpp.
|
inline |
Definition at line 218 of file IntxUtils.hpp.
|
inline |
Definition at line 220 of file IntxUtils.hpp.
double moab::IntxAreaUtils::area_on_sphere | ( | Interface * | mb, |
EntityHandle | set, | ||
double | R | ||
) |
Definition at line 1201 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 1244 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 911 of file IntxUtils.cpp.
References area_spherical_polygon_girard(), area_spherical_polygon_lHuiller(), GaussQuadrature, Girard, lHuiller, and m_eAreaMethod.
Referenced by area_spherical_element(), and main().
|
private |
Definition at line 941 of file IntxUtils.cpp.
References moab::IntxUtils::oriented_spherical_angle().
Referenced by area_spherical_polygon().
|
private |
Definition at line 958 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 895 of file IntxUtils.cpp.
References area_spherical_triangle_girard(), area_spherical_triangle_lHuiller(), GaussQuadrature, Girard, lHuiller, and m_eAreaMethod.
|
private |
Definition at line 927 of file IntxUtils.cpp.
References spherical_angle().
Referenced by area_spherical_triangle().
|
private |
Definition at line 1145 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 1462 of file IntxUtils.cpp.
References moab::IntxUtils::area2D(), area_spherical_polygon_lHuiller(), area_spherical_triangle_lHuiller(), moab::Range::begin(), moab::Range::end(), ErrorCode, 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 857 of file IntxUtils.cpp.
References moab::angle(), and moab::CartVect::length_squared().
Referenced by area_spherical_triangle_girard().
|
private |
Definition at line 268 of file IntxUtils.hpp.
Referenced by area_spherical_polygon(), and area_spherical_triangle().