#include <node.h>
Public Member Functions | |
node () | |
Basic constructor. | |
node (double x, double y, double z) | |
Initializing constructor 1. | |
node (double inNode[3]) | |
Initializing constructor 2. | |
void | pup (PUP::er &p) |
Pupper. | |
void | set (int cid, int idx, chunk *cptr) |
Set operation 1. | |
void | set (double x, double y, double z) |
Set operation 2. | |
void | set (double inNode[3]) |
Set operation 3. | |
void | reset () |
Reset operation. | |
int | operator== (const node &n) |
Equality comparison operation. | |
node & | operator= (const node &n) |
Assignment operation. | |
double | getCoord (int d) |
Coordinate value access operation. | |
void | fix () |
Set fixed flag. | |
int | isFixed () |
Test fixed flag. | |
void | notFixed () |
Unset fixed flag. | |
void | setSurface () |
Set surface flag. | |
int | onSurface () |
Test surface flag. | |
void | notSurface () |
Unset surface flag. | |
double | distance (const node &n) |
Get distance to node n. | |
void | midpoint (const node &n, node &result) |
Find midpoint between this and node n; place in result. | |
node | midpoint (const node &n) |
Return midpoint between this and node n. | |
void | project (const node &n, node &result) |
Project line through point n to get new point. | |
void | shortenLine (const node &n, double l, node &result) |
Shorten line to length l; place new point in result. | |
void | relocateNode () |
Adjust node coordinates with collected data. | |
void | relocationVote (const node &n) |
Receive a position report. | |
node () | |
node (double a, double b) | |
void | init () |
void | init (double a, double b) |
void | init (chunk *cPtr) |
void | init (double a, double b, chunk *cPtr) |
node & | operator= (const node &n) |
int | operator== (const node &n) const |
double | X () const |
double | Y () const |
double | distance (const node &n) const |
void | midpoint (const node &n, node *result) const |
node () | |
node (double a, double b) | |
node (const node &n) | |
void | set (double a, double b) |
void | reset () |
int | operator== (const node &n) |
node & | operator= (const node &n) |
void | pup (PUP::er &p) |
int | isPresent () |
double | X () |
double | Y () |
int | lock (double l, edgeRef e) |
void | unlock () |
double | distance (const node &n) |
void | midpoint (const node &n, node &result) |
node | midpoint (const node &n) |
void | improvePos () |
void | reportPos (const node &n) |
int | safeToMove (node m) |
int | safeToMove (node m, elemRef E0, edgeRef e0, edgeRef e1, node n1, node n2, node n3) |
int | findIntersection (node m, node pi, node pj, node mi) |
int | between (node m, node mi) |
void | sanityCheck (int cid, int idx) |
void | dump () |
Data Fields | |
int | present |
int | boundary |
Private Attributes | |
double | coord [3] |
The 3D Cartesian coordinate. | |
int | fixed |
Flag for fixed node. | |
int | surface |
Flag for surface node. | |
int | reports |
Number of point relocation reports received. | |
double | sumReports [3] |
Sum of point relocation reports received. | |
nodeRef | myRef |
A reference to this node. | |
chunk * | C |
A pointer to the chunk on which this node resides. | |
double | x |
double | y |
chunk * | C |
int | theLock |
double | lockLength |
edgeRef | lockHolder |
Definition at line 12 of file node.h.
node::node | ( | ) | [inline] |
Basic constructor.
Initializes all data members except for coordinates.
Definition at line 39 of file node.h.
References C, fixed, myRef, reports, objRef::reset(), sumReports, and surface.
Referenced by midpoint().
node::node | ( | double | x, | |
double | y, | |||
double | z | |||
) | [inline] |
Initializing constructor 1.
Initializes all data members, accepting three (3) double parameters to initialize the coordinates.
Definition at line 49 of file node.h.
References C, fixed, myRef, reports, objRef::reset(), sumReports, and surface.
node::node | ( | double | inNode[3] | ) | [inline] |
Initializing constructor 2.
Initializes all data members, accepting an array of three (3) doubles as a parameter to initialize the coordinates.
Definition at line 60 of file node.h.
References C, fixed, myRef, reports, objRef::reset(), sumReports, and surface.
node::node | ( | double | a, | |
double | b | |||
) | [inline] |
node::node | ( | ) | [inline] |
node::node | ( | double | a, | |
double | b | |||
) | [inline] |
node::node | ( | const node & | n | ) | [inline] |
void node::pup | ( | PUP::er & | p | ) | [inline] |
Set operation 1.
Initializes myRef and C.
Definition at line 81 of file node.h.
References C, idx, myRef, and objRef::set().
Referenced by findIntersection(), nodeRef::get(), element::hasNodes(), element::improveInternalNode(), element::improveSurfaceNodeHelp(), element::refineCP(), element::refineLF(), and element::splitLF().
void node::set | ( | double | x, | |
double | y, | |||
double | z | |||
) | [inline] |
void node::set | ( | double | inNode[3] | ) | [inline] |
void node::reset | ( | void | ) | [inline] |
Reset operation.
Reinitializes all data except for the coordinates.
Definition at line 94 of file node.h.
References C, fixed, myRef, reports, objRef::reset(), sumReports, and surface.
Referenced by edge::reset().
double node::getCoord | ( | int | d | ) | [inline] |
Coordinate value access operation.
Input should be 0, 1 or 2. Returns the double that is the dth entry in the coord array. Prints error message if d is out of range.
Definition at line 118 of file node.h.
Referenced by element::improveInternalNode(), element::improveSurfaceNodeHelp(), element::refineCP(), element::refineLF(), element::splitLF(), and nodeRef::update().
void node::fix | ( | ) | [inline] |
Set fixed flag.
Definition at line 123 of file node.h.
References fixed.
Referenced by element::refineLE().
int node::isFixed | ( | ) | [inline] |
Test fixed flag.
Definition at line 125 of file node.h.
References fixed.
Referenced by chunk::addNode().
void node::notFixed | ( | ) | [inline] |
Unset fixed flag.
Definition at line 127 of file node.h.
References fixed.
Referenced by element::refineCP(), element::refineLE(), element::refineLF(), and element::splitLF().
void node::setSurface | ( | ) | [inline] |
Set surface flag.
Definition at line 129 of file node.h.
References surface.
Referenced by element::refineLE(), and element::refineLF().
int node::onSurface | ( | ) | [inline] |
Test surface flag.
Definition at line 131 of file node.h.
References surface.
Referenced by chunk::addNode().
void node::notSurface | ( | ) | [inline] |
Unset surface flag.
Definition at line 133 of file node.h.
References surface.
Referenced by element::refineCP(), element::refineLE(), element::refineLF(), and element::splitLF().
double node::distance | ( | const node & | n | ) | [inline] |
Get distance to node n.
Definition at line 135 of file node.h.
References coord.
Referenced by element::calculateArea(), element::findLongestEdge(), element::getArea(), element::improveInternalNode(), element::improveSurfaceNodeHelp(), and shortenLine().
void node::relocateNode | ( | ) | [inline] |
void node::relocationVote | ( | const node & | n | ) | [inline] |
void node::init | ( | void | ) | [inline] |
void node::init | ( | double | a, | |
double | b | |||
) | [inline] |
void node::init | ( | double | a, | |
double | b, | |||
chunk * | cPtr | |||
) | [inline] |
double node::X | ( | ) | const [inline] |
Definition at line 125 of file tri.h.
References x.
Referenced by between(), findIntersection(), element::flipInverseTest(), edge::localCollapse(), chunk::nodeReplaceDelete(), edge::split(), and element::splitResponse().
double node::Y | ( | ) | const [inline] |
Definition at line 126 of file tri.h.
References y.
Referenced by between(), findIntersection(), element::flipInverseTest(), edge::localCollapse(), chunk::nodeReplaceDelete(), edge::split(), and element::splitResponse().
double node::distance | ( | const node & | n | ) | const [inline] |
void node::set | ( | double | a, | |
double | b | |||
) | [inline] |
void node::reset | ( | void | ) | [inline] |
void node::pup | ( | PUP::er & | p | ) | [inline] |
double node::distance | ( | const node & | n | ) | [inline] |
void node::improvePos | ( | ) | [inline] |
void node::reportPos | ( | const node & | n | ) | [inline] |
double node::coord[3] [private] |
The 3D Cartesian coordinate.
Definition at line 14 of file node.h.
Referenced by distance(), midpoint(), operator=(), operator==(), project(), relocationVote(), and shortenLine().
int node::fixed [private] |
Flag for fixed node.
One (1) flags this as fixed node; zero (0) is not fixed; negative (-1) is uninitialized
Definition at line 18 of file node.h.
Referenced by fix(), isFixed(), node(), chunk::nodeReplaceDelete(), notFixed(), operator=(), pup(), relocateNode(), and reset().
int node::surface [private] |
Flag for surface node.
One (1) flags this as a surface node; zero (0) is not surface; negative (-1) is uninitialized
Definition at line 22 of file node.h.
Referenced by node(), notSurface(), onSurface(), operator=(), pup(), reset(), and setSurface().
int node::reports [private] |
Number of point relocation reports received.
For mesh improvement, we receive new point votes for relocating this point. This keeps track of how many we have received.
Definition at line 26 of file node.h.
Referenced by improvePos(), node(), operator=(), pup(), relocateNode(), relocationVote(), reportPos(), and reset().
double node::sumReports [private] |
Sum of point relocation reports received.
For mesh improvement, we sum new point votes for each coordinate in this array. When voting is complete we compute an average for each coordinate using reports (above).
Definition at line 31 of file node.h.
Referenced by improvePos(), node(), operator=(), pup(), relocateNode(), relocationVote(), reportPos(), and reset().
nodeRef node::myRef [private] |
double node::x [private] |
Definition at line 104 of file tri.h.
Referenced by between(), distance(), dump(), findIntersection(), improvePos(), init(), midpoint(), node(), operator=(), operator==(), pup(), reportPos(), sanityCheck(), set(), and X().
double node::y [private] |
Definition at line 104 of file tri.h.
Referenced by between(), distance(), dump(), findIntersection(), improvePos(), init(), midpoint(), node(), operator=(), operator==(), pup(), reportPos(), sanityCheck(), set(), and Y().
int node::theLock [private] |
Definition at line 17 of file node.h.
Referenced by lock(), node(), operator=(), pup(), reset(), sanityCheck(), and unlock().
double node::lockLength [private] |
edgeRef node::lockHolder [private] |
Definition at line 21 of file node.h.
Referenced by isPresent(), node(), operator=(), pup(), reset(), and set().
Definition at line 22 of file node.h.
Referenced by node(), chunk::nodeReplaceDelete(), operator=(), pup(), reset(), and safeToMove().