COVISE Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
covise::Triangulator Class Reference

#include <Triangulator.h>

Collaboration diagram for covise::Triangulator:
Collaboration graph
[legend]

Public Member Functions

 Triangulator (int size)
 
 ~Triangulator ()
 
int triangulate_polygon (int ncontours, int cntr[], double(*vertices)[2], int(*triangles)[3])
 

Static Public Member Functions

static int getTriangles (int numVert, float *x, float *y, int(*triangles)[3])
 

Public Attributes

bool _gotError
 

Private Member Functions

int newnode ()
 
int newtrap ()
 
int init_query_structure (int segnum)
 
int getSegSize ()
 
int getQSize ()
 
int getTRSize ()
 
bool is_left_of (int segnum, point_t &v)
 
bool inserted (int segnum, int whichpt)
 
int locate_endpoint (point_t &v, point_t &vo, int r)
 
int merge_trapezoids (int segnum, int tfirst, int tlast, int side)
 
int add_segment (int segnum)
 
int find_new_roots (int segnum)
 
int construct_trapezoids (int nseg)
 
int inside_polygon (trap_t &t)
 
int newmon ()
 
int new_chain_element ()
 
double get_angle (const point_t &vp0, const point_t &vpnext, const point_t &vp1)
 
int get_vertex_positions (int v0, int v1, int &ip, int &iq)
 
int make_new_monotone_poly (int mcur, int v0, int v1)
 
int monotonate_trapezoids (int n)
 
int traverse_polygon (int mcur, int trnum, int from, int dir)
 
int triangulate_monotone_polygons (int nvert, int nmonpoly, int op[][3])
 
int triangulate_single_polygon (int nvert, int posmax, int side, int op[][3])
 
int choose_segment ()
 
void initialize (int n)
 
void generate_random_ordering (int n)
 
bool isCCW (int size, double(*vertices)[2])
 
void revert (int size, double(*vertices)[2])
 
void makeCCW (int size, double(*vertices)[2])
 
void makeCW (int size, double(*vertices)[2])
 

Private Attributes

node_tqs
 
trap_ttr
 
segment_tseg
 
monchain_tmchain
 
vertexchain_tvert
 
int * mon
 
int * visited
 
int choose_idx
 
int * permute
 
int chain_idx
 
int op_idx
 
int mon_idx
 
int q_idx
 
int tr_idx
 
int _segsize
 

Constructor & Destructor Documentation

Triangulator::Triangulator ( int  size)
Triangulator::~Triangulator ( )

Member Function Documentation

int Triangulator::add_segment ( int  segnum)
private
int Triangulator::choose_segment ( )
private
int Triangulator::construct_trapezoids ( int  nseg)
private
int Triangulator::find_new_roots ( int  segnum)
private
void Triangulator::generate_random_ordering ( int  n)
private
double Triangulator::get_angle ( const point_t vp0,
const point_t vpnext,
const point_t vp1 
)
private
int Triangulator::get_vertex_positions ( int  v0,
int  v1,
int &  ip,
int &  iq 
)
private
int covise::Triangulator::getQSize ( )
inlineprivate
int covise::Triangulator::getSegSize ( )
inlineprivate
int Triangulator::getTriangles ( int  numVert,
float *  x,
float *  y,
int(*)  triangles[3] 
)
static
int covise::Triangulator::getTRSize ( )
inlineprivate
int Triangulator::init_query_structure ( int  segnum)
private
void Triangulator::initialize ( int  n)
private
bool Triangulator::inserted ( int  segnum,
int  whichpt 
)
private
int Triangulator::inside_polygon ( trap_t t)
private
bool Triangulator::is_left_of ( int  segnum,
point_t v 
)
private
bool Triangulator::isCCW ( int  size,
double(*)  vertices[2] 
)
private
int Triangulator::locate_endpoint ( point_t v,
point_t vo,
int  r 
)
private
int Triangulator::make_new_monotone_poly ( int  mcur,
int  v0,
int  v1 
)
private
void Triangulator::makeCCW ( int  size,
double(*)  vertices[2] 
)
private
void Triangulator::makeCW ( int  size,
double(*)  vertices[2] 
)
private
int Triangulator::merge_trapezoids ( int  segnum,
int  tfirst,
int  tlast,
int  side 
)
private
int Triangulator::monotonate_trapezoids ( int  n)
private
int Triangulator::new_chain_element ( )
private
int Triangulator::newmon ( )
private
int Triangulator::newnode ( )
private
int Triangulator::newtrap ( )
private
void Triangulator::revert ( int  size,
double(*)  vertices[2] 
)
private
int Triangulator::traverse_polygon ( int  mcur,
int  trnum,
int  from,
int  dir 
)
private
int Triangulator::triangulate_monotone_polygons ( int  nvert,
int  nmonpoly,
int  op[][3] 
)
private
int Triangulator::triangulate_polygon ( int  ncontours,
int  cntr[],
double(*)  vertices[2],
int(*)  triangles[3] 
)
int Triangulator::triangulate_single_polygon ( int  nvert,
int  posmax,
int  side,
int  op[][3] 
)
private

Member Data Documentation

bool covise::Triangulator::_gotError
int covise::Triangulator::_segsize
private
int covise::Triangulator::chain_idx
private
int covise::Triangulator::choose_idx
private
monchain_t* covise::Triangulator::mchain
private
int* covise::Triangulator::mon
private
int covise::Triangulator::mon_idx
private
int covise::Triangulator::op_idx
private
int* covise::Triangulator::permute
private
int covise::Triangulator::q_idx
private
node_t* covise::Triangulator::qs
private
segment_t* covise::Triangulator::seg
private
trap_t* covise::Triangulator::tr
private
int covise::Triangulator::tr_idx
private
vertexchain_t* covise::Triangulator::vert
private
int* covise::Triangulator::visited
private

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