PPL Logo

edge Class Reference

#include <tri.h>

Collaboration diagram for edge:

Collaboration graph
[legend]

Public Member Functions

 edge ()
void sanityCheck (chunk *C, edgeRef ref)
void init ()
void init (int i, chunk *cPtr)
void init (elemRef *e, int i, chunk *cPtr)
void updateElement (elemRef oldval, elemRef newval)
const edgeRefgetRef () const
const elemRefgetNbrRef (const elemRef &er)
void lock ()
void unlock ()
int locked ()
 edge ()
 edge (int idx, int cid, chunk *myChk)
 edge (elemRef e1, elemRef e2, int p)
 edge (elemRef e1, elemRef e2)
 edge (const edge &e)
void set (int idx, int cid, chunk *myChk)
void set (elemRef e1, elemRef e2)
void set (elemRef *e)
void setNodes (int n1, int n2)
void setBoundary (int b)
int getBoundary ()
void reset ()
edgeoperator= (const edge &e)
int isPresent ()
void update (elemRef oldval, elemRef newval)
void updateNode (int oldval, int newval)
elemRefgetElement (int idx)
elemRefgetNot (elemRef er)
void setPending ()
void unsetPending ()
int isPending (elemRef e)
void checkPending (elemRef e)
void checkPending (elemRef e, elemRef ne)
int split (int *m, edgeRef *e_prime, int oIdx, int fIdx, elemRef requester, int *local, int *first, int *nullNbr)
void collapse (elemRef requester, int kIdx, int dIdx, elemRef kNbr, elemRef dNbr, edgeRef kEdge, edgeRef dEdge, node newN, double frac)
int flipPrevent (elemRef requester, int kIdx, int dIdx, elemRef kNbr, elemRef dNbr, edgeRef kEdge, edgeRef dEdge, node newN)
int existsOn (FEM_Comm_Rec *cl, int chunkID)
void translateSharedNodeIDs (int *kIdx, int *dIdx, elemRef req)
void unlockCloudRemoveEdge (int dIdxlShared, int kIdxlShared, FEM_Comm_Rec *dNodeRec, FEM_Comm_Rec *kNodeRec)
void localCollapse (int kIdx, int dIdx, elemRef *req, node *newNode, double frac, elemRef *keepNbr, elemRef *delNbr, edgeRef *kEdge, edgeRef *dEdge, int local, int first)
void updateCloud (int kIdx, int dIdx, node newNode, int *dIdxl, int *kIdxl, FEM_Comm_Rec **dNodeRec, FEM_Comm_Rec **kNodeRec)
int buildLockingCloud (int kIdx, int dIdx, elemRef *req, elemRef *nbr)
void sanityCheck (chunk *c, edgeRef shouldRef)
void sanityCheck (int node1, int node2, int eIdx)

Data Fields

elemRef elements [2]
int pending
int newNodeIdx
double length
elemRef waitingFor
node newNode
int incidentNode
int fixNode
int boundary
edgeRef newEdgeRef
chunkC
int nodes [2]
int present

Private Attributes

edgeRef myRef
chunkC
int theLock

Detailed Description

Definition at line 141 of file tri.h.


Constructor & Destructor Documentation

edge::edge (  )  [inline]

Definition at line 162 of file tri.h.

References C, elements, objRef::init(), init(), myRef, and theLock.

Here is the call graph for this function:

edge::edge (  )  [inline]

Definition at line 23 of file edge.h.

References present, and unsetPending().

Here is the call graph for this function:

edge::edge ( int  idx,
int  cid,
chunk myChk 
) [inline]

Definition at line 24 of file edge.h.

References C, myRef, nodes, present, objRef::set(), and unsetPending().

Here is the call graph for this function:

edge::edge ( elemRef  e1,
elemRef  e2,
int  p 
) [inline]

Definition at line 28 of file edge.h.

References elements, and pending.

edge::edge ( elemRef  e1,
elemRef  e2 
) [inline]

Definition at line 31 of file edge.h.

References elements, and unsetPending().

Here is the call graph for this function:

edge::edge ( const edge e  )  [inline]

Definition at line 34 of file edge.h.

References boundary, C, elements, fixNode, incidentNode, length, myRef, newEdgeRef, newNode, newNodeIdx, nodes, pending, present, and waitingFor.


Member Function Documentation

void edge::sanityCheck ( chunk C,
edgeRef  ref 
)

Definition at line 1308 of file tri.C.

References elements, myRef, and objRef::sanityCheck().

Here is the call graph for this function:

void edge::init ( void   )  [inline]

Definition at line 172 of file tri.h.

References theLock.

Referenced by edge().

Here is the caller graph for this function:

void edge::init ( int  i,
chunk cPtr 
)

Definition at line 159 of file tri.C.

References C, chunk::cid, objRef::init(), myRef, and theLock.

