Public Member Functions | Private Attributes
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 66 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 56 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 84 of file SundanceRivaraElement.hpp.

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


Member Function Documentation

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

Definition at line 127 of file SundanceRivaraElement.hpp.

References edges_.

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

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

Definition at line 129 of file SundanceRivaraElement.hpp.

References edges_.

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

Definition at line 132 of file SundanceRivaraElement.hpp.

References faces_.

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

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

Definition at line 134 of file SundanceRivaraElement.hpp.

References faces_.

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 130 of file SundanceRivaraElement.cpp.

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

Referenced by refine().

bool Element::hasNoEdgeLabels ( ) const

Definition at line 338 of file SundanceRivaraElement.cpp.

References edges_, and label().

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

bool Element::hasNoFaceLabels ( ) const

Definition at line 347 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 102 of file SundanceRivaraElement.hpp.

References label_.

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

Return the index of the longest edge

Definition at line 119 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 123 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 97 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 331 of file SundanceRivaraElement.cpp.

References nodes_.

double Element::volume ( ) const

compute the volume of this element.

Definition at line 314 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 156 of file SundanceRivaraElement.hpp.

Referenced by Element(), and refine().

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

Definition at line 154 of file SundanceRivaraElement.hpp.

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

Definition at line 148 of file SundanceRivaraElement.hpp.

Referenced by label(), and refine().

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

Definition at line 150 of file SundanceRivaraElement.hpp.

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

Definition at line 158 of file SundanceRivaraElement.hpp.

Referenced by ownerProc(), and refine().

Site Contact