libsurf
Programmer's Documentation

Public Member Functions | Static Public Member Functions | List of all members
DcPlaneGeometry Class Reference

Detailed Description

Plane geometry for use with DelaunayCore.

The simplest form of geometry representation is defined in a plane only.

See Also
DelaunayCore

#include <dcplanegeometry.h>

Inheritance diagram for DcPlaneGeometry:
[legend]
Collaboration diagram for DcPlaneGeometry:
[legend]

Public Member Functions

 DcPlaneGeometry (Real qmin, Real qmax)
 empty geometry for fixed coordinate range
 
void sortPolar (const DcEdge *pe, Indices &c) const
 sort points in polar order with respect to edge pe
 
Vct2 circumCenter (const uint *vi) const
 compute circumcenter of triangle vi
 
- Public Member Functions inherited from DcGeometry
 DcGeometry (Real stmin=-0.1, Real stmax=1.1)
 construct with default quantization range
 
virtual ~DcGeometry ()
 virtual destructor
 
virtual void reserve (uint n)
 pre-allocate space for n vertices
 
void quantRange (Real stmin, Real stmax)
 change quantization range
 
Real pointTolerance () const
 access squared min distance between points
 
void pointTolerance (Real sqd)
 set squared min distance between points
 
uint stInsertVertex (const Vct2 &pst)
 append vertex (s-t space)
 
const PointList< 2 > & stVertices () const
 access s-t vertices
 
const Vct2 & stVertex (uint k) const
 access s-t vertex
 
Vct2 & stVertex (uint k)
 access s-t vertex
 
void assign (const PointList< 2 > &pts)
 assign/copy vertex set
 
virtual int orientation (uint a, uint b, uint c) const
 evaluate whether a, b, c occur in counterclockwise order
 
int orientChanged (const uint vi[], uint a, const Vct2 &pa) const
 determine how the orientation changes when a is moved to pa
 
virtual int edgesIntersect (uint as, uint at, uint bs, uint bt) const
 check whether edge (as,at) intersects (bs,bt)
 
virtual void insertFace (const DelaunayCore &core, uint f)
 add a face to triangle search data structure (empty)
 
size_t insertFace (uint f, const uint vix[])
 add a face to triangle search data structure
 
virtual void eraseFace (const DelaunayCore &core, uint f)
 remove face from search data structure (empty)
 
bool eraseFace (uint, const uint vix[])
 remove face from search data structure
 
bool eraseFaceKey (size_t key)
 given its key, erase face from map
 
virtual bool encroaches (const DelaunayCore &core, const uint vf[], uint v) const
 encroachment criterion
 
virtual bool encroachesEdge (uint src, uint trg, uint v) const
 true if vertex encroaches ball around protected edge
 
virtual int locateTriangle (const DelaunayCore &core, uint v, uint &nearest) const
 locate triangle in which to find v (empty)
 
void remapFaces (const DelaunayCore &core)
 recompute z-ordering of all faces following vertex smoothing pass
 
virtual void clear ()
 clear out everything
 
uint calls () const
 
uint iterations () const
 

Static Public Member Functions

static Vct2 circumCenter (const PointList< 2 > &pts, const uint *vi)
 compute circumcenter of triangle vi
 
- Static Public Member Functions inherited from DcGeometry
static int orientationPlanar (const Vct2 &pa, const Vct2 &pb, const Vct2 &pc)
 planar orientation test
 
static bool encroachCircle (const Vct2 &p0, const Vct2 &p1, const Vct2 &p2, const Vct2 &ptest)
 planar encroachment test
 
template<uint ND>
static bool encroachesBall (const SVector< ND > &ps, const SVector< ND > &pt, const SVector< ND > &v)
 point inside smallest ball touching ps and pt?
 

Additional Inherited Members

- Public Types inherited from DcGeometry
enum  Orient { Clockwise, Colinear, CounterClockwise }
 
enum  PointLoc {
  Inside, Outside, OnEdge1, OnEdge2,
  OnEdge3, OnVertex1, OnVertex2, OnVertex3,
  BeyondEdge1, BeyondEdge2, BeyondEdge3
}
 
enum  EdgeIntersection { NoEdgeIntersection = 0, EdgesIntersect, EdgesTouch, EdgesColinear }
 
- Protected Member Functions inherited from DcGeometry
size_t mortonKey (const uint vix[]) const
 compute Morton key for center of triangle with vertices vix[]
 
int walkEdge (const DelaunayCore &core, const Vct2 &pt, uint &iface) const
 
- Protected Attributes inherited from DcGeometry
PointList< 2 > m_st
 vertices in the definition plane
 
DcIndexMap m_fmap
 keep sorted ordering of faces
 
Real m_qoffset
 quantization parameters
 
Real m_qscale
 
Real m_sqptsize
 squared distance at which two points are considered identical
 
uint ncall
 call statistics
 
uint niter
 

The documentation for this class was generated from the following files:
Generated on Wed Jan 19 2022 03:03:16 for libsurf by   doxygen 1.8.5