12 #define EXTERNAL_FACE 0 19 #define CONVEX_HULL_LEN_FACTOR 1 97 int insertEdge(
struct DCEL_T *dcel,
int origin,
int twin,
int prev,
int next,
int face);
140 int nClusters,
int radius,
TYPE maxX,
TYPE maxY);
142 #define DCEL_STATISTICS 143 #ifdef DCEL_STATISTICS bool get_Convex_Hull(struct DCEL_T *dcel, int *length, int *edges)
void print_Dcel_Statistics(char *fileName, struct DCEL_T *dcel)
int get_Number_Vertex(struct DCEL_T *dcel)
void generate_Random_Points_DCEL(int nPoints, struct DCEL_T *dcel, TYPE maxX, TYPE maxY)
int resize_DCEL(struct DCEL_T *dcel, enum Resize_DCEL_T resize_Type)
void check_DCEL_Data(struct DCEL_T *dcel)
int update_Edge(struct DCEL_T *dcel, int origin, int twin, int prev, int next, int face, int index)
void shake_Points_DCEL(struct DCEL_T *dcel)
struct Dcel_Face_T * get_Face(struct DCEL_T *dcel, int index)
int read_Points_DCEL(FILE *fd, int nPoints, struct DCEL_T *dcel)
int insertPoint(struct DCEL_T *dcel, struct Point_T *point)
void print_DCEL(struct DCEL_T *dcel)
void printFace(struct DCEL_T *dcel, int faceID)
int are_Twins(struct DCEL_T *dcel, struct Dcel_Edge_T *edge1, struct Dcel_Edge_T *edge2)
int swap_Vertex(struct DCEL_T *dcel, int index1, int index2)
int get_Number_Real_Faces(struct DCEL_T *dcel)
void get_Extreme_Point(struct DCEL_T *dcel, int(*f)(struct Point_T *, struct Point_T *), struct Point_T *p)
void generate_Cluster_Points_DCEL(int nPoints, struct DCEL_T *dcel, int nClusters, int radius, TYPE maxX, TYPE maxY)
int update_Face(struct DCEL_T *dcel, int edge_ID, int index)
struct Dcel_Edge_T * get_Edge(struct DCEL_T *dcel, int index)
int write_DCEL(struct DCEL_T *dcel, int type, const char *fileName)
int get_Number_Faces(struct DCEL_T *dcel)
struct Point_T * get_Vertex_Point(struct DCEL_T *dcel, int index)
int get_Edge_Origin_Vertex(struct DCEL_T *dcel, int edge_Index)
bool is_Interior_To_Convex_Hull(struct DCEL_T *dcel, struct Point_T *p, bool *error)
void copy_Dcel(struct DCEL_T *in_dcel, struct DCEL_T *out_dcel)
struct Dcel_Vertex_T * get_Vertex(struct DCEL_T *dcel, int index)
struct Dcel_Edge_T * edges
int insertFace(struct DCEL_T *dcel, int edge_ID)
int read_DCEL(struct DCEL_T *dcel, char *fileName)
int is_External_Edge(struct DCEL_T *dcel, int index)
int get_Number_Edges(struct DCEL_T *dcel)
int copy_Edge(struct DCEL_T *dcel, int index, struct Dcel_Edge_T *edge)
__host__ __device__ float length(float2 v)
int get_Number_Real_Edges(struct DCEL_T *dcel)
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 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 get_Edge_In_Convex_Hull(struct DCEL_T *dcel, int faceID)
struct Dcel_Vertex_T * vertex
void finalize_DCEL(struct DCEL_T *dcel)
enum Turn_T return_Turn(struct DCEL_T *dcel, struct Point_T *p, int source_ID, int dest_ID)
int insertEdge(struct DCEL_T *dcel, int origin, int twin, int prev, int next, int face)
void get_Vertex_Of_Face(struct DCEL_T *dcel, int face, int *index1, int *index2, int *index3)
int set_Edge_Not_Checked(struct DCEL_T *dcel, int index, int *n)
int is_Negative_Any_Vertex(struct DCEL_T *dcel, int edge_Index)
bool is_Interior_To_Face(struct DCEL_T *dcel, struct Point_T *p, int face)
void reset_DCEL(struct DCEL_T *dcel)
void shake_Dcel(struct DCEL_T *dcel)
struct Dcel_Face_T * faces
int read_Points_Flat_File(struct DCEL_T *dcel, const char *fileName)
int initialize_DCEL(struct DCEL_T *dcel, int nPoints, int nEdges, int nFaces)
int update_Vertex_Edge_At(struct DCEL_T *dcel, int edge_ID, int index)