#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 (double *A, double *B, double *C, double Radius) |
double | area_spherical_triangle (double *A, double *B, double *C, double Radius) |
double | area_spherical_polygon (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 (double *ptA, double *ptB, double *ptC, double Radius) |
double | area_spherical_polygon_lHuiller (double *A, int N, double Radius, int *sign=NULL) |
double | area_spherical_triangle_girard (double *A, double *B, double *C, double Radius) |
double | area_spherical_polygon_girard (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 1018 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(), and test_intx_in_parallel_elem_based().
double moab::IntxAreaUtils::area_spherical_element | ( | Interface * | mb, |
EntityHandle | elem, | ||
double | R | ||
) |
Definition at line 1056 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 | ( | double * | A, |
int | N, | ||
double | Radius, | ||
int * | sign = NULL |
||
) |
Definition at line 849 of file IntxUtils.cpp.
References area_spherical_polygon_girard(), area_spherical_polygon_lHuiller(), GaussQuadrature, Girard, lHuiller, m_eAreaMethod, and Radius.
Referenced by add_field_value(), area_spherical_element(), and main().
|
private |
Definition at line 879 of file IntxUtils.cpp.
References moab::IntxUtils::oriented_spherical_angle(), and Radius.
Referenced by area_spherical_polygon().
|
private |
Definition at line 896 of file IntxUtils.cpp.
References area_spherical_triangle_lHuiller(), and Radius.
Referenced by area_spherical_polygon(), and positive_orientation().
double moab::IntxAreaUtils::area_spherical_triangle | ( | double * | A, |
double * | B, | ||
double * | C, | ||
double | Radius | ||
) |
Definition at line 833 of file IntxUtils.cpp.
References area_spherical_triangle_girard(), area_spherical_triangle_lHuiller(), GaussQuadrature, Girard, lHuiller, m_eAreaMethod, and Radius.
|
private |
Definition at line 865 of file IntxUtils.cpp.
References Radius, and spherical_angle().
Referenced by area_spherical_triangle().
|
private |
Definition at line 980 of file IntxUtils.cpp.
References moab::angle(), moab::E, and Radius.
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 1272 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_SUCCESS, and moab::R.
Referenced by moab::TempestRemapper::ComputeOverlapMesh(), and main().
double moab::IntxAreaUtils::spherical_angle | ( | double * | A, |
double * | B, | ||
double * | C, | ||
double | Radius | ||
) |
Definition at line 795 of file IntxUtils.cpp.
References moab::angle(), moab::CartVect::length_squared(), and Radius.
Referenced by area_spherical_triangle_girard().
|
private |
Definition at line 268 of file IntxUtils.hpp.
Referenced by area_spherical_polygon(), and area_spherical_triangle().