Here is the call graph for this function:

void edge::init ( elemRef e,
int  i,
chunk cPtr 
)

Definition at line 164 of file tri.C.

References C, chunk::cid, elements, objRef::init(), myRef, and theLock.

Here is the call graph for this function:

void edge::updateElement ( elemRef  oldval,
elemRef  newval 
)

Definition at line 170 of file tri.C.

References elements.

const edgeRef& edge::getRef ( void   )  const [inline]

Definition at line 181 of file tri.h.

References myRef.

const elemRef& edge::getNbrRef ( const elemRef er  )  [inline]

Definition at line 186 of file tri.h.

References elements.

void edge::lock (  )  [inline]

Definition at line 194 of file tri.h.

References theLock.

void edge::unlock (  )  [inline]

Definition at line 195 of file tri.h.

References theLock.

int edge::locked (  )  [inline]

Definition at line 196 of file tri.h.

References theLock.

void edge::set ( int  idx,
int  cid,
chunk myChk 
) [inline]

Definition at line 51 of file edge.h.

References C, idx, myRef, present, objRef::set(), and unsetPending().

Here is the call graph for this function:

void edge::set ( elemRef  e1,
elemRef  e2 
) [inline]

Definition at line 54 of file edge.h.

References e1, and elements.

void edge::set ( elemRef e  )  [inline]

Definition at line 55 of file edge.h.

References elements.

void edge::setNodes ( int  n1,
int  n2 
) [inline]

Definition at line 56 of file edge.h.

References nodes.

void edge::setBoundary ( int  b  )  [inline]

Definition at line 57 of file edge.h.

References boundary.

int edge::getBoundary (  )  [inline]

Definition at line 58 of file edge.h.

References boundary.

void edge::reset ( void   ) 

Definition at line 4 of file edge.C.

References C, fixNode, objRef::idx, incidentNode, newEdgeRef, newNode, newNodeIdx, nullRef, node::reset(), objRef::reset(), chunk::theEdges, unsetPending(), and waitingFor.

Here is the call graph for this function:

edge& edge::operator= ( const edge e  )  [inline]

Definition at line 60 of file edge.h.

References boundary, C, elements, fixNode, incidentNode, myRef, newEdgeRef, newNode, newNodeIdx, nodes, pending, present, and waitingFor.

int edge::isPresent (  )  [inline]

Definition at line 77 of file edge.h.

References present.

void edge::update ( elemRef  oldval,
elemRef  newval 
) [inline]

Definition at line 78 of file edge.h.

References elements.

void edge::updateNode ( int  oldval,
int  newval 
) [inline]

Definition at line 83 of file edge.h.

References nodes.

elemRef& edge::getElement ( int  idx  )  [inline]

Definition at line 88 of file edge.h.

References elements.

elemRef& edge::getNot ( elemRef  er  )  [inline]

Definition at line 92 of file edge.h.

References elements.

Referenced by collapse(), and split().

Here is the caller graph for this function:

void edge::setPending (  )  [inline]

Definition at line 97 of file edge.h.

References pending.

Referenced by collapse(), and split().

Here is the caller graph for this function:

void edge::unsetPending (  )  [inline]

Definition at line 98 of file edge.h.

References pending.

Referenced by edge(), reset(), and set().

Here is the caller graph for this function:

int edge::isPending ( elemRef  e  ) 

Definition at line 13 of file edge.C.

References pending, and waitingFor.

void edge::checkPending ( elemRef  e  ) 

Definition at line 18 of file edge.C.

References objRef::cid, elemRef::getArea(), objRef::idx, mesh, nullRef, pending, and waitingFor.

Here is the call graph for this function:

void edge::checkPending ( elemRef  e,
elemRef  ne 
)

Definition at line 25 of file edge.C.

References objRef::cid, elemRef::getArea(), objRef::idx, mesh, nullRef, pending, and waitingFor.

Here is the call graph for this function:

int edge::split ( int m,
edgeRef e_prime,
int  oIdx,
int  fIdx,
elemRef  requester,
int local,
int first,
int nullNbr 
)

void edge::collapse ( elemRef  requester,
int  kIdx,
int  dIdx,
elemRef  kNbr,
elemRef  dNbr,
edgeRef  kEdge,
edgeRef  dEdge,
node  newN,
double  frac 
)

int edge::flipPrevent ( elemRef  requester,
int  kIdx,
int  dIdx,
elemRef  kNbr,
elemRef  dNbr,
edgeRef  kEdge,
edgeRef  dEdge,
node  newN 
)

int edge::existsOn ( FEM_Comm_Rec cl,
int  chunkID 
) [inline]

Definition at line 109 of file edge.h.

References count.

Referenced by flipPrevent(), element::split(), element::translateNodeIDs(), and updateCloud().

Here is the caller graph for this function:

