EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
Loading...
Searching...
No Matches
Classes | Enumerations
EBGeometry::DCEL Namespace Reference

Namespace containing various double-connected edge list (DCEL) functionality. More...

Classes

class  EdgeIteratorT
 Half-edge iterator class for navigating the half edge mesh. More...
 
class  EdgeT
 Half-edge class for navigating a DCEL mesh. More...
 
class  FaceT
 Face class for navigating a DCEL mesh. More...
 
class  MeshT
 DCEL mesh class - stores a doubly-connected edge mesh. More...
 
class  VertexT
 Vertex class for navigating a DCEL mesh. More...
 

Enumerations

enum class  InsideOutsideAlgorithm { SubtendedAngle , CrossingNumber , WindingNumber }
 Supported algorithms for testing whether a point projects to the inside of a polygon face. More...
 

Detailed Description

Namespace containing various double-connected edge list (DCEL) functionality.

DCEL is short for doubly-connected edge list, and is data structure for navigating surface meshes.

Enumeration Type Documentation

◆ InsideOutsideAlgorithm

Supported algorithms for testing whether a point projects to the inside of a polygon face.

A 3D point projected onto a face's plane lies inside or outside the polygon; the test reduces to 2D by dropping the coordinate of the largest normal component (see FaceT). These are the well-known 2D inside/outside tests.

Enumerator
SubtendedAngle 

Sums the subtended angle of the point with each polygon edge; the point is inside if the sum is +-2*pi (360 degrees) and outside if it is 0.

CrossingNumber 

Casts a ray from the point along +x and counts how many times it crosses a polygon edge; the point is inside if the crossing count is odd (even-odd rule).

WindingNumber 

Computes the winding number of the polygon boundary around the point; the point is inside if the winding number is non-zero.