Sundance::Rivara::Element Class Reference

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 ()
double volume () const
bool hasHangingNode () const
int ownerProc () const
int label () const
int longestEdgeIndex () const
void refine (RivaraMesh *mesh, double maxArea)
void getNeighbors (Array< Element * > &neighbors, Array< int > &weights) const
const Array< RCP< Node > > & nodes () const
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

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