Provides a data structure accessing nodes, elements, and edges in a pane, in a manner similar to the halfedge data structure, assuming the elements form a 2-manifold. More...
#include <Simple_manifold_2.h>
Public Types | |
typedef Facet_ID | Edge_ID |
Public Member Functions | |
Simple_manifold_2 () | |
Default constructors. More... | |
Simple_manifold_2 (const COM::Pane *p, const Simple_manifold_2 *parent=NULL, bool with_ghost=true) | |
Constructors. More... | |
const COM::Pane * | pane () const |
Obtain a const pointer to the pane. More... | |
bool | is_real_node (int vID) const |
Is the given node a real node? More... | |
bool | is_ghost_node (int vID) const |
Is the given node a ghost node? More... | |
bool | is_real_element (int eid) const |
Is the element incident on the give edge a real element? More... | |
bool | is_ghost_element (int eid) const |
Is the element incident on the give edge a ghost element? More... | |
int | get_edge_index (const Edge_ID &eid, const int offset=0) const |
Get an index for internal edges. More... | |
int | upperbound_edge_index () const |
Get size of internal edges. More... | |
void | get_borders (std::vector< bool > &is_border, std::vector< bool > &is_isolated, std::vector< Edge_ID > *b, int *ng=NULL) const |
Obtain all the border nodes, isolated nodes, and border edges. More... | |
Size of nodes | |
int | size_of_nodes () const |
Number of nodes of the pane. More... | |
int | maxsize_of_nodes () const |
Maximum number of nodes allowed in the pane. More... | |
int | size_of_real_nodes () const |
Number of real nodes of the pane. More... | |
int | maxsize_of_real_nodes () const |
Maximum number of real nodes allowed in the pane. More... | |
int | size_of_ghost_nodes () const |
Number of ghost nodes of the pane. More... | |
int | maxsize_of_ghost_nodes () const |
Maximum number of ghost nodes allowed in the pane. More... | |
Size of faces | |
int | size_of_elements () const |
Number of elements of the pane. More... | |
int | maxsize_of_elements () const |
Maximum number of elements allowed in the pane. More... | |
int | size_of_real_elements () const |
Number of real elements of the pane. More... | |
int | maxsize_of_real_elements () const |
Maximum number of real elements allowed in the pane. More... | |
int | size_of_ghost_elements () const |
Number of ghost elements of the pane. More... | |
int | maxsize_of_ghost_elements () const |
Maximum number of ghost elements allowed in the pane. More... | |
int | size_of_faces () const |
Number of elements of the pane. More... | |
int | maxsize_of_faces () const |
Maximum number of elements allowed in the pane. More... | |
int | size_of_real_faces () const |
Number of real elements of the pane. More... | |
int | maxsize_of_real_faces () const |
Maximum number of real elements allowed in the pane. More... | |
int | size_of_ghost_faces () const |
Number of ghost elements of the pane. More... | |
int | maxsize_of_ghost_faces () const |
Maximum number of ghost elements allowed in the pane. More... | |
int | size_of_triangles () const |
Total number of triangles of the pane. More... | |
int | maxsize_of_triangles () const |
Maximum number of triangles allowed in the pane. More... | |
int | size_of_real_triangles () const |
Number of real triangles of the pane. More... | |
int | maxsize_of_real_triangles () const |
Maximum number of real triangles allowed in the pane. More... | |
int | size_of_ghost_triangles () const |
Number of ghost triangles of the pane. More... | |
int | maxsize_of_ghost_triangles () const |
Maximum number of ghost triangles allowed in the pane. More... | |
int | size_of_quadrilaterals () const |
Total number of quadrilaterals of the pane. More... | |
int | maxsize_of_quadrilaterals () const |
Maximum number of quadrilaterals allowed in the pane. More... | |
int | size_of_real_quadrilaterals () const |
Number of real quadrilaterals of the pane. More... | |
int | maxsize_of_real_quadrilaterals () const |
Maximum number of real quadrilaterals allowed in the pane. More... | |
int | size_of_ghost_quadrilaterals () const |
Number of ghost quadrilaterals of the pane. More... | |
int | maxsize_of_ghost_quadrilaterals () const |
Maximum number of ghost quadrilaterals allowed in the pane. More... | |
Size of edges | |
int | size_of_halfedges () const |
Number of halfedges of the pane. More... | |
int | size_of_real_halfedges () const |
Number of real halfedges of the pane. More... | |
int | size_of_ghost_halfedges () const |
Number of ghost halfedges of the pane. More... | |
int | size_of_edges () const |
Number of edges of the pane. More... | |
int | size_of_real_edges () const |
Number of real edges of the pane. More... | |
int | size_of_ghost_edges () const |
Number of ghost edges of the pane. More... | |
Size of border edges and nodes | |
int | size_of_border_edges () const |
Number of border edges of the whole pane. More... | |
int | size_of_real_border_edges () const |
Number of border edges of the real part of the pane. More... | |
int | size_of_ghost_border_edges () const |
Number of border edges of the ghost part of the pane. More... | |
int | size_of_isolated_nodes () const |
Number of isolated nodes. More... | |
Nodes and edges connectivity | |
int | get_origin (Edge_ID eID, Element_node_enumerator *ene_in=NULL) const |
Get the ID of the origin of a given edge. More... | |
int | get_destination (Edge_ID eID, Element_node_enumerator *ene_in=NULL) const |
Get the ID of the destination of a given edge. More... | |
Edge_ID | get_incident_edge (int vID) const |
Get the ID of an incident edge within the pane of a given node that originated from the node. More... | |
Edge_ID | get_incident_real_edge (int vID) const |
Get the ID of an incident real edge within the pane of a given node. More... | |
Edge_ID | get_incident_ghost_edge (int vID) const |
Get the ID of an incident real edge within the pane of a given node The incident edge may encode an isolated node. More... | |
Border nodes and edges | |
bool | is_border_edge (const Edge_ID &eID) const |
Is a given edge on the boundary of the whole pane? More... | |
bool | is_pure_real_border_edge (const Edge_ID &eID) const |
Determine whether a given edge is a border edge of real part of the whole pane (on physical border). More... | |
bool | is_real_border_edge (const Edge_ID &eID) const |
Determine whether a given edge is a border edge of real part of the pane (either on physical border or between real and ghost elements) More... | |
bool | is_ghost_border_edge (const Edge_ID &eID) const |
Determine whether a given edge is a border edge of ghost part of the pane (either on physical border or between real and ghost elements) More... | |
bool | is_isolated_node (int vID) const |
Is the node isolated (i.e. not incident on any element)? More... | |
bool | is_real_border_node (int vID) const |
Is the node on the pane boundary of real part (not isolated)? More... | |
bool | is_ghost_border_node (int vID) const |
Is the node on pane boundary (not isolated)? It assumes vID is incident on the ghost (no checking is performed). More... | |
bool | is_border_node (int vID) const |
Is the node on pane boundary (not isolated)? More... | |
int | get_border_edgeID (Edge_ID eID) const |
Get the border edge index. Return -1 if not a border edge. More... | |
Edge_ID | get_a_real_border_edge () const |
Obtain a border edge on real part of the pane. More... | |
Edge_ID | get_a_ghost_border_edge () const |
Obtain a border edge on ghost part of the pane. More... | |
Edge_ID | get_a_border_edge () const |
Obtain the ID of a border edge of the whole pane. More... | |
int | get_a_real_border_node () const |
Obtain the ID of a border node of the real part of the pane. More... | |
int | get_a_ghost_border_node () const |
Obtain the ID of a border node of the ghost part of the pane. More... | |
int | get_a_border_node () const |
Obtain the ID of a border node. More... | |
Protected Member Functions | |
void | init (const COM::Pane *p, const Simple_manifold_2 *parent=NULL, bool with_ghost=true) |
Initialize the database for the pane, including ghost information, opposite halfedges, incident halfedges, and border halfedges. More... | |
void | determine_ghosts () |
Determine the ghost nodes and elements. More... | |
void | determine_opposite_halfedges () |
Determine the opposite halfedges of each halfedge, and identify border halfedge. More... | |
void | determine_incident_halfedges () |
Determine an incident halfedge for each node. More... | |
Protected Attributes | |
const COM::Pane * | _pane |
bool | _is_str |
bool | _with_ghost |
std::vector< const COM::Connectivity * > | _elem_conns |
int | _nspe |
int | _maxsize_real_nodes |
int | _maxsize_real_elmts |
int | _size_real_borders |
int | _size_ghost_borders |
int | _size_rg_borders |
std::vector< bool > | _isghostnode |
std::vector< bool > | _isghostelmt |
std::vector< Edge_ID > | _oeIDs_real_or_str |
std::vector< Edge_ID > | _oeIDs_ghost |
std::vector< Edge_ID > | _ieIDs_real_or_str |
std::vector< Edge_ID > | _ieIDs_ghost |
std::vector< Edge_ID > | _beIDs |
std::vector< int > | _isovIDs |
Opposite Edges | |
Edge_ID | get_opposite_real_edge (const Edge_ID &eID) const |
Get the ID of the opposite real edge of a given real or border edge. More... | |
Edge_ID | get_opposite_ghost_edge (const Edge_ID &eID) const |
Get the ID of the opposite ghost edge of a given real or border edge. More... | |
Edge_ID | get_opposite_edge (const Edge_ID &eID) const |
Get the ID of the opposite edge of a given interior or border edge. More... | |
Edge_ID | get_opposite_edge_interior (const Edge_ID &eID) const |
Get the opposite edge of an interior edge of the whole pane. More... | |
Edge_ID | get_opposite_real_edge_interior (const Edge_ID &eID) const |
Get the opposite edge of an interior edge of the real part. More... | |
Edge_ID | get_opposite_ghost_edge_interior (const Edge_ID &eID) const |
Get the opposite edge of an interior edge of the ghost part. More... | |
Edge_ID | get_opposite_edge_border (const Edge_ID &eID) const |
Get the opposite edge of a border edge for the whole pane. More... | |
Edge_ID | get_opposite_real_edge_border (const Edge_ID &eID) const |
Get the opposite edge of a border edge for the real pane. More... | |
Edge_ID | get_opposite_ghost_edge_border (const Edge_ID &eID) const |
Get the opposite edge of a border edge for the ghost pane. More... | |
Previous and next Edges | |
Edge_ID | get_prev_edge (const Edge_ID &eID) const |
Get the ID of the previous edge of the element or along the boundary. More... | |
Edge_ID | get_prev_real_edge (const Edge_ID &eID) const |
Get the ID of the previous real edge of the element or along the boundary. More... | |
Edge_ID | get_prev_ghost_edge (const Edge_ID &eID) const |
Get the ID of the previous ghost edge of the element or along the boundary. More... | |
Edge_ID | get_next_edge (const Edge_ID &eID) const |
Get the ID of the next edge of the element or along the boundary. More... | |
Edge_ID | get_next_real_edge (const Edge_ID &eID) const |
Get the ID of the next real edge of the element or along the boundary. More... | |
Edge_ID | get_next_ghost_edge (const Edge_ID &eID) const |
Get the ID of the next ghost edge of the element or along the boundary. More... | |
Edge_ID | get_prev_edge_interior (const Edge_ID &eID) const |
Edge_ID | get_prev_real_edge_interior (const Edge_ID &eID) const |
Edge_ID | get_prev_ghost_edge_interior (const Edge_ID &eID) const |
Edge_ID | get_next_edge_interior (const Edge_ID &eID) const |
Edge_ID | get_next_real_edge_interior (const Edge_ID &eID) const |
Edge_ID | get_next_ghost_edge_interior (const Edge_ID &eID) const |
Provides a data structure accessing nodes, elements, and edges in a pane, in a manner similar to the halfedge data structure, assuming the elements form a 2-manifold.
It provides interfaces for accessing the real part, the ghost part, or the whole pane.
Definition at line 80 of file Simple_manifold_2.h.
Definition at line 82 of file Simple_manifold_2.h.
|
inline |
|
inlineexplicit |
Constructors.
Definition at line 91 of file Simple_manifold_2.h.
References init().
|
protected |
Determine the ghost nodes and elements.
Definition at line 81 of file Simple_manifold_2.C.
References _is_str, _isghostelmt, _isghostnode, _pane, _with_ghost, and COM_assertion_msg.
Referenced by init().
|
protected |
Determine an incident halfedge for each node.
If the node is a border node, then determine its incident border halfedge. If the pane is unstructured and contains isolated nodes, determine an ordering of the isolated nodes.
Definition at line 250 of file Simple_manifold_2.C.
References _beIDs, _ieIDs_ghost, _ieIDs_real_or_str, _is_str, _isovIDs, _maxsize_real_elmts, _maxsize_real_nodes, _pane, _with_ghost, COM_assertion, COM_assertion_msg, get_opposite_ghost_edge_interior(), get_opposite_real_edge_interior(), get_origin(), i, Element_node_enumerator::id(), is_border_edge(), is_real_element(), is_real_node(), j, min(), Element_node_enumerator::next(), ni, Element_node_enumerator::size_of_edges(), and Element_node_enumerator::size_of_nodes().
Referenced by init().
|
protected |
Determine the opposite halfedges of each halfedge, and identify border halfedge.
Definition at line 98 of file Simple_manifold_2.C.
References _beIDs, _is_str, _maxsize_real_elmts, _nspe, _oeIDs_ghost, _oeIDs_real_or_str, _pane, _size_ghost_borders, _size_real_borders, _size_rg_borders, _with_ghost, Facet_ID::BndID, COM_assertion, Facet_ID::eid(), get_edge_index(), i, Element_node_enumerator::id(), Pane_dual_connectivity::incident_elements(), is_ghost_element(), is_real_element(), j, k, Element_node_enumerator::next(), nk, and Element_node_enumerator::size_of_edges().
Referenced by init().
|
inline |
Obtain the ID of a border edge of the whole pane.
Definition at line 569 of file Simple_manifold_2.h.
References _size_ghost_borders, _size_real_borders, _size_rg_borders, and Facet_ID::BndID.
|
inline |
Obtain the ID of a border node.
Definition at line 596 of file Simple_manifold_2.h.
References _beIDs, _size_ghost_borders, _size_real_borders, _size_rg_borders, and get_origin().
|
inline |
Obtain a border edge on ghost part of the pane.
Maybe between real and ghost.
Definition at line 561 of file Simple_manifold_2.h.
References _size_ghost_borders, _size_real_borders, _size_rg_borders, and Facet_ID::BndID.
|
inline |
Obtain the ID of a border node of the ghost part of the pane.
The node, however, may be a real node.
Definition at line 588 of file Simple_manifold_2.h.
References _beIDs, _size_ghost_borders, _size_real_borders, _size_rg_borders, and get_origin().
|
inline |
Obtain a border edge on real part of the pane.
Definition at line 552 of file Simple_manifold_2.h.
References _size_real_borders, _size_rg_borders, and Facet_ID::BndID.
|
inline |
Obtain the ID of a border node of the real part of the pane.
Definition at line 579 of file Simple_manifold_2.h.
References _beIDs, _size_real_borders, _size_rg_borders, and get_origin().
|
inline |
Get the border edge index. Return -1 if not a border edge.
Definition at line 546 of file Simple_manifold_2.h.
References Facet_ID::eid(), and Facet_ID::is_border().
Referenced by Window_manifold_2::determine_counterparts(), and Pane_manifold_2::is_physical_border_edge().
void get_borders | ( | std::vector< bool > & | is_border, |
std::vector< bool > & | is_isolated, | ||
std::vector< Edge_ID > * | b, | ||
int * | ng = NULL |
||
) | const |
Obtain all the border nodes, isolated nodes, and border edges.
If ng is not NULL, then obtain the borders of the whole pane (including the ghost part), and load the number of ghost nodes into ng.
Definition at line 392 of file Simple_manifold_2.C.
References _beIDs, _is_str, _maxsize_real_nodes, _size_ghost_borders, _size_real_borders, _size_rg_borders, _with_ghost, i, is_border_node(), is_isolated_node(), is_real_border_node(), offset(), size_of_ghost_nodes(), and size_of_real_nodes().
|
inline |
Get the ID of the destination of a given edge.
Definition at line 375 of file Simple_manifold_2.h.
References _pane, Facet_ID::eid(), get_opposite_ghost_edge_border(), get_opposite_real_edge_border(), Facet_ID::is_border(), is_real_border_edge(), and Facet_ID::lid().
Referenced by Halfedge::destination().
|
inline |
Get an index for internal edges.
Definition at line 639 of file Simple_manifold_2.h.
References _nspe, Facet_ID::eid(), Facet_ID::lid(), and offset().
Referenced by determine_opposite_halfedges(), get_incident_edge(), get_next_edge_interior(), get_next_ghost_edge_interior(), get_next_real_edge_interior(), get_opposite_ghost_edge_border(), get_opposite_ghost_edge_interior(), get_opposite_real_edge_interior(), get_prev_edge_interior(), get_prev_ghost_edge_interior(), and get_prev_real_edge_interior().
|
inline |
Get the ID of an incident edge within the pane of a given node that originated from the node.
If the vertex is on the pane boundary, it will return a border edge. For isolated nodes, it returns an ID similar to that for a border edge, except that the element ID given will be the index of the isolated node (starting from 1) plus the total number of border edges.
Definition at line 400 of file Simple_manifold_2.h.
References _beIDs, _ieIDs_ghost, _ieIDs_real_or_str, _is_str, _maxsize_real_nodes, _oeIDs_real_or_str, _size_real_borders, _size_rg_borders, COM_assertion, Facet_ID::eid(), get_edge_index(), get_origin(), Facet_ID::is_border(), and is_ghost_node().
Referenced by Node::halfedge().
|
inline |
Get the ID of an incident real edge within the pane of a given node The incident edge may encode an isolated node.
Definition at line 439 of file Simple_manifold_2.h.
References _ieIDs_ghost, _ieIDs_real_or_str, _is_str, _maxsize_real_nodes, _size_real_borders, COM_assertion_msg, Facet_ID::eid(), get_next_real_edge_interior(), get_opposite_real_edge_border(), get_opposite_real_edge_interior(), Facet_ID::is_border(), is_ghost_border_edge(), and is_ghost_node().
|
inline |
Get the ID of an incident real edge within the pane of a given node.
The incident edge may encode an isolated node.
Definition at line 418 of file Simple_manifold_2.h.
References _beIDs, _ieIDs_real_or_str, _size_real_borders, _size_rg_borders, COM_assertion, COM_assertion_msg, Facet_ID::eid(), get_next_ghost_edge_interior(), get_opposite_ghost_edge_border(), get_opposite_ghost_edge_interior(), get_origin(), Facet_ID::is_border(), is_real_border_edge(), and is_real_node().
Referenced by Pane_manifold_2::get_bnode_index(), and Node::halfedge().
Get the ID of the next edge of the element or along the boundary.
Definition at line 314 of file Simple_manifold_2.h.
References get_next_edge_interior(), get_opposite_edge_border(), get_opposite_edge_interior(), get_prev_edge_interior(), and Facet_ID::is_border().
Referenced by Pane_manifold_2::get_next_edge().
Definition at line 811 of file Simple_manifold_2.h.
References _is_str, _maxsize_real_elmts, _nspe, _oeIDs_ghost, _oeIDs_real_or_str, Facet_ID::eid(), get_edge_index(), i, is_ghost_element(), and Facet_ID::lid().
Referenced by get_next_edge().
Get the ID of the next ghost edge of the element or along the boundary.
Definition at line 339 of file Simple_manifold_2.h.
References get_next_ghost_edge_interior(), get_opposite_ghost_edge(), get_opposite_ghost_edge_interior(), get_prev_ghost_edge_interior(), and Facet_ID::is_border().
Definition at line 840 of file Simple_manifold_2.h.
References _is_str, _maxsize_real_elmts, _nspe, _oeIDs_ghost, _oeIDs_real_or_str, COM_assertion, Facet_ID::eid(), get_edge_index(), i, is_ghost_element(), and Facet_ID::lid().
Referenced by get_incident_real_edge(), get_next_ghost_edge(), and get_prev_ghost_edge().
Get the ID of the next real edge of the element or along the boundary.
Definition at line 326 of file Simple_manifold_2.h.
References get_next_real_edge_interior(), get_opposite_real_edge(), get_opposite_real_edge_interior(), get_prev_real_edge_interior(), and Facet_ID::is_border().
Referenced by Pane_manifold_2::get_next_edge().
Definition at line 827 of file Simple_manifold_2.h.
References _nspe, _oeIDs_real_or_str, COM_assertion, Facet_ID::eid(), get_edge_index(), i, is_ghost_element(), and Facet_ID::lid().
Referenced by get_incident_ghost_edge(), get_next_real_edge(), and get_prev_real_edge().
Get the ID of the opposite edge of a given interior or border edge.
If its opposite is a border edge, it returns a border edge ID.
Definition at line 263 of file Simple_manifold_2.h.
References get_opposite_edge_border(), get_opposite_edge_interior(), and Facet_ID::is_border().
Referenced by Pane_manifold_2::get_opposite_edge().
Get the opposite edge of a border edge for the whole pane.
Definition at line 726 of file Simple_manifold_2.h.
References _beIDs, _size_real_borders, _size_rg_borders, COM_assertion, Facet_ID::eid(), and Facet_ID::is_border().
Referenced by get_next_edge(), and get_opposite_edge().
Get the opposite edge of an interior edge of the whole pane.
Definition at line 682 of file Simple_manifold_2.h.
Referenced by get_next_edge(), and get_opposite_edge().
Get the ID of the opposite ghost edge of a given real or border edge.
If its opposite is a border edge, it returns a border edge ID.
Definition at line 252 of file Simple_manifold_2.h.
References COM_assertion, Facet_ID::eid(), get_opposite_ghost_edge_border(), get_opposite_ghost_edge_interior(), Facet_ID::is_border(), and is_ghost_element().
Referenced by get_next_ghost_edge(), and get_prev_ghost_edge().
Get the opposite edge of a border edge for the ghost pane.
Definition at line 749 of file Simple_manifold_2.h.
References _beIDs, _oeIDs_real_or_str, _size_real_borders, COM_assertion, Facet_ID::eid(), get_edge_index(), Facet_ID::is_border(), and is_real_element().
Referenced by get_destination(), get_incident_real_edge(), and get_opposite_ghost_edge().
Get the opposite edge of an interior edge of the ghost part.
Definition at line 716 of file Simple_manifold_2.h.
References _is_str, _maxsize_real_elmts, _oeIDs_ghost, _oeIDs_real_or_str, COM_assertion, Facet_ID::eid(), get_edge_index(), Facet_ID::is_border(), and is_ghost_element().
Referenced by determine_incident_halfedges(), get_incident_real_edge(), get_next_ghost_edge(), get_opposite_ghost_edge(), get_opposite_real_edge_interior(), and get_prev_ghost_edge().
Get the ID of the opposite real edge of a given real or border edge.
If its opposite is a border edge, it returns a border edge ID.
Definition at line 241 of file Simple_manifold_2.h.
Referenced by Pane_manifold_2::convert_pconn_edge2ghost(), Window_manifold_2::determine_counterparts(), get_next_real_edge(), Pane_manifold_2::get_opposite_edge(), and get_prev_real_edge().
Get the opposite edge of a border edge for the real pane.
Definition at line 736 of file Simple_manifold_2.h.
References _beIDs, _size_real_borders, _size_rg_borders, COM_assertion, Facet_ID::eid(), Facet_ID::is_border(), and is_real_element().
Referenced by get_destination(), and get_incident_ghost_edge().
Get the opposite edge of an interior edge of the real part.
Definition at line 703 of file Simple_manifold_2.h.
References _oeIDs_real_or_str, COM_assertion, Facet_ID::eid(), get_edge_index(), get_opposite_ghost_edge_interior(), Facet_ID::is_border(), is_ghost_element(), and is_real_element().
Referenced by determine_incident_halfedges(), get_incident_ghost_edge(), get_next_real_edge(), and get_prev_real_edge().
|
inline |
Get the ID of the origin of a given edge.
If the edge is between real and ghost, then consider the border edge as part of real.
Definition at line 357 of file Simple_manifold_2.h.
Referenced by determine_incident_halfedges(), get_a_border_node(), get_a_ghost_border_node(), get_a_real_border_node(), get_incident_edge(), get_incident_real_edge(), and Halfedge::origin().
Get the ID of the previous edge of the element or along the boundary.
Definition at line 276 of file Simple_manifold_2.h.
Referenced by Pane_manifold_2::get_prev_edge().
Definition at line 767 of file Simple_manifold_2.h.
References _is_str, _maxsize_real_elmts, _nspe, _oeIDs_ghost, _oeIDs_real_or_str, Facet_ID::eid(), get_edge_index(), i, is_ghost_element(), and Facet_ID::lid().
Referenced by get_next_edge().
Get the ID of the previous ghost edge of the element or along the boundary.
Definition at line 301 of file Simple_manifold_2.h.
References get_next_ghost_edge_interior(), get_opposite_ghost_edge(), get_opposite_ghost_edge_interior(), get_prev_ghost_edge_interior(), and Facet_ID::is_border().
Definition at line 794 of file Simple_manifold_2.h.
References _is_str, _maxsize_real_elmts, _nspe, _oeIDs_ghost, _oeIDs_real_or_str, COM_assertion, Facet_ID::eid(), get_edge_index(), i, is_ghost_element(), and Facet_ID::lid().
Referenced by get_next_ghost_edge(), and get_prev_ghost_edge().
Get the ID of the previous real edge of the element or along the boundary.
Definition at line 288 of file Simple_manifold_2.h.
References get_next_real_edge_interior(), get_opposite_real_edge(), get_opposite_real_edge_interior(), get_prev_real_edge_interior(), and Facet_ID::is_border().
Referenced by Pane_manifold_2::get_prev_edge().
Definition at line 782 of file Simple_manifold_2.h.
References _nspe, _oeIDs_real_or_str, COM_assertion, Facet_ID::eid(), get_edge_index(), i, is_ghost_element(), and Facet_ID::lid().
Referenced by get_next_real_edge(), and get_prev_real_edge().
|
protected |
Initialize the database for the pane, including ghost information, opposite halfedges, incident halfedges, and border halfedges.
Typically called by constructors.
Definition at line 31 of file Simple_manifold_2.C.
References _beIDs, _elem_conns, _ieIDs_ghost, _ieIDs_real_or_str, _is_str, _isghostelmt, _isghostnode, _isovIDs, _maxsize_real_elmts, _maxsize_real_nodes, _nspe, _oeIDs_ghost, _oeIDs_real_or_str, _pane, _with_ghost, COM_assertion_msg, determine_ghosts(), determine_incident_halfedges(), determine_opposite_halfedges(), i, and max().
Referenced by Simple_manifold_2().
|
inline |
Is a given edge on the boundary of the whole pane?
Definition at line 468 of file Simple_manifold_2.h.
Referenced by determine_incident_halfedges(), and is_border_node().
|
inline |
Is the node on pane boundary (not isolated)?
Definition at line 535 of file Simple_manifold_2.h.
References _ieIDs_ghost, _ieIDs_real_or_str, _is_str, _maxsize_real_nodes, is_border_edge(), and is_ghost_node().
Referenced by get_borders().
|
inline |
Determine whether a given edge is a border edge of ghost part of the pane (either on physical border or between real and ghost elements)
Definition at line 494 of file Simple_manifold_2.h.
References _beIDs, _size_real_borders, _with_ghost, Facet_ID::eid(), and Facet_ID::is_border().
Referenced by get_incident_ghost_edge().
|
inline |
Is the node on pane boundary (not isolated)? It assumes vID is incident on the ghost (no checking is performed).
Definition at line 524 of file Simple_manifold_2.h.
References _beIDs, _ieIDs_ghost, _ieIDs_real_or_str, _is_str, _maxsize_real_nodes, Facet_ID::eid(), Facet_ID::is_border(), and is_ghost_node().
|
inline |
Is the element incident on the give edge a ghost element?
Definition at line 631 of file Simple_manifold_2.h.
References _is_str, _isghostelmt, and _maxsize_real_elmts.
Referenced by determine_opposite_halfedges(), get_next_edge_interior(), get_next_ghost_edge_interior(), get_next_real_edge_interior(), get_opposite_ghost_edge(), get_opposite_ghost_edge_interior(), get_opposite_real_edge_interior(), get_prev_edge_interior(), get_prev_ghost_edge_interior(), and get_prev_real_edge_interior().
|
inline |
Is the given node a ghost node?
Definition at line 615 of file Simple_manifold_2.h.
References _is_str, _isghostnode, and _maxsize_real_nodes.
Referenced by get_incident_edge(), get_incident_ghost_edge(), is_border_node(), is_ghost_border_node(), and is_real_border_node().
|
inline |
Is the node isolated (i.e. not incident on any element)?
Definition at line 502 of file Simple_manifold_2.h.
References _beIDs, _ieIDs_real_or_str, _is_str, _maxsize_real_nodes, Facet_ID::eid(), and Facet_ID::is_border().
Referenced by get_borders(), and Node::is_isolated().
|
inline |
Determine whether a given edge is a border edge of real part of the whole pane (on physical border).
Definition at line 478 of file Simple_manifold_2.h.
References _size_real_borders, _with_ghost, Facet_ID::eid(), and Facet_ID::is_border().
Referenced by Pane_manifold_2::is_border_edge().
|
inline |
Determine whether a given edge is a border edge of real part of the pane (either on physical border or between real and ghost elements)
Definition at line 486 of file Simple_manifold_2.h.
References _size_real_borders, _size_rg_borders, _with_ghost, Facet_ID::eid(), and Facet_ID::is_border().
Referenced by get_destination(), get_incident_real_edge(), Pane_manifold_2::get_next_edge(), and Pane_manifold_2::is_border_edge().
|
inline |
Is the node on the pane boundary of real part (not isolated)?
Definition at line 511 of file Simple_manifold_2.h.
References _beIDs, _ieIDs_ghost, _ieIDs_real_or_str, _is_str, _maxsize_real_nodes, Facet_ID::eid(), Facet_ID::is_border(), is_ghost_node(), and is_real_node().
Referenced by get_borders().
|
inline |
Is the element incident on the give edge a real element?
Definition at line 623 of file Simple_manifold_2.h.
References _is_str, _isghostelmt, and _maxsize_real_elmts.
Referenced by determine_incident_halfedges(), determine_opposite_halfedges(), get_opposite_ghost_edge_border(), get_opposite_real_edge_border(), and get_opposite_real_edge_interior().
|
inline |
Is the given node a real node?
Definition at line 607 of file Simple_manifold_2.h.
References _is_str, _isghostnode, and _maxsize_real_nodes.
Referenced by determine_incident_halfedges(), get_incident_real_edge(), and is_real_border_node().
|
inline |
Maximum number of elements allowed in the pane.
Definition at line 127 of file Simple_manifold_2.h.
References _pane.
|
inline |
Maximum number of elements allowed in the pane.
Definition at line 145 of file Simple_manifold_2.h.
References _pane.
|
inline |
Maximum number of ghost elements allowed in the pane.
Definition at line 139 of file Simple_manifold_2.h.
References _pane.
|
inline |
Maximum number of ghost elements allowed in the pane.
Definition at line 157 of file Simple_manifold_2.h.
References _pane.
|
inline |
Maximum number of ghost nodes allowed in the pane.
Definition at line 118 of file Simple_manifold_2.h.
References _pane.
int maxsize_of_ghost_quadrilaterals | ( | ) | const |
Maximum number of ghost quadrilaterals allowed in the pane.
int maxsize_of_ghost_triangles | ( | ) | const |
Maximum number of ghost triangles allowed in the pane.
|
inline |
Maximum number of nodes allowed in the pane.
Definition at line 106 of file Simple_manifold_2.h.
References _pane.
int maxsize_of_quadrilaterals | ( | ) | const |
Maximum number of quadrilaterals allowed in the pane.
|
inline |
Maximum number of real elements allowed in the pane.
Definition at line 133 of file Simple_manifold_2.h.
References _maxsize_real_elmts.
|
inline |
Maximum number of real elements allowed in the pane.
Definition at line 151 of file Simple_manifold_2.h.
References _pane.
|
inline |
Maximum number of real nodes allowed in the pane.
Definition at line 112 of file Simple_manifold_2.h.
References _maxsize_real_nodes.
int maxsize_of_real_quadrilaterals | ( | ) | const |
Maximum number of real quadrilaterals allowed in the pane.
int maxsize_of_real_triangles | ( | ) | const |
Maximum number of real triangles allowed in the pane.
int maxsize_of_triangles | ( | ) | const |
Maximum number of triangles allowed in the pane.
|
inline |
Obtain a const pointer to the pane.
Definition at line 97 of file Simple_manifold_2.h.
References _pane.
Referenced by Node::addr(), Halfedge::addr(), Node::attr(), Halfedge::attr(), Window_manifold_2::determine_counterparts(), Halfedge::edge_center(), Halfedge::face_center(), Node::operator<(), Halfedge::operator<(), Node::pane(), Halfedge::pane(), and Node::point().
|
inline |
int size_of_edges | ( | ) | const |
Number of edges of the pane.
Referenced by Pane_manifold_2::size_of_edges().
|
inline |
Number of elements of the pane.
Definition at line 124 of file Simple_manifold_2.h.
Referenced by upperbound_edge_index().
|
inline |
Number of elements of the pane.
Definition at line 142 of file Simple_manifold_2.h.
References _pane.
Referenced by Pane_manifold_2::size_of_faces().
|
inline |
Number of border edges of the ghost part of the pane.
Definition at line 228 of file Simple_manifold_2.h.
References _size_ghost_borders, and _size_rg_borders.
int size_of_ghost_edges | ( | ) | const |
Number of ghost edges of the pane.
|
inline |
Number of ghost elements of the pane.
Definition at line 136 of file Simple_manifold_2.h.
References _pane.
|
inline |
Number of ghost elements of the pane.
Definition at line 154 of file Simple_manifold_2.h.
References _pane.
int size_of_ghost_halfedges | ( | ) | const |
Number of ghost halfedges of the pane.
|
inline |
Number of ghost nodes of the pane.
Definition at line 115 of file Simple_manifold_2.h.
References _pane.
Referenced by get_borders().
int size_of_ghost_quadrilaterals | ( | ) | const |
Number of ghost quadrilaterals of the pane.
int size_of_ghost_triangles | ( | ) | const |
Number of ghost triangles of the pane.
int size_of_halfedges | ( | ) | const |
Number of halfedges of the pane.
|
inline |
|
inline |
Number of nodes of the pane.
Definition at line 103 of file Simple_manifold_2.h.
Referenced by Pane_manifold_2::size_of_nodes().
int size_of_quadrilaterals | ( | ) | const |
Total number of quadrilaterals of the pane.
Referenced by Pane_manifold_2::size_of_quadrilaterals().
|
inline |
Number of border edges of the real part of the pane.
Definition at line 224 of file Simple_manifold_2.h.
References _size_real_borders, and _size_rg_borders.
Referenced by Pane_manifold_2::convert_pconn_edge2ghost().
int size_of_real_edges | ( | ) | const |
Number of real edges of the pane.
Referenced by Pane_manifold_2::size_of_edges().
|
inline |
Number of real elements of the pane.
Definition at line 130 of file Simple_manifold_2.h.
References _pane.
|
inline |
Number of real elements of the pane.
Definition at line 148 of file Simple_manifold_2.h.
References _pane.
Referenced by Pane_manifold_2::size_of_faces().
int size_of_real_halfedges | ( | ) | const |
Number of real halfedges of the pane.
|
inline |
Number of real nodes of the pane.
Definition at line 109 of file Simple_manifold_2.h.
References _pane.
Referenced by get_borders(), and Pane_manifold_2::size_of_nodes().
int size_of_real_quadrilaterals | ( | ) | const |
Number of real quadrilaterals of the pane.
Referenced by Pane_manifold_2::size_of_quadrilaterals().
int size_of_real_triangles | ( | ) | const |
Number of real triangles of the pane.
Referenced by Pane_manifold_2::size_of_triangles().
int size_of_triangles | ( | ) | const |
Total number of triangles of the pane.
Referenced by Pane_manifold_2::size_of_triangles().
|
inline |
Get size of internal edges.
Definition at line 643 of file Simple_manifold_2.h.
References _nspe, and size_of_elements().
|
protected |
Definition at line 898 of file Simple_manifold_2.h.
Referenced by determine_incident_halfedges(), determine_opposite_halfedges(), get_a_border_node(), get_a_ghost_border_node(), get_a_real_border_node(), Pane_manifold_2::get_bnode_index(), get_borders(), get_incident_edge(), get_incident_real_edge(), get_opposite_edge_border(), get_opposite_ghost_edge_border(), get_opposite_real_edge_border(), init(), is_ghost_border_edge(), is_ghost_border_node(), is_isolated_node(), and is_real_border_node().
|
protected |
Definition at line 866 of file Simple_manifold_2.h.
Referenced by init().
|
protected |
Definition at line 888 of file Simple_manifold_2.h.
Referenced by determine_incident_halfedges(), get_incident_edge(), get_incident_ghost_edge(), init(), is_border_node(), is_ghost_border_node(), and is_real_border_node().
|
protected |
Definition at line 886 of file Simple_manifold_2.h.
Referenced by determine_incident_halfedges(), get_incident_edge(), get_incident_ghost_edge(), get_incident_real_edge(), init(), is_border_node(), is_ghost_border_node(), is_isolated_node(), and is_real_border_node().
|
protected |
Definition at line 862 of file Simple_manifold_2.h.
Referenced by determine_ghosts(), determine_incident_halfedges(), determine_opposite_halfedges(), get_borders(), get_incident_edge(), get_incident_ghost_edge(), get_next_edge_interior(), get_next_ghost_edge_interior(), get_opposite_ghost_edge_interior(), get_prev_edge_interior(), get_prev_ghost_edge_interior(), init(), is_border_node(), is_ghost_border_node(), is_ghost_element(), is_ghost_node(), is_isolated_node(), is_real_border_node(), is_real_element(), and is_real_node().
|
protected |
Definition at line 877 of file Simple_manifold_2.h.
Referenced by determine_ghosts(), init(), is_ghost_element(), and is_real_element().
|
protected |
Definition at line 876 of file Simple_manifold_2.h.
Referenced by determine_ghosts(), init(), is_ghost_node(), and is_real_node().
|
protected |
Definition at line 901 of file Simple_manifold_2.h.
Referenced by determine_incident_halfedges(), init(), and size_of_isolated_nodes().
|
protected |
Definition at line 870 of file Simple_manifold_2.h.
Referenced by determine_incident_halfedges(), determine_opposite_halfedges(), get_next_edge_interior(), get_next_ghost_edge_interior(), get_opposite_ghost_edge_interior(), get_prev_edge_interior(), get_prev_ghost_edge_interior(), init(), is_ghost_element(), is_real_element(), and maxsize_of_real_elements().
|
protected |
Definition at line 869 of file Simple_manifold_2.h.
Referenced by determine_incident_halfedges(), get_borders(), get_incident_edge(), get_incident_ghost_edge(), init(), is_border_node(), is_ghost_border_node(), is_ghost_node(), is_isolated_node(), is_real_border_node(), is_real_node(), and maxsize_of_real_nodes().
|
protected |
Definition at line 867 of file Simple_manifold_2.h.
Referenced by determine_opposite_halfedges(), get_edge_index(), get_next_edge_interior(), get_next_ghost_edge_interior(), get_next_real_edge_interior(), get_prev_edge_interior(), get_prev_ghost_edge_interior(), get_prev_real_edge_interior(), init(), and upperbound_edge_index().
|
protected |
Definition at line 882 of file Simple_manifold_2.h.
Referenced by determine_opposite_halfedges(), get_next_edge_interior(), get_next_ghost_edge_interior(), get_opposite_ghost_edge_interior(), get_prev_edge_interior(), get_prev_ghost_edge_interior(), and init().
|
protected |
Definition at line 880 of file Simple_manifold_2.h.
Referenced by determine_opposite_halfedges(), get_incident_edge(), get_next_edge_interior(), get_next_ghost_edge_interior(), get_next_real_edge_interior(), get_opposite_ghost_edge_border(), get_opposite_ghost_edge_interior(), get_opposite_real_edge_interior(), get_prev_edge_interior(), get_prev_ghost_edge_interior(), get_prev_real_edge_interior(), and init().
|
protected |
Definition at line 860 of file Simple_manifold_2.h.
Referenced by determine_ghosts(), determine_incident_halfedges(), determine_opposite_halfedges(), get_destination(), init(), maxsize_of_elements(), maxsize_of_faces(), maxsize_of_ghost_elements(), maxsize_of_ghost_faces(), maxsize_of_ghost_nodes(), maxsize_of_nodes(), maxsize_of_real_faces(), pane(), Pane_manifold_2::size_of_edges(), size_of_faces(), size_of_ghost_elements(), size_of_ghost_faces(), size_of_ghost_nodes(), size_of_real_elements(), size_of_real_faces(), and size_of_real_nodes().
|
protected |
Definition at line 873 of file Simple_manifold_2.h.
Referenced by determine_opposite_halfedges(), get_a_border_edge(), get_a_border_node(), get_a_ghost_border_edge(), get_a_ghost_border_node(), Pane_manifold_2::get_bnode_index(), get_borders(), and size_of_ghost_border_edges().
|
protected |
Definition at line 872 of file Simple_manifold_2.h.
Referenced by determine_opposite_halfedges(), get_a_border_edge(), get_a_border_node(), get_a_ghost_border_edge(), get_a_ghost_border_node(), get_a_real_border_edge(), get_a_real_border_node(), get_borders(), get_incident_edge(), get_incident_ghost_edge(), get_incident_real_edge(), get_opposite_edge_border(), get_opposite_ghost_edge_border(), get_opposite_real_edge_border(), is_ghost_border_edge(), is_pure_real_border_edge(), is_real_border_edge(), and size_of_real_border_edges().
|
protected |
Definition at line 874 of file Simple_manifold_2.h.
Referenced by determine_opposite_halfedges(), get_a_border_edge(), get_a_border_node(), get_a_ghost_border_edge(), get_a_ghost_border_node(), get_a_real_border_edge(), get_a_real_border_node(), get_borders(), get_incident_edge(), get_incident_real_edge(), get_opposite_edge_border(), get_opposite_real_edge_border(), is_real_border_edge(), size_of_ghost_border_edges(), and size_of_real_border_edges().
|
protected |
Definition at line 863 of file Simple_manifold_2.h.
Referenced by determine_ghosts(), determine_incident_halfedges(), determine_opposite_halfedges(), get_borders(), init(), is_ghost_border_edge(), is_pure_real_border_edge(), and is_real_border_edge().