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

#include <Overlay_primitives.h>

Collaboration diagram for Vertex_set:

Public Types

typedef Vertex_set Self
 
typedef Vertex_overlay Vertex
 
typedef Halfedge_overlay Halfedge
 
typedef int Value
 
typedef unsigned int Size
 

Public Member Functions

 Vertex_set ()
 
 Vertex_set (const Halfedge *h)
 
 Vertex_set (const Halfedge *h, Size)
 
const RFC_Pane_overlaypane () const
 
int operator[] (Size i) const
 
Size size_of_edges () const
 
Size size_of_nodes () const
 

Protected Member Functions

Size count_edges (const Halfedge *e) const
 

Protected Attributes

const RFC_Pane_overlay_pane
 
std::vector< int > _nodes
 
Size _ne
 

Detailed Description

Definition at line 47 of file Overlay_primitives.h.

Member Typedef Documentation

Definition at line 51 of file Overlay_primitives.h.

typedef Vertex_set Self

Definition at line 49 of file Overlay_primitives.h.

typedef unsigned int Size

Definition at line 53 of file Overlay_primitives.h.

typedef int Value

Definition at line 52 of file Overlay_primitives.h.

Definition at line 50 of file Overlay_primitives.h.

Constructor & Destructor Documentation

Vertex_set ( )
inline

Definition at line 55 of file Overlay_primitives.h.

55 : _pane(NULL), _ne(0) {}
const RFC_Pane_overlay * _pane
Vertex_set ( const Halfedge h)
explicit

Definition at line 42 of file Overlay_primitives.C.

References _ne, _nodes, _pane, RFC_Pane_base::base(), Halfedge_overlay::facet(), RFC_Pane_overlay::get_lid(), i, RFC_assertion, RFC_precondition, Element_node_enumerator::size_of_nodes(), v, and Halfedge_overlay::vertex().

43  : _pane(acc.get_pane(h)), _ne(count_edges(h))
44 {
45  RFC_precondition ( _ne==3 || _ne==4);
46 
47  Element_node_enumerator ene( _pane->base(), _pane->get_lid( h->facet()));
48 
49  Size nn=ene.size_of_nodes();
50  int r=-1;
51  Value v = _pane->get_lid(h->vertex());
52  _nodes.resize(nn);
53 
54  for ( Size i=0; i<nn; ++i) {
55  if ((_nodes[i] = ene[i])==v) r=(i+_ne-1)%_ne;
56  }
57  RFC_assertion( r>=0 && r<int(_ne));
58  if (r>0) {
59  std::rotate( &_nodes[0], &_nodes[r], &_nodes[_ne]);
60  if (nn>_ne) std::rotate( &_nodes[_ne], &_nodes[_ne+r], &_nodes[_ne+_ne]);
61  }
62 }
unsigned int Size
An adaptor for enumerating node IDs of an element.
RFC_Pane_overlay * get_pane(Vertex *v) const
Definition: HDS_accessor.h:128
Base * base()
The id of its base COM::Pane object.
Size count_edges(const Halfedge *e) const
RFC_BEGIN_NAME_SPACE HDS_accessor< Tag_true > acc
int get_lid(const Vertex *v) const
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS 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 v
Definition: roccomf90.h:20
blockLoc i
Definition: read.cpp:79
const RFC_Pane_overlay * _pane
#define RFC_precondition
Definition: rfc_basic.h:63
std::vector< int > _nodes
#define RFC_assertion
Definition: rfc_basic.h:65

Here is the call graph for this function:

Vertex_set ( const Halfedge h,
Size   
)

Definition at line 64 of file Overlay_primitives.C.

References _ne, _nodes, _pane, Halfedge_overlay::destination(), RFC_Pane_overlay::get_lid(), and Halfedge_overlay::origin().

65  : _pane(acc.get_pane(h)), _ne(3)
66 {
67  _nodes.resize(_ne, -1);
68 
69  _nodes[0] = _pane->get_lid( h->origin());
70  _nodes[1] = _pane->get_lid( h->destination());
71 }
RFC_Pane_overlay * get_pane(Vertex *v) const
Definition: HDS_accessor.h:128
RFC_BEGIN_NAME_SPACE HDS_accessor< Tag_true > acc
int get_lid(const Vertex *v) const
Node destination() const
Obtain the (primary copy of the) destination of the edge.
Definition: Manifold_2.h:472
const RFC_Pane_overlay * _pane
std::vector< int > _nodes
Node origin() const
Obtain the (primary copy of the) origin of the edge.
Definition: Manifold_2.h:468

Here is the call graph for this function:

Member Function Documentation

Size count_edges ( const Halfedge e) const
inlineprotected

Definition at line 71 of file Overlay_primitives.h.

References i, and Halfedge_overlay::next().

71  {
72  Size i=0;
73  const Halfedge *h=e;
74  do { ++i; } while ( (h=h->next())!= e);
75  return i;
76  }
unsigned int Size
This class encapsulate a halfedge over a window manifold.
Definition: Manifold_2.h:446
Halfedge next() const
Get the next halfedge of its owner element.
Definition: Manifold_2.h:465
blockLoc i
Definition: read.cpp:79

Here is the call graph for this function:

int operator[] ( Size  i) const
inline

Definition at line 65 of file Overlay_primitives.h.

References _nodes, and i.

65 { return _nodes[i]; }
blockLoc i
Definition: read.cpp:79
std::vector< int > _nodes
const RFC_Pane_overlay* pane ( ) const
inline

Definition at line 64 of file Overlay_primitives.h.

References _pane.

Referenced by Point_set::operator[](), and Normal_set::operator[]().

64 { return _pane; }
const RFC_Pane_overlay * _pane

Here is the caller graph for this function:

Size size_of_edges ( ) const
inline

Definition at line 67 of file Overlay_primitives.h.

References _ne.

Referenced by Point_set::size_of_edges(), Normal_set::size_of_edges(), and Overlay_primitives::snap_blue_ridge_vertex().

67 { return _ne; }

Here is the caller graph for this function:

Size size_of_nodes ( ) const
inline

Definition at line 68 of file Overlay_primitives.h.

References _nodes.

Referenced by Point_set::size_of_nodes(), and Normal_set::size_of_nodes().

68 { return _nodes.size(); }
std::vector< int > _nodes

Here is the caller graph for this function:

Member Data Documentation

Size _ne
protected

Definition at line 80 of file Overlay_primitives.h.

Referenced by size_of_edges(), and Vertex_set().

std::vector<int> _nodes
protected

Definition at line 79 of file Overlay_primitives.h.

Referenced by operator[](), size_of_nodes(), and Vertex_set().

const RFC_Pane_overlay* _pane
protected

Definition at line 78 of file Overlay_primitives.h.

Referenced by pane(), and Vertex_set().


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