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< Edge > | edge (int i) |
const RCP< Face > & | face (int i) const |
RCP< Face > | face (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_ |
Definition at line 24 of file SundanceRivaraElement.hpp.
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 | |||
) |
Definition at line 38 of file SundanceRivaraElement.cpp.
References edges_, edgeSigns_, faces_, nodes_, Sundance::Rivara::RivaraMesh::tryEdge(), and Sundance::Rivara::RivaraMesh::tryFace().
virtual Sundance::Rivara::Element::~Element | ( | ) | [inline, virtual] |
dtor
Definition at line 42 of file SundanceRivaraElement.hpp.
References Sundance::Rivara::TreeNode::deleteChildren().
RCP<Edge> Sundance::Rivara::Element::edge | ( | int | i | ) | [inline] |
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] |
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 | |||
) |
Refine the element
Definition at line 98 of file SundanceRivaraElement.cpp.
References edges_, edgeSigns_, Element(), Sundance::Rivara::RivaraMesh::getFace(), Sundance::Rivara::TreeNode::hasChildren(), hasHangingNode(), label_, Sundance::Rivara::TreeNode::left(), longestEdgeIndex(), nodes_, ownerProc_, refine(), Sundance::Rivara::RivaraMesh::refinementAreas(), Sundance::Rivara::RivaraMesh::refinementSet(), Sundance::Rivara::TreeNode::right(), Sundance::Rivara::TreeNode::setChildren(), Sundance::Rivara::TreeNode::setParent(), and volume().
Referenced by Sundance::Rivara::RivaraMesh::refine(), and refine().
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().
Array<RCP<Edge> > Sundance::Rivara::Element::edges_ [private] |
Definition at line 110 of file SundanceRivaraElement.hpp.
Referenced by edge(), Element(), hasHangingNode(), hasNoEdgeLabels(), longestEdgeIndex(), and refine().
Array<int> Sundance::Rivara::Element::edgeSigns_ [private] |
Array<RCP<Face> > Sundance::Rivara::Element::faces_ [private] |
Definition at line 112 of file SundanceRivaraElement.hpp.
Referenced by Element(), face(), and hasNoFaceLabels().
int Sundance::Rivara::Element::label_ [private] |
Array<RCP<Node> > Sundance::Rivara::Element::nodes_ [private] |
Definition at line 108 of file SundanceRivaraElement.hpp.
Referenced by Element(), nodes(), refine(), showNodes(), and volume().
int Sundance::Rivara::Element::ownerProc_ [private] |