FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

triangleFuncs Class Reference

Various triangle functions. More...

#include <meshTools/triangleFuncs.H>


Detailed Description

Various triangle functions.

Source files

Definition at line 55 of file triangleFuncs.H.

List of all members.

Public Types

enum  proxType { NONE, POINT, EDGE }
 

Enumeration defining nearness classification.

More...

Static Public Member Functions

static bool  intersectAxesBundle (const point &V0, const point &V10, const point &V20, const label i0, const pointField &origin, const scalar maxLength, point &pInter)
 Intersect triangle with parallel edges aligned with axis i0.
static bool  intersectBb (const point &p0, const point &p1, const point &p2, const treeBoundBox &cubeBb)
 Does triangle intersect bounding box.
static bool  intersect (const point &va0, const point &va10, const point &va20, const point &basePoint, const vector &normal, point &pInter0, point &pInter1)
 Does triangle intersect plane. Return bool and set intersection segment.
static bool  intersect (const point &va0, const point &va10, const point &va20, const point &vb0, const point &vb10, const point &vb20, point &pInter0, point &pInter1)
 Do triangles intersect. Return bool and set intersection segment.

Member Enumeration Documentation

enum proxType

Enumeration defining nearness classification.

Enumerator:
NONE 
POINT 
EDGE 

Definition at line 63 of file triangleFuncs.H.


Member Function Documentation

bool intersectAxesBundle ( const point &   V0,
const point &   V10,
const point &   V20,
const label   i0,
const pointField &   origin,
const scalar   maxLength,
point &   pInter  
) [static]

Intersect triangle with parallel edges aligned with axis i0.

Returns true (and intersection in pInter) if any of them intersects triangle. Used in intersectBb.

Definition at line 85 of file triangleFuncs.C.

References beta(), Foam::det(), forAll, Foam::mag(), v1, and v2.

bool intersectBb ( const point &   p0,
const point &   p1,
const point &   p2,
const treeBoundBox &   cubeBb  
) [static]
bool intersect ( const point &   va0,
const point &   va10,
const point &   va20,
const point &   basePoint,
const vector &   normal,
point &   pInter0,
point &   pInter1  
) [static]

Does triangle intersect plane. Return bool and set intersection segment.

Definition at line 526 of file triangleFuncs.C.

References Foam::mag(), and Foam::sqrt().

bool intersect ( const point &   va0,
const point &   va10,
const point &   va20,
const point &   vb0,
const point &   vb10,
const point &   vb20,
point &   pInter0,
point &   pInter1  
) [static]

Do triangles intersect. Return bool and set intersection segment.

Definition at line 644 of file triangleFuncs.C.

References SortableList< T >::indices(), Foam::mag(), and SortableList< T >::sort().


The documentation for this class was generated from the following files: