OCTREE::Node< Cell > Class Template Reference

List of all members.

Detailed Description

template<class Cell>
class OCTREE::Node< Cell >

Class defining a node of the octree.

Definition at line 47 of file Octree.h.

Public Member Functions

 Node (NODE_TYPE nodeType, Node< Cell > *theParent, Cell &theCell)
 Node ()
void SetCell (Cell &c)
void SetParent (Node *n)
void SetF_NEchild (Node< Cell > *n)
void SetF_NWchild (Node< Cell > *n)
void SetF_SEchild (Node< Cell > *n)
void SetF_SWchild (Node< Cell > *n)
void SetB_NEchild (Node< Cell > *n)
void SetB_NWchild (Node< Cell > *n)
void SetB_SEchild (Node< Cell > *n)
void SetB_SWchild (Node< Cell > *n)
Cell & GetCell ()
Node< Cell > * GetF_NEchild ()
Node< Cell > * GetF_NWchild ()
Node< Cell > * GetF_SEchild ()
Node< Cell > * GetF_SWchild ()
Node< Cell > * GetB_NEchild ()
Node< Cell > * GetB_NWchild ()
Node< Cell > * GetB_SEchild ()
Node< Cell > * GetB_SWchild ()
bool isLeaf ()
void getAllFaceNeighbors (std::vector< Node< Cell > * > &nbrs)
void getAllNeighbors (std::vector< Node< Cell > * > &nbrs)
void getAllEdgeNeighbors (std::vector< Node< Cell > * > &nbrs)
void getAllSouthNeighbors (std::vector< Node< Cell > * > &nbrs)
Node< Cell > * getSouthNeighborNode ()
void getNorthBoundary (std::vector< Node< Cell > * > &nbrs)
void getAllNorthNeighbors (std::vector< Node< Cell > * > &nbrs)
Node< Cell > * getNorthNeighborNode ()
void getSouthBoundary (std::vector< Node< Cell > * > &nbrs)
void getAllWestNeighbors (std::vector< Node< Cell > * > &nbrs)
Node< Cell > * getWestNeighborNode ()
void getEastBoundary (std::vector< Node< Cell > * > &nbrs)
void getWestBoundary (std::vector< Node< Cell > * > &nbrs)
void getAllEastNeighbors (std::vector< Node< Cell > * > &nbrs)
Node< Cell > * getEastNeighborNode ()
void getAllFrontNeighbors (std::vector< Node< Cell > * > &nbrs)
Node< Cell > * getFrontNeighborNode ()
void getBackBoundary (std::vector< Node< Cell > * > &nbrs)
void getAllBackNeighbors (std::vector< Node< Cell > * > &nbrs)
Node< Cell > * getBackNeighborNode ()
void getFrontBoundary (std::vector< Node< Cell > * > &nbrs)
void getNWLine (std::vector< Node< Cell > * > &line)
void getNELine (std::vector< Node< Cell > * > &line)
void getSWLine (std::vector< Node< Cell > * > &line)
void getSELine (std::vector< Node< Cell > * > &line)
void getF_NLine (std::vector< Node< Cell > * > &line)
void getF_SLine (std::vector< Node< Cell > * > &line)
void getF_ELine (std::vector< Node< Cell > * > &line)
void getF_WLine (std::vector< Node< Cell > * > &line)
void getB_NLine (std::vector< Node< Cell > * > &line)
void getB_SLine (std::vector< Node< Cell > * > &line)
void getB_ELine (std::vector< Node< Cell > * > &line)
void getB_WLine (std::vector< Node< Cell > * > &line)
void getNWNeighbors (std::vector< Node< Cell > * > &nbrs)
void getNENeighbors (std::vector< Node< Cell > * > &nbrs)
void getSWNeighbors (std::vector< Node< Cell > * > &nbrs)
void getSENeighbors (std::vector< Node< Cell > * > &nbrs)
void getF_NNeighbors (std::vector< Node< Cell > * > &nbrs)
void getF_SNeighbors (std::vector< Node< Cell > * > &nbrs)
void getF_ENeighbors (std::vector< Node< Cell > * > &nbrs)
void getF_WNeighbors (std::vector< Node< Cell > * > &nbrs)
void getB_NNeighbors (std::vector< Node< Cell > * > &nbrs)
void getB_SNeighbors (std::vector< Node< Cell > * > &nbrs)
void getB_ENeighbors (std::vector< Node< Cell > * > &nbrs)
void getB_WNeighbors (std::vector< Node< Cell > * > &nbrs)
Node< Cell > * getF_NWCorner ()
Node< Cell > * getF_NECorner ()
Node< Cell > * getF_SWCorner ()
Node< Cell > * getF_SECorner ()
Node< Cell > * getB_NWCorner ()
Node< Cell > * getB_NECorner ()
Node< Cell > * getB_SWCorner ()
Node< Cell > * getB_SECorner ()
Node< Cell > * F_NENeighbor ()
Node< Cell > * F_NWNeighbor ()
Node< Cell > * F_SWNeighbor ()
Node< Cell > * F_SENeighbor ()
Node< Cell > * B_NENeighbor ()
Node< Cell > * B_NWNeighbor ()
Node< Cell > * B_SWNeighbor ()
Node< Cell > * B_SENeighbor ()
bool isSmallerThanNeighbors (std::vector< Node< Cell > * > &nbrs)

Public Attributes

Cell cell
NODE_TYPE type
Nodeparent
NodeF_NEchild
NodeF_NWchild
NodeF_SEchild
NodeF_SWchild
NodeB_NEchild
NodeB_NWchild
NodeB_SEchild
NodeB_SWchild
int depth
int index


Constructor & Destructor Documentation

