DCEL

Functions

void iso_surface(const Array<double> &Field, const double isovalue)
class DCEL
#include <dcel.h>

doubly connected edge list data structure

Public Functions

DCEL()
double EdgeAngle(int edge)
int face()
int Face(int index)
void LocalIsosurface(const DoubleArray &A, double value, int i, int j, int k)
double origin(int edge)
Point TriNormal(int edge)
void Write()
~DCEL()

Public Members

Halfedge halfedge
int TriangleCount
Vertex vertex
int VertexCount

Private Members

std::vector<int> FaceData
class Halfedge
#include <dcel.h>

store half edge for DCEL data structure

Public Functions

inline int &data(int i, int j)
inline const int &data(int i, int j) const
inline int face(int edge) const
Halfedge() = default
Halfedge(const Halfedge&) = delete
inline int next(int edge) const
Halfedge operator=(const Halfedge&) = delete
inline int prev(int edge) const
inline void resize(int N)
inline int size() const
inline int twin(int edge) const
inline int v1(int edge) const
inline int v2(int edge) const
~Halfedge() = default

Private Members

std::vector<std::array<int, 6>> d_data
class Vertex
#include <dcel.h>

store vertex for DCEL data structure

Public Functions

inline void add(const Point &P)
inline void assign(int idx, const Point &P)
inline Point &coords(int idx)
inline const Point &coords(int idx) const
int IncidentEdge()
Vertex operator=(const Vertex&) = delete
inline int size() const
inline Vertex()
Vertex(const Vertex&) = delete
~Vertex() = default

Private Members

std::vector<Point> d_data