Sundance::Rivara::Element Class Reference

class Element is a maximal-dimension element in a simplicial mesh. More...

Inheritance diagram for Sundance::Rivara::Element:

Sundance::Rivara::TreeNode

List of all members.

Public Member Functions

 Element (RivaraMesh *mesh, const RCP< Node > &a, const RCP< Node > &b, const RCP< Node > &c, int ownerProc, int label)
 Element (RivaraMesh *mesh, const RCP< Node > &a, const RCP< Node > &b, const RCP< Node > &c, const RCP< Node > &d, int ownerProc, int label)
virtual ~Element ()
 dtor
double volume () const
 compute the volume of this element.
bool hasHangingNode () const
 Indicate whether any nodes are hanging at this point in the refinement algorithm.
int ownerProc () const
 Return the rank of the proc that owns this element.
int label () const
 Return the label.
int longestEdgeIndex () const
 Return the index of the longest edge.
void refine (RivaraMesh *mesh, double maxArea)
 Refine the element.
void getNeighbors (Array< Element * > &neighbors, Array< int > &weights) const
 Return a list of the neighbors of this element.
const Array< RCP< Node > > & nodes () const
 Return the element's nodes.
const RCP< Edge > & edge (int i) const
RCP< Edgeedge (int i)
const RCP< Face > & face (int i) const
RCP< Faceface (int i)
bool hasNoEdgeLabels () const
bool hasNoFaceLabels () const
Array< int > showNodes () const
 Return the element's nodes.

Private Attributes

int label_
Array< RCP< Node > > nodes_
Array< RCP< Edge > > edges_
Array< RCP< Face > > faces_
Array< int > edgeSigns_
int ownerProc_


Detailed Description

class Element is a maximal-dimension element in a simplicial mesh.

Definition at line 24 of file SundanceRivaraElement.hpp.


Constructor & Destructor Documentation

Element::Element ( RivaraMesh mesh,
const RCP< Node > &  a,
const RCP< Node > &  b,
const RCP< Node > &  c,
int  ownerProc,
int  label 
)

Definition at line 14 of file SundanceRivaraElement.cpp.

References edges_, edgeSigns_, nodes_, and Sundance::Rivara::RivaraMesh::tryEdge().

Referenced by refine().

Element::Element ( RivaraMesh mesh,
const RCP< Node > &  a,
const RCP< Node > &  b,
const RCP< Node > &  c,
const RCP< Node > &  d,
int  ownerProc,
int  label 
)

virtual Sundance::Rivara::Element::~Element (  )  [inline, virtual]

dtor

Definition at line 42 of file SundanceRivaraElement.hpp.

References Sundance::Rivara::TreeNode::deleteChildren().


Member Function Documentation

RCP<Edge> Sundance::Rivara::Element::edge ( int  i  )  [inline]

Definition at line 87 of file SundanceRivaraElement.hpp.

References edges_.

const RCP<Edge>& Sundance::Rivara::Element::edge ( int  i  )  const [inline]

Definition at line 85 of file SundanceRivaraElement.hpp.

References edges_.

Referenced by Sundance::RefinementTransformation::rivaraToMesh().

RCP<Face> Sundance::Rivara::Element::face ( int  i  )  [inline]

Definition at line 92 of file SundanceRivaraElement.hpp.

References faces_.

const RCP<Face>& Sundance::Rivara::Element::face ( int  i  )  const [inline]

Definition at line 90 of file SundanceRivaraElement.hpp.

References faces_.

Referenced by Sundance::RefinementTransformation::rivaraToMesh().

void Sundance::Rivara::Element::getNeighbors ( Array< Element * > &  neighbors,
Array< int > &  weights 
) const

Return a list of the neighbors of this element.

bool Element::hasHangingNode (  )  const

Indicate whether any nodes are hanging at this point in the refinement algorithm.

Definition at line 88 of file SundanceRivaraElement.cpp.

References edges_, and Sundance::Rivara::TreeNode::hasChildren().

Referenced by refine().

bool Element::hasNoEdgeLabels (  )  const

Definition at line 296 of file SundanceRivaraElement.cpp.

References edges_, and label().

Referenced by Sundance::RefinementTransformation::rivaraToMesh().

bool Element::hasNoFaceLabels (  )  const

Definition at line 305 of file SundanceRivaraElement.cpp.

References faces_, and label().

Referenced by Sundance::RefinementTransformation::rivaraToMesh().

int Sundance::Rivara::Element::label (  )  const [inline]

Return the label.

Definition at line 60 of file SundanceRivaraElement.hpp.

References label_.

Referenced by hasNoEdgeLabels(), hasNoFaceLabels(), and Sundance::RefinementTransformation::rivaraToMesh().

int Element::longestEdgeIndex (  )  const

Return the index of the longest edge.

Definition at line 77 of file SundanceRivaraElement.cpp.

References edges_.

Referenced by refine().

const Array<RCP<Node> >& Sundance::Rivara::Element::nodes (  )  const [inline]

Return the element's nodes.

Definition at line 81 of file SundanceRivaraElement.hpp.

References nodes_.

Referenced by Sundance::RefinementTransformation::rivaraToMesh().

int Sundance::Rivara::Element::ownerProc (  )  const [inline]

Return the rank of the proc that owns this element.

Definition at line 55 of file SundanceRivaraElement.hpp.

References ownerProc_.

Referenced by Sundance::RefinementTransformation::rivaraToMesh().

void Element::refine ( RivaraMesh mesh,
double  maxArea 
)

Array< int > Element::showNodes (  )  const

Return the element's nodes.

Definition at line 289 of file SundanceRivaraElement.cpp.

References nodes_.

double Element::volume (  )  const

compute the volume of this element.

Definition at line 272 of file SundanceRivaraElement.cpp.

References Sundance::cross2(), Sundance::cross3(), and nodes_.

Referenced by Sundance::RefinementTransformation::apply(), and refine().


Member Data Documentation

Array<RCP<Edge> > Sundance::Rivara::Element::edges_ [private]

Definition at line 114 of file SundanceRivaraElement.hpp.

Referenced by Element(), and refine().

Array<RCP<Face> > Sundance::Rivara::Element::faces_ [private]

Definition at line 112 of file SundanceRivaraElement.hpp.

Referenced by Element(), face(), and hasNoFaceLabels().

Definition at line 106 of file SundanceRivaraElement.hpp.

Referenced by label(), and refine().

Array<RCP<Node> > Sundance::Rivara::Element::nodes_ [private]

Definition at line 108 of file SundanceRivaraElement.hpp.

Referenced by Element(), nodes(), refine(), showNodes(), and volume().

Definition at line 116 of file SundanceRivaraElement.hpp.

Referenced by ownerProc(), and refine().

Site Contact