#include <constrained_delaunay_triangulation.h>
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 (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_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. More... | |
bool | equal_e (CGAL::Point_2< K_exact > p1, CGAL::Point_2< K_exact > p2) |
Tests if two points are equal. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
~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. More... | |
Private Attributes | |
size_t | index_count |
Definition at line 213 of file constrained_delaunay_triangulation.h.
|
inline |
Definition at line 216 of file constrained_delaunay_triangulation.h.
|
inline |
Definition at line 221 of file constrained_delaunay_triangulation.h.
int class_constrained_delaunay_triangulation::add_point_cloud | ( | const pcl::PointCloud< pcl::PointXYZRGB > * | pc, |
std::vector< float > * | vweight, | ||
int | provenience | ||
) |
int class_constrained_delaunay_triangulation::add_point_manager | ( | double | x, |
double | y, | ||
double | z, | ||
float | rgb, | ||
float | weight, | ||
int | provenience | ||
) |
int class_constrained_delaunay_triangulation::add_vertex_manager | ( | double | x, |
double | y, | ||
double | z, | ||
float | rgb, | ||
float | weight, | ||
int | provenience | ||
) |
int class_constrained_delaunay_triangulation::add_vertex_to_mesh | ( | double | x, |
double | y, | ||
double | z, | ||
float | rgb, | ||
float | weight, | ||
int | provenience | ||
) |
bool class_constrained_delaunay_triangulation::are_there_at_least_two_vertices_with_equal_provenience_not_mine | ( | Face_handle | fh, |
int | my_provenience | ||
) |
bool class_constrained_delaunay_triangulation::at_least_one_vertice_has_infinite_provenience | ( | Face_handle | fh | ) |
bool class_constrained_delaunay_triangulation::at_least_two_vertices_have_my_provenience | ( | Face_handle | fh, |
int | my_provenience | ||
) |
int class_constrained_delaunay_triangulation::cleanup_isolated_vertices | ( | void | ) |
int class_constrained_delaunay_triangulation::cleanup_neighbours | ( | Vertex_handle1 | vh | ) |
bool class_constrained_delaunay_triangulation::do_face_vertices_have_equal_provenience | ( | Face_handle | fh, |
int * | provenience = NULL |
||
) |
int class_constrained_delaunay_triangulation::export_all_points_to_pc | ( | void | ) |
float class_constrained_delaunay_triangulation::face_max_weight | ( | Face_handle | fh | ) |
int class_constrained_delaunay_triangulation::filter_isolated_vertexes | ( | void | ) |
float class_constrained_delaunay_triangulation::get_face_average_weight | ( | Face_handle | fh | ) |
int class_constrained_delaunay_triangulation::get_point_face_distances | ( | double | x, |
double | y, | ||
Face_handle | fh, | ||
double * | dv0, | ||
double * | dv1, | ||
double * | dv2 | ||
) |
int class_constrained_delaunay_triangulation::get_point_face_proveniences | ( | Face_handle | fh, |
int * | p0, | ||
int * | p1, | ||
int * | p2 | ||
) |
|
inlineprivate |
Definition at line 396 of file constrained_delaunay_triangulation.h.
|
inlineprivate |
Definition at line 406 of file constrained_delaunay_triangulation.h.
|
inline |
Definition at line 317 of file constrained_delaunay_triangulation.h.
int class_constrained_delaunay_triangulation::print_all_vertices | ( | void | ) |
void class_constrained_delaunay_triangulation::remove_face_vertexes_without_this_provenience | ( | Face_handle | fh, |
int | provenience | ||
) |
unsigned int class_constrained_delaunay_triangulation::debug |
Definition at line 369 of file constrained_delaunay_triangulation.h.
CDT class_constrained_delaunay_triangulation::dt |
Definition at line 374 of file constrained_delaunay_triangulation.h.
|
private |
Definition at line 388 of file constrained_delaunay_triangulation.h.
pcl::PointCloud<pcl::PointXYZRGB> class_constrained_delaunay_triangulation::pc |
Definition at line 376 of file constrained_delaunay_triangulation.h.
pcl::PointCloud<pcl::PointXYZ> class_constrained_delaunay_triangulation::pc_constraints |
Definition at line 377 of file constrained_delaunay_triangulation.h.
pcl::PointCloud<pcl::PointXYZ> class_constrained_delaunay_triangulation::pc_faces_intersect |
Definition at line 372 of file constrained_delaunay_triangulation.h.
pcl::PointCloud<pcl::PointXYZ> class_constrained_delaunay_triangulation::pc_faces_visited |
Definition at line 371 of file constrained_delaunay_triangulation.h.
std::vector<int> class_constrained_delaunay_triangulation::pc_proveniences |
Definition at line 378 of file constrained_delaunay_triangulation.h.
pcl::PointCloud<pcl::PointXYZ> class_constrained_delaunay_triangulation::pc_vertices |
Definition at line 381 of file constrained_delaunay_triangulation.h.
std::vector<size_t> class_constrained_delaunay_triangulation::pc_vertices_indices |
Definition at line 380 of file constrained_delaunay_triangulation.h.
class_polygon_intersection class_constrained_delaunay_triangulation::pi |
Definition at line 383 of file constrained_delaunay_triangulation.h.
std::vector<pcl::PointCloud<pcl::PointXYZ> > class_constrained_delaunay_triangulation::projection_union |
Definition at line 384 of file constrained_delaunay_triangulation.h.
tf::Transform class_constrained_delaunay_triangulation::transform |
Definition at line 375 of file constrained_delaunay_triangulation.h.
std::vector<t_face> class_constrained_delaunay_triangulation::vector_faces |
Definition at line 370 of file constrained_delaunay_triangulation.h.