Public Member Functions |
int | add_face_manager (double x0, double y0, double z0, float rgb0, double x1, double y1, double z1, float rgb1, double x2, double y2, double z2, float rgb2, float face_weight, int provenience) |
int | add_face_to_mesh (CDT::Face_handle fti) |
int | add_face_to_mesh (double x0, double y0, double z0, float rgb0, double x1, double y1, double z1, float rgb1, double x2, double y2, double z2, float rgb2, float face_weight, int provenience) |
int | add_point_cloud (const pcl::PointCloud< pcl::PointXYZRGB > *pc, std::vector< float > *vweight, int provenience) |
int | add_point_manager (double x, double y, double z, float rgb, float weight, int provenience) |
int | add_vertex_manager (double x, double y, double z, float rgb, float weight, int provenience) |
int | add_vertex_to_mesh (double x, double y, double z, float rgb, float weight, int provenience) |
bool | are_there_at_least_two_vertices_with_equal_provenience_not_mine (Face_handle fh, int my_provenience) |
bool | at_least_one_vertice_has_infinite_provenience (Face_handle fh) |
bool | at_least_two_vertices_have_my_provenience (Face_handle fh, int my_provenience) |
bool | check_if_face_should_be_inserted (double x0, double y0, double z0, float rgb0, double x1, double y1, double z1, float rgb1, double x2, double y2, double z2, float rgb2, float face_weight, int provenience) |
| class_constrained_delaunay_triangulation (void) |
int | cleanup_isolated_vertices (void) |
int | cleanup_neighbours (Vertex_handle1 vh) |
int | clear_constraints (void) |
int | clear_vertices (void) |
int | compute_union (void) |
bool | do_face_vertices_have_equal_provenience (Face_handle fh, int *provenience=NULL) |
bool | equal (Point_2 p1, Point_2 p2) |
| Tests if two points are equal.
|
bool | equal_e (CGAL::Point_2< K_exact > p1, CGAL::Point_2< K_exact > p2) |
| Tests if two points are equal.
|
int | export_all_points_to_pc (void) |
int | export_points_to_pc (void) |
CDT::Face | face (double x0, double y0, double z0, float rgb0, double x1, double y1, double z1, float rgb1, double x2, double y2, double z2, float rgb2, float face_weight, int provenience) |
| Creates a CDT::Face from the all the input variables.
|
float | face_max_weight (Face_handle fh) |
int | filter_isolated_vertexes (void) |
float | get_face_average_weight (Face_handle fh) |
CDT::Face_handle | get_face_handle_from_t_face (t_face *f) |
int | get_intersecting_faces_list (double x0, double y0, double z0, float rgb0, double x1, double y1, double z1, float rgb1, double x2, double y2, double z2, float rgb2, float face_weight, int provenience) |
int | get_point_face_distances (double x, double y, Face_handle fh, double *dv0, double *dv1, double *dv2) |
int | get_point_face_proveniences (Face_handle fh, int *p0, int *p1, int *p2) |
int | get_seed_list_of_faces_for_tti (CDT::Face_handle fti, std::vector< CDT::Face_handle > *queue) |
| This method computes an initial list of faces to start the search from. It first sees if the average point of the tti is inside some face, if not it uses alternatives for all cases.
|
CDT::Vertex_handle | get_vertex_at (Point_2 p) |
bool | is_degenerate (double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2) |
| Checks if a triangle with vertices xyz0, xyz1 and xyz2 is degenerate.
|
int | iterate_intersecting_faces (CDT::Face_handle fti, int predicate_number) |
bool | overlaps (Point_2 *v0, Point_2 *v1, Point_2 *v2, Point_2 *p) |
| Tests whether a point p is inside or on the edges of triangle formed by vertices v0, v1 and v2.
|
bool | predicate_remove_intersecting_constraints (CDT::Face_handle fti, CDT::Face_handle fh) |
bool | predicate_remove_vertex (CDT::Face_handle fti, CDT::Face_handle fh) |
| Check if the face fh has any vertex inside fti.
|
bool | predicate_should_add_face (CDT::Face_handle fti, CDT::Face_handle fh) |
int | print_all_vertices (void) |
int | printf_face_info (CDT::Face_handle fh) |
int | project_triangulation_to_new_plane (pcl::ModelCoefficients::Ptr plane, tf::Transform tf) |
int | remove_constraint (CDT::Face_handle fh, int li) |
void | remove_face_vertexes_without_this_provenience (Face_handle fh, int provenience) |
int | remove_intersecting_constrained_edges (double x0, double y0, double z0, float rgb0, double x1, double y1, double z1, float rgb1, double x2, double y2, double z2, float rgb2, float face_weight, int provenience) |
int | remove_vertices_inside_triangle (double x0, double y0, double z0, float rgb0, double x1, double y1, double z1, float rgb1, double x2, double y2, double z2, float rgb2, float face_weight, int provenience) |
int | set_constraint_polygon (void) |
int | set_transform (tf::Transform *st) |
int | test_if_triangulation_is_valid (void) |
| Tests if the triangulation is valid or not. Usefull for indentifying broken triangulation data structures.
|
bool | triangles_overlap (Point_2 t0_p0, Point_2 t0_p1, Point_2 t0_p2, Point_2 t1_p0, Point_2 t1_p1, Point_2 t1_p2) |
| Tests if triangle 1 ovelaps with triangle 1.
|
| ~class_constrained_delaunay_triangulation (void) |
Public Attributes |
unsigned int | debug |
CDT | dt |
pcl::PointCloud< pcl::PointXYZRGB > | pc |
pcl::PointCloud< pcl::PointXYZ > | pc_constraints |
pcl::PointCloud< pcl::PointXYZ > | pc_faces_intersect |
pcl::PointCloud< pcl::PointXYZ > | pc_faces_visited |
std::vector< int > | pc_proveniences |
pcl::PointCloud< pcl::PointXYZ > | pc_vertices |
std::vector< size_t > | pc_vertices_indices |
class_polygon_intersection | pi |
std::vector< pcl::PointCloud
< pcl::PointXYZ > > | projection_union |
tf::Transform | transform |
std::vector< t_face > | vector_faces |
Private Member Functions |
void | discoverComponent (const CDT &ct, Face_handle start, int index, std::list< CDT::Edge > &border) |
void | discoverComponents (const CDT &ct) |
int | initialize_all_faces_status (void) |
int | initialize_visited (void) |
bool | segments_intersect_not_at_endpoints (CGAL::Segment_2< K_exact > seg1, CGAL::Segment_2< K_exact > seg2) |
| Tests if two line segments intersect.
|
Private Attributes |
size_t | index_count |