Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Facet_ID Class Reference

The ID of a facet (edge in 2D and face in 3D) encodes an element ID and the local facet's ID internal to the element. More...

#include <Simple_manifold_2.h>

Public Types

enum  { nDigits =4, BndID =15 }
 

Public Member Functions

 Facet_ID ()
 
 Facet_ID (int eid, char lid)
 
int eid () const
 Element ID of the halfedge. More...
 
char lid () const
 Local edge ID of the halfedge within its element. More...
 
bool is_border () const
 Determines whether the facet is on border. More...
 
bool operator== (const Facet_ID e) const
 Comparison operators. More...
 
bool operator!= (const Facet_ID e) const
 
bool operator< (const Facet_ID e) const
 

Private Attributes

int _code
 

Detailed Description

The ID of a facet (edge in 2D and face in 3D) encodes an element ID and the local facet's ID internal to the element.

For internal facets, element ID starts with 1, and internal ID starts with 0 and must be smaller than 15. For border facets, the element ID correspondes to the numbering of border facets between 1 and the number of border facets, and the local edge ID is BndID=15.

Definition at line 49 of file Simple_manifold_2.h.

Member Enumeration Documentation

anonymous enum
Enumerator
nDigits 
BndID 

Definition at line 51 of file Simple_manifold_2.h.

Constructor & Destructor Documentation

Facet_ID ( )
inline

Definition at line 53 of file Simple_manifold_2.h.

53 : _code(0) {}
Facet_ID ( int  eid,
char  lid 
)
inline

Definition at line 54 of file Simple_manifold_2.h.

54 : _code( (eid<<nDigits)+(BndID&lid)) {}
char lid() const
Local edge ID of the halfedge within its element.
int eid() const
Element ID of the halfedge.

Member Function Documentation

int eid ( ) const
inline

Element ID of the halfedge.

Definition at line 57 of file Simple_manifold_2.h.

References _code, and nDigits.

Referenced by Pane_connectivity::collect_nodes(), Pane_manifold_2::convert_pconn_edge2ghost(), Pane_boundary::determine_border_nodes_3(), Simple_manifold_2::determine_opposite_halfedges(), Pane_manifold_2::get_bd_flag(), Pane_manifold_2::get_bd_normal(), Pane_manifold_2::get_bdedge_flag(), Pane_manifold_2::get_bnode_index(), Simple_manifold_2::get_border_edgeID(), Pane_manifold_2::get_counterpart(), Simple_manifold_2::get_destination(), Simple_manifold_2::get_edge_index(), Simple_manifold_2::get_incident_edge(), Simple_manifold_2::get_incident_ghost_edge(), Simple_manifold_2::get_incident_real_edge(), Simple_manifold_2::get_next_edge_interior(), Simple_manifold_2::get_next_ghost_edge_interior(), Simple_manifold_2::get_next_real_edge_interior(), Simple_manifold_2::get_opposite_edge_border(), Simple_manifold_2::get_opposite_ghost_edge(), Simple_manifold_2::get_opposite_ghost_edge_border(), Simple_manifold_2::get_opposite_ghost_edge_interior(), Simple_manifold_2::get_opposite_real_edge_border(), Simple_manifold_2::get_opposite_real_edge_interior(), Simple_manifold_2::get_prev_edge_interior(), Simple_manifold_2::get_prev_ghost_edge_interior(), Simple_manifold_2::get_prev_real_edge_interior(), Simple_manifold_2::is_ghost_border_edge(), Simple_manifold_2::is_ghost_border_node(), Simple_manifold_2::is_isolated_node(), Simple_manifold_2::is_pure_real_border_edge(), Simple_manifold_2::is_real_border_edge(), and Simple_manifold_2::is_real_border_node().

Here is the caller graph for this function:

bool is_border ( ) const
inline

Determines whether the facet is on border.

Definition at line 62 of file Simple_manifold_2.h.

References BndID, and lid().

Referenced by Pane_manifold_2::get_bd_flag(), Pane_manifold_2::get_bd_normal(), Pane_manifold_2::get_bdedge_flag(), Pane_manifold_2::get_bnode_index(), Simple_manifold_2::get_border_edgeID(), Pane_manifold_2::get_counterpart(), Simple_manifold_2::get_destination(), Simple_manifold_2::get_incident_edge(), Simple_manifold_2::get_incident_ghost_edge(), Simple_manifold_2::get_incident_real_edge(), Simple_manifold_2::get_next_edge(), Simple_manifold_2::get_next_ghost_edge(), Simple_manifold_2::get_next_real_edge(), Pane_manifold_2::get_opposite_edge(), Simple_manifold_2::get_opposite_edge(), Simple_manifold_2::get_opposite_edge_border(), Simple_manifold_2::get_opposite_ghost_edge(), Simple_manifold_2::get_opposite_ghost_edge_border(), Simple_manifold_2::get_opposite_ghost_edge_interior(), Simple_manifold_2::get_opposite_real_edge_border(), Simple_manifold_2::get_opposite_real_edge_interior(), Pane_manifold_2::get_prev_edge(), Simple_manifold_2::get_prev_ghost_edge(), Simple_manifold_2::get_prev_real_edge(), Pane_manifold_2::is_border_edge(), Simple_manifold_2::is_ghost_border_edge(), Simple_manifold_2::is_ghost_border_node(), Simple_manifold_2::is_isolated_node(), Pane_manifold_2::is_physical_border_edge(), Simple_manifold_2::is_pure_real_border_edge(), Simple_manifold_2::is_real_border_edge(), and Simple_manifold_2::is_real_border_node().

62 { return lid()==BndID; }
char lid() const
Local edge ID of the halfedge within its element.

Here is the call graph for this function:

Here is the caller graph for this function:

bool operator!= ( const Facet_ID  e) const
inline

Definition at line 67 of file Simple_manifold_2.h.

References _code.

68  { return _code!=e._code; }
bool operator< ( const Facet_ID  e) const
inline

Definition at line 69 of file Simple_manifold_2.h.

References _code, and lid().

70  { return lid()<e.lid() || lid()==e.lid() && _code<e._code; }
char lid() const
Local edge ID of the halfedge within its element.

Here is the call graph for this function:

bool operator== ( const Facet_ID  e) const
inline

Comparison operators.

Definition at line 65 of file Simple_manifold_2.h.

References _code.

66  { return _code==e._code; }

Member Data Documentation

int _code
private

Definition at line 72 of file Simple_manifold_2.h.

Referenced by eid(), lid(), operator!=(), operator<(), and operator==().


The documentation for this class was generated from the following file: