#include <Overlay.h>
Public Types | |
typedef Overlay | Self |
typedef HDS_overlay | HDS |
typedef RFC_Window_overlay::Vertex | Vertex |
typedef RFC_Window_overlay::Halfedge | Halfedge |
typedef RFC_Window_overlay::Facet | Facet |
typedef std::pair< const Halfedge *, const Halfedge * > | Parent_pair |
typedef std::list< const INode * > | INode_const_list |
typedef std::vector< const INode * > | Subface |
typedef std::list< Subface > | Subface_list |
typedef RFC_Window_overlay::Feature_0 | Feature_0 |
typedef RFC_Window_overlay::Feature_1 | Feature_1 |
typedef RFC_Window_overlay::Feature_list_0 | Feature_list_0 |
typedef RFC_Window_overlay::Feature_list_1 | Feature_list_1 |
Public Member Functions | |
Overlay (const COM::Window *w1, const COM::Window *w2, const char *pre) | |
~Overlay () | |
int | overlay () |
void | set_tolerance (double tol) |
RFC_Window_overlay * | get_rfc_window (const COM::Window *w) |
const RFC_Window_overlay * | get_rfc_window (const COM::Window *w) const |
RFC_Window_overlay * | get_blue_window () |
RFC_Window_overlay * | get_green_window () |
const RFC_Window_overlay * | get_blue_window () const |
const RFC_Window_overlay * | get_green_window () const |
void | get_inodes_of_face (const Facet *f, INode_const_list &nodes) |
Halfedge * | get_parent_face (const Subface &sf, int color) |
bool | subdivide (const INode_const_list &face, INode_const_list::const_iterator last_checked, Subface_list &sub_faces, int color, int depth=0) const |
Point_2 | get_nat_coor (const INode &i, const Generic_element &e, const Halfedge *h, int color) const |
void | export_windows (RFC_Window_base *, RFC_Window_base *) |
Export the subdivisions to the two given windows. More... | |
void | write_inodes_tec (std::ostream &os, const char *color) |
void | write_inodes_vec (std::ostream &os) |
void | write_overlay_tec (std::ostream &, const COM::Window *) |
void | write_overlay_off (std::ostream &, const COM::Window *) |
Protected Attributes | |
RFC_Window_overlay * | B |
RFC_Window_overlay * | G |
std::list< INode * > | inodes |
Overlay_primitives | op |
HDS_accessor< Tag_true > | acc |
bool | is_opposite |
bool | verbose |
bool | verbose2 |
std::string | out_pre |
Real | eps_e |
Real | eps_p |
Private Member Functions | |
void | set_subnode_id (INode *i, int color, int pane_id, int l_id) |
int | get_subnode_id (const INode *i, int color, int pane_id) const |
int | get_subnode_copies (const INode *i, int color) const |
void | convert_nat_coordinates (const INode *i, Halfedge *h, int color, int pane_id, int &lid, RFC_Pane_overlay::Edge_ID &eid, Point_2 &nc) const |
void | number_a_subnode (INode *i, int color, std::map< int, std::pair< int, int > > &cnts) |
void | count_subnodes (INode *i, int color, std::map< int, std::pair< int, int > > &cnts) |
void | number_subnodes () |
void | number_subfaces () |
void | insert_edge_into_queue (Halfedge *h, INode *v, std::queue< Halfedge * > &q, std::queue< Halfedge * > &q_rdg, std::queue< Halfedge * > &q_crn) |
bool | is_queue_empty (std::queue< Halfedge * > &q, std::queue< Halfedge * > &q_rdg, std::queue< Halfedge * > &q_crn) |
Real | sq_length (const Halfedge &h) const |
const INode * | get_next_inode (const INode *v1, const INode *v2, int) const |
std::pair< const INode *, const Halfedge * > | get_next_inode_ccw (const INode *v0, const INode *v1, int color) const |
std::pair< const INode *, const Halfedge * > | get_next_inode_cw (const INode *v0, const INode *v1, int color) const |
bool | logical_xor (bool a, bool b) const |
Private Attributes | |
std::vector< Node_ID > | _subnode_ids_b |
std::vector< Node_ID > | _subnode_ids_g |
std::vector< char > | _subnode_copies_b |
std::vector< char > | _subnode_copies_g |
std::map< int, std::map< int, int > > | _subnode_imap_b |
std::map< int, std::map< int, int > > | _subnode_imap_g |
typedef RFC_Window_overlay::Facet Facet |
typedef RFC_Window_overlay::Halfedge Halfedge |
typedef HDS_overlay HDS |
typedef std::list< const INode *> INode_const_list |
typedef std::pair< const Halfedge*, const Halfedge*> Parent_pair |
typedef std::list< Subface > Subface_list |
typedef RFC_Window_overlay::Vertex Vertex |
RFC_BEGIN_NAME_SPACE Overlay | ( | const COM::Window * | w1, |
const COM::Window * | w2, | ||
const char * | pre | ||
) |
|
protected |
Definition at line 898 of file Overlay.C.
References acc, B, In_place_list_n< T, managed >::begin(), COM_assertion, In_place_list_n< T, managed >::empty(), In_place_list_n< T, managed >::end(), HDS_accessor< _MP >::get_halfedge(), HDS_accessor< _MP >::get_inode(), HDS_accessor< _MP >::get_inode_list(), HDS_accessor< _MP >::get_next(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), GREEN, i, HDS_accessor< _MP >::is_border(), RFC_Window_derived< _Pane >::panes(), PARENT_FACE, INode::parent_type(), project_adjacent_green_vertices(), In_place_list_n< T, managed >::rbegin(), In_place_list_n< T, managed >::rend(), and v.
Referenced by overlay().
|
protected |
Definition at line 1488 of file Overlay.C.
References acc, HDS_accessor< _MP >::get_destination(), HDS_accessor< _MP >::get_facet(), HDS_accessor< _MP >::get_next(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), PARENT_EDGE, PARENT_FACE, PARENT_VERTEX, RFC_assertion, and RFC_precondition.
Referenced by get_edge_parent(), get_next_inode(), get_parent_face(), insert_node_in_blue_edge(), intersect_link(), intersect_link_helper(), project_adjacent_green_vertices(), and verify_inode().
|
private |
Retrieve the local id within a given pane for a given subnode.
Definition at line 123 of file Overlay_IO.C.
References acc, B, RFC_Pane_base::base(), BLUE, Halfedge_overlay::destination(), RFC_Pane_base::Edge_ID::edge_id, RFC_Pane_base::Edge_ID::face_id, Halfedge_overlay::facet(), G, RFC_Pane_overlay::get_lid(), RFC_Pane_base::get_lvid(), HDS_accessor< _MP >::get_pane(), get_subnode_id(), INode::halfedge(), INode::nat_coor(), Halfedge_overlay::next(), RFC_Pane_base::normalize_nat_coor(), Halfedge_overlay::origin(), PARENT_FACE, INode::parent_type(), PARENT_VERTEX, RFC_assertion, and RFC_assertion_code.
Referenced by number_subfaces().
|
inlineprotected |
Definition at line 224 of file Overlay.h.
References i, and Halfedge_overlay::next().
Referenced by insert_node_in_blue_edge(), and number_subfaces().
|
private |
Definition at line 212 of file Overlay_IO.C.
References acc, HDS_accessor< _MP >::get_next_around_origin(), HDS_accessor< _MP >::get_pane(), Vertex_overlay::halfedge(), INode::halfedge(), RFC_Pane_base::id(), Halfedge_overlay::is_border(), Halfedge_overlay::origin(), INode::parent_type(), and PARENT_VERTEX.
Referenced by number_subnodes().
void export_windows | ( | RFC_Window_base * | bw, |
RFC_Window_base * | gw | ||
) |
Export the subdivisions to the two given windows.
Definition at line 455 of file Overlay_IO.C.
References B, RFC_Window_base::export_window(), and G.
|
inline |
|
inline |
|
protected |
Definition at line 1464 of file Overlay.C.
References acc, get_edge_parent(), HDS_accessor< _MP >::get_opposite(), Host_face::halfedge(), HDS_accessor< _MP >::is_border(), PARENT_EDGE, PARENT_FACE, Host_face::parent_type(), and RFC_assertion.
Definition at line 1393 of file Overlay.C.
References acc, contains(), HDS_accessor< _MP >::get_destination(), HDS_accessor< _MP >::get_next_around_origin(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), INode::halfedge(), HDS_accessor< _MP >::is_border(), INode::nat_coor(), PARENT_EDGE, PARENT_FACE, PARENT_NONE, INode::parent_type(), PARENT_VERTEX, and RFC_assertion.
Referenced by get_edge_pair_parents(), get_next_inode(), get_next_inode_ccw(), get_next_inode_cw(), get_parent_face(), and intersect_blue_with_green().
|
protected |
Definition at line 101 of file Overlay_init.C.
References NTS::abs(), acc, eps_e, G, Overlay_primitives::get_face_normal(), HDS_accessor< _MP >::get_halfedge(), HDS_accessor< _MP >::get_next(), RFC_Pane_overlay::get_normal(), HDS_accessor< _MP >::get_normal(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_pane(), RFC_Pane_overlay::get_point(), Overlay_primitives::get_point(), RFC_Pane_overlay::hds(), HDS_accessor< _MP >::is_border(), is_opposite, HDS_accessor< _MP >::is_primary(), HDS_accessor< _MP >::mark(), HDS_accessor< _MP >::marked(), op, RFC_Window_derived< _Pane >::panes(), PARENT_NONE, Overlay_primitives::project_onto_element(), q, RFC_assertion, sq_length(), and HDS_accessor< _MP >::unmark().
Referenced by overlay_init().
|
inline |
|
inline |
void get_inodes_of_face | ( | const Facet * | f, |
INode_const_list & | nodes | ||
) |
Definition at line 1922 of file Overlay.C.
References acc, In_place_list_n< T, managed >::begin(), In_place_list_n< T, managed >::empty(), In_place_list_n< T, managed >::end(), HDS_accessor< _MP >::get_halfedge(), HDS_accessor< _MP >::get_inode(), HDS_accessor< _MP >::get_inode_list(), HDS_accessor< _MP >::get_next(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), i, Halfedge_overlay::is_border(), HDS_accessor< _MP >::is_border(), In_place_list_n< T, managed >::rbegin(), In_place_list_n< T, managed >::rend(), and v.
Referenced by number_subfaces(), write_overlay_off(), and write_overlay_tec().
Point_2 get_nat_coor | ( | const INode & | i, |
const Generic_element & | e, | ||
const Halfedge * | h, | ||
int | color | ||
) | const |
Definition at line 1854 of file Overlay.C.
References acc, Halfedge_overlay::facet(), HDS_accessor< _MP >::get_next(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), INode::halfedge(), HDS_accessor< _MP >::is_border(), INode::nat_coor(), Halfedge_overlay::next(), PARENT_EDGE, INode::parent_type(), PARENT_VERTEX, Halfedge_overlay::prev(), RFC_assertion, and v.
Referenced by insert_node_in_blue_edge(), and number_subfaces().
Definition at line 1728 of file Overlay.C.
References acc, contains(), get_edge_parent(), get_next_inode_ccw(), get_next_inode_cw(), Host_face::halfedge(), HDS_accessor< _MP >::is_border(), is_opposite, PARENT_FACE, and Host_face::parent_type().
Referenced by subdivide().
|
private |
Definition at line 1585 of file Overlay.C.
References acc, In_place_list_n< T, managed >::back(), In_place_list_n< T, managed >::empty(), Halfedge_overlay::facet(), In_place_list_n< T, managed >::front(), HDS_accessor< _MP >::get_destination(), get_edge_parent(), HDS_accessor< _MP >::get_inode(), HDS_accessor< _MP >::get_inode_list(), HDS_accessor< _MP >::get_next_around_origin(), HDS_accessor< _MP >::get_opposite(), Host_face::halfedge(), INode::halfedge(), In_place_list_n_base< T, n >::next_link, PARENT_EDGE, PARENT_FACE, Host_face::parent_type(), INode::parent_type(), PARENT_VERTEX, In_place_list_n_base< T, n >::prev_link, and RFC_assertion.
Referenced by get_next_inode().
|
private |
Definition at line 1655 of file Overlay.C.
References acc, In_place_list_n< T, managed >::back(), In_place_list_n< T, managed >::empty(), Halfedge_overlay::facet(), In_place_list_n< T, managed >::front(), get_edge_parent(), HDS_accessor< _MP >::get_inode(), HDS_accessor< _MP >::get_inode_list(), HDS_accessor< _MP >::get_next_around_origin(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), Host_face::halfedge(), INode::halfedge(), j, In_place_list_n_base< T, n >::next_link, PARENT_EDGE, PARENT_FACE, Host_face::parent_type(), INode::parent_type(), PARENT_VERTEX, Halfedge_overlay::prev(), In_place_list_n_base< T, n >::prev_link, and RFC_assertion.
Referenced by get_next_inode().
Overlay::Halfedge * get_parent_face | ( | const Subface & | sf, |
int | color | ||
) |
Definition at line 1841 of file Overlay.C.
References acc, contains(), get_edge_parent(), HDS_accessor< _MP >::get_opposite(), PARENT_FACE, and RFC_assertion.
Referenced by number_subfaces().
|
inline |
Definition at line 84 of file Overlay.h.
References B, RFC_Window_base::base(), and G.
|
inline |
Definition at line 86 of file Overlay.h.
References B, RFC_Window_base::base(), and G.
|
private |
Retrieve the number of copies for a given subnode.
Definition at line 107 of file Overlay_IO.C.
References _subnode_copies_b, _subnode_copies_g, BLUE, GREEN, INode::id(), and RFC_assertion.
|
private |
Retrieve the local id within a given pane for a given subnode.
Definition at line 83 of file Overlay_IO.C.
References _subnode_ids_b, _subnode_ids_g, _subnode_imap_b, _subnode_imap_g, BLUE, GREEN, INode::id(), Node_ID::node_id, Node_ID::pane_id, and RFC_assertion.
Referenced by convert_nat_coordinates().
|
private |
Definition at line 486 of file Overlay.C.
References acc, Halfedge_overlay::destination(), HDS_accessor< _MP >::get_opposite(), GREEN, INode::halfedge(), HDS_accessor< _MP >::is_border(), HDS_accessor< _MP >::is_feature_0(), HDS_accessor< _MP >::is_feature_1(), HDS_accessor< _MP >::is_on_feature(), HDS_accessor< _MP >::mark(), HDS_accessor< _MP >::marked(), Halfedge_overlay::origin(), PARENT_EDGE, INode::parent_type(), and PARENT_VERTEX.
Referenced by intersect_blue_with_green().
Definition at line 187 of file Overlay.C.
References NTS::abs(), acc, In_place_list_n< T, managed >::back(), BLUE, contains(), count_edges(), Halfedge_overlay::destination(), dist(), In_place_list_n< T, managed >::empty(), eps_e, In_place_list_n< T, managed >::front(), RFC_Pane_overlay::get_index(), HDS_accessor< _MP >::get_inode(), HDS_accessor< _MP >::get_inode_list(), get_nat_coor(), HDS_accessor< _MP >::get_next(), HDS_accessor< _MP >::get_next_around_origin(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), HDS_accessor< _MP >::get_pane(), Overlay_primitives::get_point(), GREEN, INode::halfedge(), i, RFC_Pane_base::id(), HDS_accessor< _MP >::is_border(), INode::nat_coor(), Halfedge_overlay::next(), op, Halfedge_overlay::origin(), PARENT_EDGE, PARENT_FACE, INode::parent_type(), PARENT_VERTEX, Vertex_overlay::point(), In_place_list_n< T, managed >::pop_back(), In_place_list_n< T, managed >::pop_front(), RFC_assertion, HDS_accessor< _MP >::set_inode(), INode::set_parent(), sqrt(), verbose, and x.
Referenced by intersect_blue_with_green(), match_features_0(), and project_next_vertex().
|
protected |
Definition at line 856 of file Overlay.C.
References acc, HDS_accessor< _MP >::get_buffered_inode(), HDS_accessor< _MP >::get_inode(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), GREEN, INode::halfedge(), HDS_accessor< _MP >::is_border(), INode::nat_coor(), In_place_list_n_base< T, n >::next_link, PARENT_EDGE, PARENT_FACE, INode::parent_type(), PARENT_VERTEX, In_place_list_n_base< T, n >::prev_link, RFC_assertion, HDS_accessor< _MP >::set_buffered_inode(), INode::set_parent(), v, x, and y.
Referenced by sort_on_green_edges().
|
protected |
Definition at line 572 of file Overlay.C.
References acc, B, In_place_list_n< T, managed >::begin(), BLUE, Halfedge_overlay::destination(), In_place_list_n< T, managed >::empty(), In_place_list_n< T, managed >::end(), eps_e, In_place_list_n< T, managed >::front(), HDS_accessor< _MP >::get_destination(), get_edge_parent(), RFC_Pane_overlay::get_index(), HDS_accessor< _MP >::get_inode(), HDS_accessor< _MP >::get_inode_list(), HDS_accessor< _MP >::get_next(), HDS_accessor< _MP >::get_next_around_origin(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), HDS_accessor< _MP >::get_pane(), GREEN, INode::halfedge(), i, RFC_Pane_base::id(), insert_edge_into_queue(), insert_node_in_blue_edge(), intersect_link(), HDS_accessor< _MP >::is_border(), HDS_accessor< _MP >::is_feature_1(), RFC_Pane_overlay::is_feature_1(), HDS_accessor< _MP >::is_on_feature(), is_opposite, is_queue_empty(), INode::nat_coor(), Halfedge_overlay::next(), op, Halfedge_overlay::origin(), overlay_init(), PARENT_EDGE, PARENT_NONE, INode::parent_type(), PARENT_VERTEX, Vertex_overlay::point(), In_place_list_n< T, managed >::pop_front(), Overlay_primitives::project_onto_element(), In_place_list_n< T, managed >::push_front(), q, RFC_assertion, INode::set_parent(), Overlay_primitives::snap_blue_ridge_edge(), Overlay_primitives::snap_blue_ridge_vertex(), RFC_Window_overlay::unmark_alledges(), verbose, and x.
Referenced by overlay().
|
protected |
Definition at line 1251 of file Overlay.C.
References acc, contains(), Halfedge_overlay::destination(), RFC_Pane_overlay::get_index(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), HDS_accessor< _MP >::get_pane(), HDS_accessor< _MP >::get_prev(), RFC_Pane_base::id(), intersect_link_helper(), intersect_link_helper2(), Halfedge_overlay::is_border(), HDS_accessor< _MP >::is_border(), HDS_accessor< _MP >::is_feature_1(), Halfedge_overlay::next(), Halfedge_overlay::origin(), PARENT_EDGE, PARENT_FACE, PARENT_VERTEX, Vertex_overlay::point(), Halfedge_overlay::prev(), RFC_assertion, and v.
Referenced by intersect_blue_with_green().
|
protected |
Definition at line 1058 of file Overlay.C.
References NTS::abs(), acc, contains(), Halfedge_overlay::destination(), do_intersect(), eps_e, eps_p, Halfedge_overlay::facet(), HDS_accessor< _MP >::get_destination(), HDS_accessor< _MP >::get_next(), HDS_accessor< _MP >::get_origin(), Overlay_primitives::intersect(), Halfedge_overlay::is_border(), is_opposite, Halfedge_overlay::next(), Overlay_primitives::normalmatch(), op, Halfedge_overlay::origin(), PARENT_EDGE, PARENT_FACE, PARENT_VERTEX, Vertex_overlay::point(), Halfedge_overlay::prev(), RFC_assertion, and verbose.
Referenced by intersect_link().
|
protected |
Definition at line 1223 of file Overlay.C.
References acc, HDS_accessor< _MP >::get_next(), PARENT_EDGE, and PARENT_VERTEX.
Referenced by intersect_link().
|
private |
Definition at line 546 of file Overlay.C.
References acc, HDS_accessor< _MP >::get_opposite(), i, HDS_accessor< _MP >::mark(), and HDS_accessor< _MP >::marked().
Referenced by intersect_blue_with_green().
|
inlineprivate |
Definition at line 277 of file Overlay.h.
Referenced by project_adjacent_green_vertices().
|
protected |
Definition at line 51 of file Overlay_0d.C.
References acc, B, BLUE, d, RFC_Window_overlay::flist_0(), G, HDS_accessor< _MP >::get_halfedge(), RFC_Pane_overlay::get_index(), HDS_accessor< _MP >::get_inode(), HDS_accessor< _MP >::get_next(), HDS_accessor< _MP >::get_next_around_destination(), HDS_accessor< _MP >::get_next_around_origin(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), HDS_accessor< _MP >::get_pane(), GREEN, i, RFC_Pane_base::id(), iend, insert_node_in_blue_edge(), HDS_accessor< _MP >::is_border(), k, n, RFC_Window_base::name(), Halfedge_overlay::origin(), Vertex_overlay::point(), RFC_Window_overlay::remove_feature_0(), s, INode::set_parent(), RFC_Window_overlay::snap_on_features(), sq_length(), sqrt(), v, verbose, verbose2, and x.
Referenced by overlay().
|
private |
Definition at line 165 of file Overlay_IO.C.
References acc, HDS_accessor< _MP >::get_next_around_origin(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_pane(), Vertex_overlay::halfedge(), INode::halfedge(), RFC_Pane_base::id(), Halfedge_overlay::is_border(), Halfedge_overlay::origin(), PARENT_EDGE, PARENT_FACE, INode::parent_type(), PARENT_VERTEX, RFC_assertion, and set_subnode_id().
Referenced by number_subnodes().
|
private |
Definition at line 281 of file Overlay_IO.C.
References acc, RFC_Pane_overlay::allocate_subfaces(), B, BLUE, COM_assertion_msg, convert_nat_coordinates(), count_edges(), Halfedge_overlay::facet(), G, RFC_Pane_overlay::get_index(), get_inodes_of_face(), RFC_Pane_overlay::get_lid(), get_nat_coor(), HDS_accessor< _MP >::get_pane(), get_parent_face(), GREEN, RFC_Pane_overlay::hds(), i, RFC_Pane_base::id(), RFC_Pane_overlay::insert_subface(), k, n, RFC_Window_derived< _Pane >::panes(), pi, RFC_assertion, RFC_assertion_code, s, subdivide(), and Triangulation::triangulate().
Referenced by overlay().
|
private |
Definition at line 236 of file Overlay_IO.C.
References _subnode_copies_b, _subnode_copies_g, _subnode_ids_b, _subnode_ids_g, B, BLUE, count_subnodes(), G, GREEN, i, inodes, n, number_a_subnode(), RFC_Window_derived< _Pane >::panes(), and pi.
Referenced by overlay().
int overlay | ( | ) |
Definition at line 73 of file Overlay.C.
References associate_green_vertices(), B, RFC_Window_overlay::create_overlay_data(), RFC_Window_overlay::delete_overlay_data(), RFC_Window_overlay::detect_features(), Bbox_3::do_match(), RFC_Window_overlay::evaluate_normals(), G, RFC_Window_base::get_bounding_box(), get_wtime(), inodes, intersect_blue_with_green(), match_features_0(), min(), RFC_Window_base::name(), number_subfaces(), number_subnodes(), RFC_Window_base::size_of_faces(), RFC_Window_base::size_of_nodes(), sort_on_green_edges(), verbose, x, Bbox_3::xmax(), Bbox_3::xmin(), Bbox_3::ymax(), Bbox_3::ymin(), Bbox_3::zmax(), and Bbox_3::zmin().
|
protected |
Definition at line 48 of file Overlay_init.C.
References acc, B, BLUE, RFC_Window_overlay::get_an_unmarked_halfedge(), get_green_parent(), HDS_accessor< _MP >::get_pane(), RFC_Pane_overlay::get_point(), GREEN, HDS_accessor< _MP >::is_border(), Halfedge_overlay::next(), Halfedge_overlay::origin(), PARENT_EDGE, PARENT_FACE, PARENT_NONE, PARENT_VERTEX, RFC_assertion, INode::set_parent(), v, verbose2, and x.
Referenced by intersect_blue_with_green().
Helper for associate_green_vertices().
Definition at line 940 of file Overlay.C.
References acc, In_place_list_n< T, managed >::back(), BLUE, contains(), Halfedge_overlay::destination(), In_place_list_n< T, managed >::empty(), eps_p, In_place_list_n< T, managed >::front(), HDS_accessor< _MP >::get_destination(), Overlay_primitives::get_face_normal(), HDS_accessor< _MP >::get_inode(), HDS_accessor< _MP >::get_inode_list(), HDS_accessor< _MP >::get_next(), RFC_Pane_overlay::get_normal(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), HDS_accessor< _MP >::get_pane(), GREEN, INode::halfedge(), i, inodes, is_opposite, j, logical_xor(), In_place_list_n_base< T, n >::next_link, op, PARENT_EDGE, PARENT_FACE, INode::parent_type(), PARENT_VERTEX, Vertex_overlay::point(), In_place_list_n_base< T, n >::prev_link, Overlay_primitives::project_onto_element(), q, RFC_assertion, HDS_accessor< _MP >::set_inode(), INode::set_parent(), In_place_list_n< T, managed >::size(), sqrt(), verify_inode(), and x.
Referenced by associate_green_vertices().
|
protected |
Definition at line 33 of file Overlay_1d.C.
References acc, B, BLUE, Halfedge_overlay::destination(), eps_e, RFC_Pane_overlay::get_normal(), HDS_accessor< _MP >::get_pane(), RFC_Pane_overlay::get_tangent(), GREEN, insert_node_in_blue_edge(), op, Halfedge_overlay::origin(), Vertex_overlay::point(), Overlay_primitives::project_blue_feature(), Overlay_primitives::project_green_feature(), s, HDS_accessor< _MP >::set_parent(), RFC_Window_overlay::snap_on_features(), and x.
|
private |
Insert the local id within a pane for a given subnode into the global-to-local-mapping. The mapping is composed of two data structures, _subnode_ids storing one id for every subnode, and _subnode_imap, which stores a mapping from pane_id to local_id for the subnodes present in more than one panes.
Definition at line 45 of file Overlay_IO.C.
References _subnode_copies_b, _subnode_copies_g, _subnode_ids_b, _subnode_ids_g, _subnode_imap_b, _subnode_imap_g, BLUE, GREEN, INode::id(), Node_ID::node_id, Node_ID::pane_id, and RFC_assertion.
Referenced by number_a_subnode().
void set_tolerance | ( | double | tol | ) |
Definition at line 66 of file Overlay.C.
References COM_assertion_msg, eps_e, and max().
|
protected |
Definition at line 771 of file Overlay.C.
References acc, B, In_place_list_n< T, managed >::begin(), In_place_list_n< T, managed >::empty(), empty(), In_place_list_n< T, managed >::end(), HDS_accessor< _MP >::get_halfedge(), HDS_accessor< _MP >::get_inode(), HDS_accessor< _MP >::get_inode_list(), HDS_accessor< _MP >::get_next(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), GREEN, INode::halfedge(), i, inodes, insert_node_in_green_edge(), HDS_accessor< _MP >::is_primary(), j, In_place_list_n_base< T, n >::next_link, RFC_Window_derived< _Pane >::panes(), PARENT_EDGE, INode::parent_type(), In_place_list_n_base< T, n >::prev_link, In_place_list_n< T, managed >::push_back(), In_place_list_n< T, managed >::rbegin(), In_place_list_n< T, managed >::rend(), RFC_assertion, and v.
Referenced by overlay().
Definition at line 178 of file Overlay.C.
References Halfedge_overlay::destination(), Halfedge_overlay::origin(), and Vertex_overlay::point().
Referenced by get_green_parent(), and match_features_0().
bool subdivide | ( | const INode_const_list & | face, |
INode_const_list::const_iterator | last_checked, | ||
Subface_list & | sub_faces, | ||
int | color, | ||
int | depth = 0 |
||
) | const |
Definition at line 1759 of file Overlay.C.
References get_next_inode(), i, iend, RFC_assertion, and RFC_assertion_code.
Referenced by number_subfaces(), write_overlay_off(), and write_overlay_tec().
|
protected |
Definition at line 1022 of file Overlay.C.
References acc, In_place_list_n< T, managed >::back(), BLUE, contains(), In_place_list_n< T, managed >::empty(), In_place_list_n< T, managed >::front(), HDS_accessor< _MP >::get_destination(), HDS_accessor< _MP >::get_inode(), HDS_accessor< _MP >::get_inode_list(), HDS_accessor< _MP >::get_next(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), GREEN, INode::halfedge(), i, j, In_place_list_n_base< T, n >::next_link, PARENT_FACE, INode::parent_type(), In_place_list_n_base< T, n >::prev_link, RFC_precondition, and In_place_list_n< T, managed >::size().
Referenced by project_adjacent_green_vertices().
void write_inodes_tec | ( | std::ostream & | os, |
const char * | color | ||
) |
Definition at line 1541 of file Overlay.C.
References BLUE, Overlay_primitives::get_point(), GREEN, INode::halfedge(), i, iend, inodes, min(), n, INode::nat_coor(), op, and set_ascii_mode().
void write_inodes_vec | ( | std::ostream & | os | ) |
Definition at line 1561 of file Overlay.C.
References BLUE, Overlay_primitives::get_point(), GREEN, INode::halfedge(), i, iend, inodes, n, INode::nat_coor(), op, and set_ascii_mode().
void write_overlay_off | ( | std::ostream & | os, |
const COM::Window * | w | ||
) |
Definition at line 2006 of file Overlay.C.
References B, RFC_Window_base::base(), BLUE, G, get_inodes_of_face(), Overlay_primitives::get_point(), GREEN, i, inodes, op, RFC_Window_derived< _Pane >::panes(), RFC_assertion, RFC_assertion_code, set_ascii_mode(), subdivide(), and verbose.
void write_overlay_tec | ( | std::ostream & | os, |
const COM::Window * | w | ||
) |
Definition at line 1956 of file Overlay.C.
References B, RFC_Window_base::base(), BLUE, G, get_inodes_of_face(), Overlay_primitives::get_point(), GREEN, op, RFC_Window_derived< _Pane >::panes(), RFC_assertion, RFC_assertion_code, subdivide(), and verbose.
|
private |
Definition at line 249 of file Overlay.h.
Referenced by get_subnode_copies(), number_subnodes(), and set_subnode_id().
|
private |
Definition at line 250 of file Overlay.h.
Referenced by get_subnode_copies(), number_subnodes(), and set_subnode_id().
|
private |
Definition at line 247 of file Overlay.h.
Referenced by get_subnode_id(), number_subnodes(), and set_subnode_id().
|
private |
Definition at line 248 of file Overlay.h.
Referenced by get_subnode_id(), number_subnodes(), and set_subnode_id().
|
private |
Definition at line 252 of file Overlay.h.
Referenced by get_subnode_id(), and set_subnode_id().
|
private |
Definition at line 253 of file Overlay.h.
Referenced by get_subnode_id(), and set_subnode_id().
|
protected |
Definition at line 284 of file Overlay.h.
Referenced by associate_green_vertices(), contains(), convert_nat_coordinates(), count_subnodes(), get_edge_pair_parents(), get_edge_parent(), get_green_parent(), get_inodes_of_face(), get_nat_coor(), get_next_inode(), get_next_inode_ccw(), get_next_inode_cw(), get_parent_face(), insert_edge_into_queue(), insert_node_in_blue_edge(), insert_node_in_green_edge(), intersect_blue_with_green(), intersect_link(), intersect_link_helper(), intersect_link_helper2(), is_queue_empty(), match_features_0(), number_a_subnode(), number_subfaces(), overlay_init(), project_adjacent_green_vertices(), project_next_vertex(), sort_on_green_edges(), and verify_inode().
|
protected |
Definition at line 280 of file Overlay.h.
Referenced by associate_green_vertices(), convert_nat_coordinates(), export_windows(), get_blue_window(), get_rfc_window(), intersect_blue_with_green(), match_features_0(), number_subfaces(), number_subnodes(), Overlay(), overlay(), overlay_init(), project_next_vertex(), sort_on_green_edges(), write_overlay_off(), write_overlay_tec(), and ~Overlay().
|
protected |
Definition at line 291 of file Overlay.h.
Referenced by get_green_parent(), insert_node_in_blue_edge(), intersect_blue_with_green(), intersect_link_helper(), project_next_vertex(), and set_tolerance().
|
protected |
Definition at line 292 of file Overlay.h.
Referenced by intersect_link_helper(), and project_adjacent_green_vertices().
|
protected |
Definition at line 281 of file Overlay.h.
Referenced by convert_nat_coordinates(), export_windows(), get_green_parent(), get_green_window(), get_rfc_window(), match_features_0(), number_subfaces(), number_subnodes(), Overlay(), overlay(), write_overlay_off(), write_overlay_tec(), and ~Overlay().
|
protected |
Definition at line 282 of file Overlay.h.
Referenced by number_subnodes(), overlay(), project_adjacent_green_vertices(), sort_on_green_edges(), write_inodes_tec(), write_inodes_vec(), and write_overlay_off().
|
protected |
Definition at line 286 of file Overlay.h.
Referenced by get_green_parent(), get_next_inode(), intersect_blue_with_green(), intersect_link_helper(), and project_adjacent_green_vertices().
|
protected |
Definition at line 283 of file Overlay.h.
Referenced by get_green_parent(), insert_node_in_blue_edge(), intersect_blue_with_green(), intersect_link_helper(), project_adjacent_green_vertices(), project_next_vertex(), write_inodes_tec(), write_inodes_vec(), write_overlay_off(), and write_overlay_tec().
|
protected |
Definition at line 287 of file Overlay.h.
Referenced by insert_node_in_blue_edge(), intersect_blue_with_green(), intersect_link_helper(), match_features_0(), overlay(), write_overlay_off(), and write_overlay_tec().
|
protected |
Definition at line 288 of file Overlay.h.
Referenced by match_features_0(), Overlay(), and overlay_init().