Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Interface for Overlay

Functions

bool is_same_node (Vertex *v1, Vertex *v2)
 Check whether given two vertices correspond to the same physical point. More...
 
void create_overlay_data ()
 
void delete_overlay_data ()
 
void determine_counterparts ()
 
void unmark_alledges ()
 
const Halfedgeget_an_unmarked_halfedge () const
 
Halfedgeget_an_unmarked_halfedge ()
 

Detailed Description

Function Documentation

void create_overlay_data ( )

Definition at line 532 of file RFC_Window_overlay.C.

References RFC_Window_base::_pane_set, and RFC_Pane_overlay::create_overlay_data().

Referenced by Overlay::overlay().

532  {
533  // Loop through panes
534  Pane_set::iterator pit=_pane_set.begin(), piend=_pane_set.end();
535  for ( ; pit != piend; ++pit) {
536  RFC_Pane_overlay &p = (RFC_Pane_overlay &)*pit->second;
538  }
539 
540 }
Pane_set _pane_set
The set of panes contained in the window.

Here is the call graph for this function:

Here is the caller graph for this function:

void delete_overlay_data ( )

Definition at line 542 of file RFC_Window_overlay.C.

References RFC_Window_base::_pane_set, RFC_Pane_overlay::delete_overlay_data(), if(), RFC_Pane_base::is_master(), and RFC_Window_derived< RFC_Pane_overlay >::pane().

Referenced by Overlay::overlay().

542  {
543  // Loop through the panes to remove the buffer spaces
544  Pane_set::iterator pit, piend;
545  for (pit=_pane_set.begin(), piend=_pane_set.end(); pit != piend; ++pit) {
546  RFC_Pane_overlay &pane = (RFC_Pane_overlay &)*pit->second;
547  if ( !pane.is_master()) continue;
548 
549  pane.delete_overlay_data();
550  }
551 }
if(dy > dx)
const Pane & pane(const int pid) const
Get a reference to the pane with give id pid.
bool is_master() const
Is this pane a master copy?
Pane_set _pane_set
The set of panes contained in the window.

Here is the call graph for this function:

Here is the caller graph for this function:

void determine_counterparts ( )

Definition at line 482 of file RFC_Window_overlay.C.

References RFC_Window_base::_pane_set, and iend.

Referenced by RFC_Window_overlay::RFC_Window_overlay().

482  {
483  // Construct a mapping from vertex pair to border edges
484  Pane_set::iterator it=_pane_set.begin(), iend=_pane_set.end();
485  for (; it != iend; ++it)
486  ((RFC_Pane_overlay*)it->second)->construct_bvpair2edge();
487 
488  // Construct mapping from panal border edges to their counterpart.
489  for ( it = _pane_set.begin(); it != iend; ++it)
490  ((RFC_Pane_overlay*)it->second)->determine_counterparts();
491 
492  // Clear the mapping
493  for ( it = _pane_set.begin(); it != iend; ++it)
494  ((RFC_Pane_overlay*)it->second)->_bv2edges.clear();
495 }
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode iend
Pane_set _pane_set
The set of panes contained in the window.

Here is the caller graph for this function:

const RFC_Window_overlay::Halfedge * get_an_unmarked_halfedge ( ) const

Definition at line 93 of file RFC_Window_overlay.C.

References RFC_Pane_overlay::_hds, RFC_Window_base::_pane_set, RFC_Pane_overlay::is_on_feature(), RFC_Pane_overlay::marked(), and RFC_Window_derived< RFC_Pane_overlay >::pane().

Referenced by RFC_Window_overlay::get_an_unmarked_halfedge(), and Overlay::overlay_init().

93  {
94  const Halfedge *hbrd=NULL;
95 
96  for ( Pane_set::const_iterator pit=_pane_set.begin();
97  pit != _pane_set.end(); ++pit) {
98  const RFC_Pane_overlay &pane =
99  reinterpret_cast<const RFC_Pane_overlay &>(*pit->second);
100  RFC_Pane_overlay::HDS::Halfedge_const_iterator
101  hit=pane._hds.halfedges_begin(), hend=pane._hds.border_halfedges_begin();
102 
103  for ( ; hit != hend; ++hit) if (!pane.marked( &*hit)) {
104  if ( hbrd==NULL && pane.is_on_feature(hit->origin()))
105  hbrd = &*hit;
106  else if ( !pane.is_on_feature(hit->origin()))
107  return &*hit;
108  }
109  }
110  return hbrd;
111 }
const Pane & pane(const int pid) const
Get a reference to the pane with give id pid.
Pane_set _pane_set
The set of panes contained in the window.
Halfedge_overlay Halfedge
bool is_on_feature(const Vertex *v) const
bool marked(const Halfedge *h) const

Here is the call graph for this function:

Here is the caller graph for this function:

RFC_Window_overlay::Halfedge * get_an_unmarked_halfedge ( )

Definition at line 114 of file RFC_Window_overlay.C.

References RFC_Window_overlay::get_an_unmarked_halfedge().

114  {
115  return const_cast<Halfedge*>( ((const Self*)this)->
117 }
RFC_Window_overlay Self
const Halfedge * get_an_unmarked_halfedge() const
Halfedge_overlay Halfedge

Here is the call graph for this function:

bool is_same_node ( Vertex v1,
Vertex v2 
)

Check whether given two vertices correspond to the same physical point.

Definition at line 121 of file RFC_Window_overlay.C.

References RFC_Pane_overlay::get_primary(), Vertex_overlay::halfedge(), Halfedge_overlay::is_border(), and Vertex_overlay::pane().

121  {
122  if ( v1==v2) return true;
123  if ( !v1->halfedge()->is_border() || !v2->halfedge()->is_border())
124  return false;
125  return v1->pane()->get_primary( v1) == v2->pane()->get_primary( v2);
126 }

Here is the call graph for this function:

void unmark_alledges ( )

Definition at line 498 of file RFC_Window_overlay.C.

References RFC_Pane_overlay::_e_marks, RFC_Window_base::_pane_set, and iend.

Referenced by Overlay::intersect_blue_with_green().

498  {
499  Pane_set::iterator it=_pane_set.begin(), iend=_pane_set.end();
500  for ( ; it != iend; ++it) {
501  RFC_Pane_overlay &p = (RFC_Pane_overlay &)*it->second;
502  fill( p._e_marks.begin(), p._e_marks.end(), 0);
503  }
504 }
std::vector< int > _e_marks
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode iend
Pane_set _pane_set
The set of panes contained in the window.

Here is the caller graph for this function: