#include <Triangle.h>
Static Public Member Functions | |
static void | Angles (const double a[3], const double b[3], const double c[3], double angle[3]) |
static double | Area (const double a[3], const double b[3], const double c[3]) |
static double | Area2D (const double a[2], const double b[2], const double c[2]) |
static Vector3 | AreaGradient (const double a[3], const double b[3], const double c[3]) |
static double | BoundingSphereRadius (const double a[3], const double b[3], const double c[3], double *center=nullptr) |
static void | Center (const double a[3], const double b[3], const double c[3], double center[3]) |
static double | Cotangent (double a[3], double b[3], double c[3]) |
static double | DistanceBetweenCenters (const double a1[3], const double b1[3], const double c1[3], const double a2[3], const double b2[3], const double c2[3], double *p1, double *p2) |
Compute distance between triangle center points. More... | |
static double | DistanceBetweenCorners (const double a1[3], const double b1[3], const double c1[3], const double a2[3], const double b2[3], const double c2[3], double *p1, double *p2) |
Compute distance between closest corner points of two triangles. More... | |
static double | DistanceBetweenTriangles (const double a1[3], const double b1[3], const double c1[3], const double n1[3], const double a2[3], const double b2[3], const double c2[3], const double n2[3], double *p1, double *p2) |
Compute distance between closest points of two triangles. | |
static double | DistanceBetweenTriangles (const double a1[3], const double b1[3], const double c1[3], const double a2[3], const double b2[3], const double c2[3], double *p1, double *p2) |
Compute distance between closest points of two triangles. More... | |
static double | DoubleArea (const double a[3], const double b[3], const double c[3]) |
static double | DoubleArea2D (const double a[2], const double b[2], const double c[2]) |
static Vector3 | DoubleAreaGradient (const double a[3], const double b[3], const double c[3]) |
static double | DoubleSignedArea2D (const double a[2], const double b[2], const double c[2]) |
static double | MaxAngle (const double a[3], const double b[3], const double c[3]) |
static double | MinAngle (const double a[3], const double b[3], const double c[3]) |
static void | Normal (const double a[3], const double b[3], const double c[3], double n[3]) |
static void | NormalDirection (const double a[3], const double b[3], const double c[3], double n[3]) |
static Matrix3x3 | NormalDirectionJacobian (const double a[3], const double b[3], const double c[3]) |
static Matrix3x3 | NormalJacobian (const double a[3], const double b[3], const double c[3]) |
static Matrix3x3 | NormalJacobian (const double a[3], const double b[3], const double c[3], const Matrix3x3 &dn) |
static Matrix3x3 | NormalJacobian (const double n[3], const Matrix3x3 &dn) |
static Matrix3x3 | NormalJacobian (const Vector3 &n, const Matrix3x3 &dn) |
static double | SignedArea2D (const double a[2], const double b[2], const double c[2]) |
static bool | TriangleTriangleIntersection (const double a1[3], const double b1[3], const double c1[3], const double a2[3], const double b2[3], const double c2[3]) |
Tests whether two triangles intersect each other. | |
static bool | TriangleTriangleIntersection (const double a1[3], const double b1[3], const double c1[3], const double a2[3], const double b2[3], const double c2[3], int &coplanar, double *p1, double *p2) |
Tests whether two triangles intersect each other. | |
Auxiliary class/static helper functions for triangulated surface meshes
Definition at line 35 of file Triangle.h.
|
inlinestatic |
Compute angle at triangle corners
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
[out] | angle | Angles at triangle vertices in radians. |
Definition at line 346 of file Triangle.h.
|
inlinestatic |
Compute area of triangle
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
Definition at line 312 of file Triangle.h.
|
inlinestatic |
Compute area of triangle in 2D
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
Definition at line 336 of file Triangle.h.
|
inlinestatic |
Partial derivative of triangle area w.r.t. coordinates of vertex A
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
Definition at line 483 of file Triangle.h.
|
inlinestatic |
Compute center point of triangle
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
[out] | center | Position of triangle center. |
center
point. Definition at line 266 of file Triangle.h.
|
inlinestatic |
Compute center point of triangle
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
[out] | center | Position of triangle center. |
Definition at line 258 of file Triangle.h.
|
inlinestatic |
Compute cotangent of angle ABC
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
Definition at line 374 of file Triangle.h.
|
inlinestatic |
Compute distance between triangle center points.
Compute distance between two triangles.
Definition at line 495 of file Triangle.h.
|
inlinestatic |
Compute distance between closest corner points of two triangles.
Compute distance between two triangles.
Definition at line 507 of file Triangle.h.
|
inlinestatic |
Compute distance between closest points of two triangles.
Compute distance between two triangles.
Definition at line 546 of file Triangle.h.
|
inlinestatic |
Compute twice the area of triangle
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
Definition at line 304 of file Triangle.h.
|
inlinestatic |
Compute twice the area of triangle in 2D
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
Definition at line 330 of file Triangle.h.
|
inlinestatic |
Partial derivatives of twice the triangle area w.r.t. coordinates of vertex A
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
Definition at line 474 of file Triangle.h.
|
inlinestatic |
Compute twice the area of triangle in 2D
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
Definition at line 318 of file Triangle.h.
|
inlinestatic |
Compute maximum angle at triangle corners
Definition at line 365 of file Triangle.h.
|
inlinestatic |
Compute minimum angle at triangle vertices
Definition at line 357 of file Triangle.h.
|
inlinestatic |
Compute normal of triangle
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
[out] | n | Triangle normal vector. |
Definition at line 290 of file Triangle.h.
|
inlinestatic |
Compute normal direction of triangle
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
[out] | n | Non-normalized triangle normal vector. The length of the resulting vector equals twice the triangle area. |
Definition at line 281 of file Triangle.h.
|
inlinestatic |
Partial derivatives of normal direction w.r.t. position of vertex A
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
Definition at line 389 of file Triangle.h.
|
inlinestatic |
Partial derivatives of normal w.r.t. coordinates of vertex A
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
Definition at line 467 of file Triangle.h.
|
inlinestatic |
Partial derivatives of normal w.r.t. coordinates of vertex A
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
[in] | dn | Partial derivatives of normal direction vector. |
Definition at line 458 of file Triangle.h.
|
inlinestatic |
Partial derivatives of normal w.r.t. coordinates of vertex A
[in] | n | Triangle normal vector, i.e., normalized direction vector. |
[in] | dn | Partial derivatives of normal direction vector. |
Definition at line 435 of file Triangle.h.
|
inlinestatic |
Partial derivatives of normal w.r.t. coordinates of vertex A
[in] | n | Triangle normal vector, i.e., normalized direction vector. |
[in] | dn | Partial derivatives of normal direction vector. |
Definition at line 412 of file Triangle.h.
|
inlinestatic |
Compute area of triangle in 2D
[in] | a | Position of triangle vertex A. |
[in] | b | Position of triangle vertex B. |
[in] | c | Position of triangle vertex C. |
Definition at line 324 of file Triangle.h.