Xmipp
v3.23.11-Nereus
|
#include "dcel.h"
#include "defines.h"
#include <errno.h>
#include <float.h>
#include <math.h>
#include "point.h"
#include "sorting.h"
#include <stdlib.h>
#include <string.h>
#include <time.h>
Go to the source code of this file.
Macros | |
#define | DEFAULT_CONVEX_HULL_LEN 20 |
Functions | |
void | print_Vertex (struct Dcel_Vertex_T *vertex) |
void | print_Edge (struct Dcel_Edge_T *edge) |
void | print_Face (struct Dcel_Face_T *face) |
int | get_Vertex_Index (struct DCEL_T *dcel, struct Point_T *point) |
int | in_Convex_Hull (struct DCEL_T *dcel, struct Dcel_Edge_T *edge) |
void | copy_Dcel (struct DCEL_T *in_Dcel, struct DCEL_T *out_Dcel) |
int | initialize_DCEL (struct DCEL_T *dcel, int nPoints, int nEdges, int nFaces) |
int | read_DCEL (struct DCEL_T *dcel, char *fileName) |
int | read_Points_Flat_File (struct DCEL_T *dcel, const char *fileName) |
int | write_DCEL (struct DCEL_T *dcel, int type, const char *fileName) |
void | print_DCEL (struct DCEL_T *dcel) |
void | reset_DCEL (struct DCEL_T *dcel) |
int | resize_DCEL (struct DCEL_T *dcel, enum Resize_DCEL_T resize_Type) |
void | check_DCEL_Data (struct DCEL_T *dcel) |
void | finalize_DCEL (struct DCEL_T *dcel) |
int | get_Number_Vertex (struct DCEL_T *dcel) |
int | insertPoint (struct DCEL_T *dcel, struct Point_T *point) |
int | insertVertex (struct DCEL_T *dcel, struct Dcel_Vertex_T vertex) |
int | insert_Vertex_At (struct DCEL_T *dcel, struct Dcel_Vertex_T vertex, int index) |
int | update_Vertex_Edge_At (struct DCEL_T *dcel, int edge_ID, int index) |
int | swap_Vertex (struct DCEL_T *dcel, int index1, int index2) |
struct Dcel_Vertex_T * | get_Vertex (struct DCEL_T *dcel, int index) |
struct Point_T * | get_Vertex_Point (struct DCEL_T *dcel, int index) |
int | get_Number_Edges (struct DCEL_T *dcel) |
int | get_Number_Real_Edges (struct DCEL_T *dcel) |
int | insertEdge (struct DCEL_T *dcel, int origin, int twin, int prev, int next, int face) |
int | update_Edge (struct DCEL_T *dcel, int origin, int twin, int prev, int next, int face, int index) |
int | are_Twins (struct DCEL_T *dcel, struct Dcel_Edge_T *edge1, struct Dcel_Edge_T *edge2) |
int | is_External_Edge (struct DCEL_T *dcel, int index) |
int | get_Edge_Origin_Vertex (struct DCEL_T *dcel, int edge_Index) |
int | get_Edge_In_Convex_Hull (struct DCEL_T *dcel, int firstEdge_Index) |
struct Dcel_Edge_T * | get_Edge (struct DCEL_T *dcel, int index) |
int | copy_Edge (struct DCEL_T *dcel, int index, struct Dcel_Edge_T *edge) |
int | get_Number_Faces (struct DCEL_T *dcel) |
int | insertFace (struct DCEL_T *dcel, int edge_ID) |
int | update_Face (struct DCEL_T *dcel, int edge_ID, int index) |
struct Dcel_Face_T * | get_Face (struct DCEL_T *dcel, int index) |
int | get_Face_Vertex (struct DCEL_T *dcel, int face_ID, struct Dcel_Vertex_T *v1, struct Dcel_Vertex_T *v2, struct Dcel_Vertex_T *v3) |
int | get_Number_Real_Faces (struct DCEL_T *dcel) |
void | get_Vertex_Of_Face (struct DCEL_T *dcel, int face, int *index1, int *index2, int *index3) |
bool | is_Interior_To_Face (struct DCEL_T *dcel, struct Point_T *p, int face_ID) |
int | is_Negative_Any_Vertex (struct DCEL_T *dcel, int edgeID) |
void | printFace (struct DCEL_T *dcel, int faceID) |
enum Turn_T | return_Turn (struct DCEL_T *dcel, struct Point_T *p, int source_ID, int dest_ID) |
void | shake_Dcel (struct DCEL_T *dcel) |
void | get_Extreme_Point (struct DCEL_T *dcel, int(*f)(struct Point_T *, struct Point_T *), struct Point_T *p) |
bool | get_Convex_Hull (struct DCEL_T *dcel, int *length, int *points) |
bool | is_Interior_To_Convex_Hull (struct DCEL_T *dcel, struct Point_T *p, bool *error) |
int | read_Points_DCEL (FILE *fd, int nPoints, struct DCEL_T *dcel) |
void | generate_Random_Points_DCEL (int nPoints, struct DCEL_T *dcel, TYPE maxX, TYPE maxY) |
void | generate_Cluster_Points_DCEL (int nPoints, struct DCEL_T *dcel, int nClusters, int radius, TYPE maxX, TYPE maxY) |
void | print_Dcel_Statistics (char *fileName, struct DCEL_T *dcel) |
void | shake_Points_DCEL (struct DCEL_T *dcel) |
int | set_Edge_Not_Checked (struct DCEL_T *dcel, int index, int *n) |
int are_Twins | ( | struct DCEL_T * | dcel, |
struct Dcel_Edge_T * | edge1, | ||
struct Dcel_Edge_T * | edge2 | ||
) |
void check_DCEL_Data | ( | struct DCEL_T * | dcel | ) |
Definition at line 578 of file dcel.cpp.
int copy_Edge | ( | struct DCEL_T * | dcel, |
int | index, | ||
struct Dcel_Edge_T * | edge | ||
) |
void finalize_DCEL | ( | struct DCEL_T * | dcel | ) |
void generate_Cluster_Points_DCEL | ( | int | nPoints, |
struct DCEL_T * | dcel, | ||
int | nClusters, | ||
int | radius, | ||
TYPE | maxX, | ||
TYPE | maxY | ||
) |
Definition at line 2250 of file dcel.cpp.
Definition at line 2187 of file dcel.cpp.
bool get_Convex_Hull | ( | struct DCEL_T * | dcel, |
int * | length, | ||
int * | points | ||
) |
struct Dcel_Edge_T* get_Edge | ( | struct DCEL_T * | dcel, |
int | index | ||
) |
int get_Edge_In_Convex_Hull | ( | struct DCEL_T * | dcel, |
int | firstEdge_Index | ||
) |
int get_Edge_Origin_Vertex | ( | struct DCEL_T * | dcel, |
int | edge_Index | ||
) |
void get_Extreme_Point | ( | struct DCEL_T * | dcel, |
int(*)(struct Point_T *, struct Point_T *) | f, | ||
struct Point_T * | p | ||
) |
struct Dcel_Face_T* get_Face | ( | struct DCEL_T * | dcel, |
int | index | ||
) |
int get_Face_Vertex | ( | struct DCEL_T * | dcel, |
int | face_ID, | ||
struct Dcel_Vertex_T * | v1, | ||
struct Dcel_Vertex_T * | v2, | ||
struct Dcel_Vertex_T * | v3 | ||
) |
Definition at line 1513 of file dcel.cpp.
int get_Number_Real_Faces | ( | struct DCEL_T * | dcel | ) |
struct Dcel_Vertex_T* get_Vertex | ( | struct DCEL_T * | dcel, |
int | index | ||
) |
void get_Vertex_Of_Face | ( | struct DCEL_T * | dcel, |
int | face, | ||
int * | index1, | ||
int * | index2, | ||
int * | index3 | ||
) |
int in_Convex_Hull | ( | struct DCEL_T * | dcel, |
struct Dcel_Edge_T * | edge | ||
) |
int initialize_DCEL | ( | struct DCEL_T * | dcel, |
int | nPoints, | ||
int | nEdges, | ||
int | nFaces | ||
) |
int insert_Vertex_At | ( | struct DCEL_T * | dcel, |
struct Dcel_Vertex_T | vertex, | ||
int | index | ||
) |
int insertEdge | ( | struct DCEL_T * | dcel, |
int | origin, | ||
int | twin, | ||
int | prev, | ||
int | next, | ||
int | face | ||
) |
Definition at line 998 of file dcel.cpp.
int insertFace | ( | struct DCEL_T * | dcel, |
int | edge_ID | ||
) |
Definition at line 1376 of file dcel.cpp.
Definition at line 656 of file dcel.cpp.
int insertVertex | ( | struct DCEL_T * | dcel, |
struct Dcel_Vertex_T | vertex | ||
) |
Definition at line 707 of file dcel.cpp.
Definition at line 2018 of file dcel.cpp.
Definition at line 1628 of file dcel.cpp.
int is_Negative_Any_Vertex | ( | struct DCEL_T * | dcel, |
int | edgeID | ||
) |
void print_Dcel_Statistics | ( | char * | fileName, |
struct DCEL_T * | dcel | ||
) |
Definition at line 2378 of file dcel.cpp.
void print_Edge | ( | struct Dcel_Edge_T * | edge | ) |
void print_Face | ( | struct Dcel_Face_T * | face | ) |
void print_Vertex | ( | struct Dcel_Vertex_T * | vertex | ) |
void printFace | ( | struct DCEL_T * | dcel, |
int | faceID | ||
) |
int read_DCEL | ( | struct DCEL_T * | dcel, |
char * | fileName | ||
) |
Definition at line 95 of file dcel.cpp.
int read_Points_DCEL | ( | FILE * | fd, |
int | nPoints, | ||
struct DCEL_T * | dcel | ||
) |
Definition at line 2100 of file dcel.cpp.
int read_Points_Flat_File | ( | struct DCEL_T * | dcel, |
const char * | fileName | ||
) |
Definition at line 239 of file dcel.cpp.
void reset_DCEL | ( | struct DCEL_T * | dcel | ) |
int resize_DCEL | ( | struct DCEL_T * | dcel, |
enum Resize_DCEL_T | resize_Type | ||
) |
Definition at line 1736 of file dcel.cpp.
int set_Edge_Not_Checked | ( | struct DCEL_T * | dcel, |
int | index, | ||
int * | n | ||
) |
int swap_Vertex | ( | struct DCEL_T * | dcel, |
int | index1, | ||
int | index2 | ||
) |
int update_Edge | ( | struct DCEL_T * | dcel, |
int | origin, | ||
int | twin, | ||
int | prev, | ||
int | next, | ||
int | face, | ||
int | index | ||
) |
int update_Face | ( | struct DCEL_T * | dcel, |
int | edge_ID, | ||
int | index | ||
) |
Definition at line 1428 of file dcel.cpp.
int update_Vertex_Edge_At | ( | struct DCEL_T * | dcel, |
int | edge_ID, | ||
int | index | ||
) |