template<class Cell>
OCTREE::Node< Cell >::Node ( NODE_TYPE  nodeType,
Node< Cell > *  theParent,
Cell &  theCell 
)

This is the constructor for the node, doing some stuff of initialization.

Definition at line 291 of file Octree.h.

template<class Cell>
OCTREE::Node< Cell >::Node (  ) 

This is the constructor for the node, doing some stuff of initialization. This constructor must only be called by the constructor of Octree.

Definition at line 341 of file Octree.h.


Member Function Documentation

template<class Cell>
bool OCTREE::Node< Cell >::isLeaf (  ) 

Check to see if current node is a leaf or not, remember to check all.

Definition at line 360 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getAllFaceNeighbors ( std::vector< Node< Cell > * > &  nbrs  ) 

Get the neighbors on the four due directions.

Definition at line 2097 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getAllNeighbors ( std::vector< Node< Cell > * > &  nbrs  ) 

Get All the neighbors ( on the four direction, on the edges, on the corner).

Definition at line 2044 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getAllEdgeNeighbors ( std::vector< Node< Cell > * > &  nbrs  ) 

Get the neighbors on the edges.

Definition at line 2109 of file Octree.h.

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getSouthNeighborNode (  ) 

This is for the child to call.

Definition at line 388 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getNorthBoundary ( std::vector< Node< Cell > * > &  nbrs  ) 

Get all the node on the north side

Definition at line 445 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getAllNorthNeighbors ( std::vector< Node< Cell > * > &  nbrs  ) 

Comment is the similar for the SOUTH part above

Definition at line 466 of file Octree.h.

Referenced by TopSbdSurf3d< C, CELL, MSLV >::compute_points().

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getNorthNeighborNode (  ) 

This is for the child to call.

Definition at line 475 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getSouthBoundary ( std::vector< Node< Cell > * > &  nbrs  ) 

Get all the node on the north side

Definition at line 532 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getAllWestNeighbors ( std::vector< Node< Cell > * > &  nbrs  ) 

Comment is the similar for the SOUTH part above

Definition at line 553 of file Octree.h.

Referenced by TopSbdSurf3d< C, CELL, MSLV >::compute_points().

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getWestNeighborNode (  ) 

This is for the child to call.

Definition at line 562 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getWestBoundary ( std::vector< Node< Cell > * > &  nbrs  ) 

Comment is the similar for the SOUTH part above

Definition at line 704 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getAllEastNeighbors ( std::vector< Node< Cell > * > &  nbrs  ) 

Comment is the similar for the SOUTH part above.

Definition at line 639 of file Octree.h.

Referenced by TopSbdSurf3d< C, CELL, MSLV >::compute_points().

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getEastNeighborNode (  ) 

This is for the child to call.

Definition at line 648 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getAllFrontNeighbors ( std::vector< Node< Cell > * > &  nbrs  ) 

Comment is the similar for the SOUTH part above

Definition at line 725 of file Octree.h.

Referenced by TopSbdSurf3d< C, CELL, MSLV >::compute_points().

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getFrontNeighborNode (  ) 

This is for the child to call.

Definition at line 734 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getAllBackNeighbors ( std::vector< Node< Cell > * > &  nbrs  ) 

Comment is the similar for the SOUTH part above

Definition at line 811 of file Octree.h.

Referenced by TopSbdSurf3d< C, CELL, MSLV >::compute_points().

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getBackNeighborNode (  ) 

This is for the child to call.

Definition at line 820 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getNWLine ( std::vector< Node< Cell > * > &  line  ) 

Supporting routine

Definition at line 900 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getNELine ( std::vector< Node< Cell > * > &  line  ) 

The line means inner line, these routine will get the nodes , say, on the NE edge of the current node.

Definition at line 916 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getSWLine ( std::vector< Node< Cell > * > &  line  ) 

The line means inner line, these routine will get the nodes , say, on the SW edge of the current node.

Definition at line 932 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getSELine ( std::vector< Node< Cell > * > &  line  ) 

The line means inner line, these routine will get the nodes , say, on the SE edge of the current node.

Definition at line 948 of file Octree.h.

template<class Cell>
void OCTREE::Node< Cell >::getNWNeighbors ( std::vector< Node< Cell > * > &  nbrs  ) 

The neighbors on the edge

Definition at line 1083 of file Octree.h.

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getF_NWCorner (  ) 

Supprorting routine

Definition at line 1539 of file Octree.h.

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getF_NECorner (  ) 

Get the most NE child of the current node.

Definition at line 1549 of file Octree.h.

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getF_SWCorner (  ) 

Get the most SW child of the current node.

Definition at line 1559 of file Octree.h.

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getF_SECorner (  ) 

Get the most SE child of the current node.

Definition at line 1569 of file Octree.h.

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getB_NWCorner (  ) 

get the most Front NW child of the current node

Definition at line 1580 of file Octree.h.

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getB_NECorner (  ) 

Get the most NE child of the current node.

Definition at line 1590 of file Octree.h.

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getB_SWCorner (  ) 

Get the most SW child of the current node.

Definition at line 1600 of file Octree.h.

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::getB_SECorner (  ) 

Get the most SE child of the current node.

Definition at line 1610 of file Octree.h.

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::F_NENeighbor (  ) 

Here come the box on the vertex

Definition at line 1624 of file Octree.h.

template<class Cell>
Node< Cell > * OCTREE::Node< Cell >::B_NENeighbor (  ) 

**** BACK

Definition at line 1829 of file Octree.h.

template<class Cell>
bool OCTREE::Node< Cell >::isSmallerThanNeighbors ( std::vector< Node< Cell > * > &  nbrs  ) 

Return true if the current node is smaller than its neighbors, forgery if not (it is has to say has a major level in the octree).

Definition at line 2128 of file Octree.h.


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

SYNAPS DOCUMENTATION
logo