void edge::translateSharedNodeIDs ( int kIdx,
int dIdx,
elemRef  req 
)

Definition at line 354 of file edge.C.

References C, objRef::cid, IDXL_Side::getList(), chunk::meshPtr, myRef, FEM_Mesh::node, and FEM_Node::shared.

Referenced by collapse().

Here is the call graph for this function:

Here is the caller graph for this function:

void edge::unlockCloudRemoveEdge ( int  dIdxlShared,
int  kIdxlShared,
FEM_Comm_Rec dNodeRec,
FEM_Comm_Rec kNodeRec 
)

Definition at line 367 of file edge.C.

References C, objRef::cid, objRef::idx, mesh, myRef, chunk::removeEdge(), and chunk::unlockLocalChunk().

Referenced by collapse().

Here is the call graph for this function:

Here is the caller graph for this function:

void edge::localCollapse ( int  kIdx,
int  dIdx,
elemRef req,
node newNode,
double  frac,
elemRef keepNbr,
elemRef delNbr,
edgeRef kEdge,
edgeRef dEdge,
int  local,
int  first 
)

Definition at line 387 of file edge.C.

References PUP::b, C, objRef::cid, refineClient::collapse(), flag, edgeRef::getBoundary(), objRef::idx, mesh, edgeRef::remove(), chunk::theClient, edgeRef::update(), node::X(), and node::Y().

Referenced by collapse().

Here is the call graph for this function:

Here is the caller graph for this function:

void edge::updateCloud ( int  kIdx,
int  dIdx,
node  newNode,
int dIdxl,
int kIdxl,
FEM_Comm_Rec **  dNodeRec,
FEM_Comm_Rec **  kNodeRec 
)

Definition at line 474 of file edge.C.

References C, objRef::cid, existsOn(), IDXL_Side::getRec(), int, malloc(), mesh, chunk::meshPtr, myRef, FEM_Mesh::node, chunk::nodeReplaceDelete(), and FEM_Node::shared.

Referenced by collapse().

Here is the call graph for this function:

Here is the caller graph for this function:

int edge::buildLockingCloud ( int  kIdx,
int  dIdx,
elemRef req,
elemRef nbr 
)

Definition at line 419 of file edge.C.

References intMsg::anInt, C, objRef::cid, CkFreeMsg(), std::distance(), IDXL_Side::getRec(), objRef::idx, length, chunk::lockLocalChunk(), mesh, chunk::meshPtr, myRef, FEM_Mesh::node, FEM_Node::shared, chunk::theNodes, and chunk::unlockLocalChunk().

Referenced by collapse().

Here is the call graph for this function:

Here is the caller graph for this function:

void edge::sanityCheck ( chunk c,
edgeRef  shouldRef 
)

void edge::sanityCheck ( int  node1,
int  node2,
int  eIdx 
)

Definition at line 540 of file edge.C.

References elements, idx, and nodes.


Field Documentation

edgeRef edge::myRef [private]

chunk* edge::C [private]

int edge::theLock [private]

Definition at line 156 of file tri.h.

Referenced by edge(), init(), lock(), locked(), and unlock().

Definition at line 159 of file tri.h.

Referenced by edge(), getElement(), getNbrRef(), getNot(), init(), operator=(), sanityCheck(), set(), update(), and updateElement().

Definition at line 11 of file edge.h.

Referenced by checkPending(), collapse(), edge(), isPending(), operator=(), setPending(), split(), and unsetPending().

Definition at line 11 of file edge.h.

Referenced by edge(), operator=(), reset(), and split().

double edge::length

Definition at line 12 of file edge.h.

Referenced by buildLockingCloud(), edge(), and flipPrevent().

Definition at line 13 of file edge.h.

Referenced by checkPending(), collapse(), edge(), isPending(), operator=(), reset(), and split().

Definition at line 14 of file edge.h.

Referenced by collapse(), edge(), flipPrevent(), operator=(), reset(), and split().

Definition at line 15 of file edge.h.

Referenced by collapse(), edge(), operator=(), reset(), and split().

Definition at line 15 of file edge.h.

Referenced by collapse(), edge(), flipPrevent(), operator=(), reset(), and split().

Definition at line 16 of file edge.h.

Referenced by edge(), getBoundary(), operator=(), setBoundary(), and split().

Definition at line 17 of file edge.h.

Referenced by edge(), operator=(), reset(), and split().

Definition at line 18 of file edge.h.

Definition at line 21 of file edge.h.

Referenced by edge(), operator=(), sanityCheck(), setNodes(), split(), and updateNode().

Definition at line 22 of file edge.h.

Referenced by edge(), isPresent(), operator=(), and set().


The documentation for this class was generated from the following files:

Generated on Mon Sep 21 08:22:45 2020 for Charm++ by  doxygen 1.5.5