pcb 4.1.1
An interactive printed circuit board layout editor.
|
#include "gts.h"
Go to the source code of this file.
Functions | |
static void | face_destroy (GtsObject *object) |
static void | face_clone (GtsObject *clone, GtsObject *object) |
static void | face_class_init (GtsFaceClass *klass) |
static void | face_init (GtsFace *face) |
GtsFaceClass * | gts_face_class (void) |
GtsFace * | gts_face_new (GtsFaceClass *klass, GtsEdge *e1, GtsEdge *e2, GtsEdge *e3) |
gboolean | gts_face_has_parent_surface (GtsFace *f, GtsSurface *s) |
GSList * | gts_faces_from_edges (GSList *edges, GtsSurface *s) |
guint | gts_face_neighbor_number (GtsFace *f, GtsSurface *s) |
GSList * | gts_face_neighbors (GtsFace *f, GtsSurface *s) |
void | gts_face_foreach_neighbor (GtsFace *f, GtsSurface *s, GtsFunc func, gpointer data) |
static gboolean | triangle_is_incompatible (GtsTriangle *t, GtsEdge *e, GtsSurface *s) |
gboolean | gts_face_is_compatible (GtsFace *f, GtsSurface *s) |
Variables | |
gboolean | gts_allow_floating_faces = FALSE |
static void face_class_init | ( | GtsFaceClass * | klass | ) | [static] |
Definition at line 47 of file face.c.
References face_clone(), face_destroy(), and GTS_OBJECT_CLASS.
Referenced by gts_face_class().
Definition at line 40 of file face.c.
References GTS_FACE, gts_face_class(), and GTS_OBJECT_CLASS.
Referenced by face_class_init().
static void face_destroy | ( | GtsObject * | object | ) | [static] |
Definition at line 24 of file face.c.
References GTS_FACE, gts_face_class(), GTS_OBJECT_CLASS, gts_surface_remove_face(), and _GtsFace::surfaces.
Referenced by face_class_init().
static void face_init | ( | GtsFace * | face | ) | [static] |
Definition at line 53 of file face.c.
References _GtsFace::surfaces.
Referenced by gts_face_class().
GtsFaceClass* gts_face_class | ( | void | ) |
gts_face_class:
Returns: the GtsFaceClass.
Definition at line 63 of file face.c.
References face_class_init(), face_init(), GTS_OBJECT_CLASS, gts_object_class_new(), and gts_triangle_class().
Referenced by build_cdt(), cface_expand(), delaunay_create_from_vertices(), face_clone(), face_destroy(), gts_list_face_class(), gts_nface_class(), and surface_init().
void gts_face_foreach_neighbor | ( | GtsFace * | f, |
GtsSurface * | s, | ||
GtsFunc | func, | ||
gpointer | data | ||
) |
gts_face_foreach_neighbor: : a GtsFace. : a GtsSurface or NULL. : a GtsFunc. : user data to pass to .
Calls for each neighbor of belonging to (if not NULL).
Definition at line 238 of file face.c.
References GTS_FACE, gts_face_has_parent_surface(), GTS_IS_FACE, and GTS_TRIANGLE.
Referenced by gts_surface_traverse_next().
gboolean gts_face_has_parent_surface | ( | GtsFace * | f, |
GtsSurface * | s | ||
) |
gts_face_has_parent_surface: : a GtsFace. : a GtsSurface.
Returns: TRUE if belongs to , FALSE otherwise.
Definition at line 111 of file face.c.
References FALSE, _GtsFace::surfaces, and TRUE.
Referenced by check_orientation(), create_edge(), edge_fan_list(), gts_delaunay_remove_vertex(), gts_edge_face_number(), gts_edge_has_parent_surface(), gts_edge_is_boundary(), gts_edge_is_encroached(), gts_edge_manifold_faces(), gts_edge_swap(), gts_face_foreach_neighbor(), gts_face_neighbor_number(), gts_face_neighbors(), gts_faces_from_edges(), gts_point_locate(), gts_surface_inter_boolean(), gts_surface_traverse_new(), gts_vertex_faces(), gts_vertex_fan_oriented(), gts_vertex_principal_directions(), neighbor(), next_compatible_face(), non_manifold_edges(), orientable_foreach_edge(), remove_intersected_vertex(), remove_triangles(), split_edge(), triangle_is_incompatible(), and vertex_encroaches().
gboolean gts_face_is_compatible | ( | GtsFace * | f, |
GtsSurface * | s | ||
) |
gts_face_is_compatible: : a GtsFace. : a GtsSurface.
Returns: TRUE if is compatible with all its neighbors belonging to , FALSE otherwise.
Definition at line 289 of file face.c.
References FALSE, GTS_TRIANGLE, and triangle_is_incompatible().
Referenced by stats_foreach_face().
guint gts_face_neighbor_number | ( | GtsFace * | f, |
GtsSurface * | s | ||
) |
gts_face_neighbor_number: : a GtsFace. : a GtsSurface or NULL.
Returns: the number of faces neighbors of and belonging to .
Definition at line 169 of file face.c.
References GTS_FACE, gts_face_has_parent_surface(), GTS_IS_FACE, and GTS_TRIANGLE.
GSList* gts_face_neighbors | ( | GtsFace * | f, |
GtsSurface * | s | ||
) |
gts_face_neighbors: : a GtsFace. : a GtsSurface or NULL.
Returns: a list of unique GtsFace neighbors of and belonging to .
Definition at line 203 of file face.c.
References GTS_FACE, gts_face_has_parent_surface(), GTS_IS_FACE, and GTS_TRIANGLE.
GtsFace* gts_face_new | ( | GtsFaceClass * | klass, |
GtsEdge * | e1, | ||
GtsEdge * | e2, | ||
GtsEdge * | e3 | ||
) |
gts_face_new: : a GtsFaceClass. : a GtsEdge. : a GtsEdge. : a GtsEdge.
Returns: a new GtsFace using , and as edges.
Definition at line 93 of file face.c.
References f, GTS_FACE, GTS_OBJECT_CLASS, gts_object_new(), GTS_TRIANGLE, and gts_triangle_set().
Referenced by add_face(), add_face_bcl(), build_cdt(), delaunay_create_from_vertices(), foreach_face_copy(), generate_icosahedron(), gts_cluster_grid_add_triangle(), gts_delaunay_add_vertex_to_face(), gts_edge_swap(), gts_isosurface_slice(), gts_surface_read(), midvertex_insertion(), surface_read(), swap_if_in_circle(), tessellate_face(), triangulate_loop(), and triangulate_polygon().
GSList* gts_faces_from_edges | ( | GSList * | edges, |
GtsSurface * | s | ||
) |
gts_faces_from_edges: : a list of GtsEdge. : a GtsSurface or NULL.
Builds a list of unique faces which belong to and have one of their edges in .
Returns: the list of faces.
Definition at line 136 of file face.c.
References GTS_EDGE, GTS_FACE, gts_face_has_parent_surface(), GTS_IS_FACE, and hash().
static gboolean triangle_is_incompatible | ( | GtsTriangle * | t, |
GtsEdge * | e, | ||
GtsSurface * | s | ||
) | [static] |
Definition at line 266 of file face.c.
References FALSE, gts_face_has_parent_surface(), GTS_IS_FACE, gts_triangles_are_compatible(), _GtsEdge::triangles, and TRUE.
Referenced by gts_face_is_compatible().
gboolean gts_allow_floating_faces = FALSE |
Definition at line 22 of file face.c.
Referenced by destroy_foreach_face(), foreach_face_remove(), gts_surface_remove_face(), and remove_intersected_vertex().