Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

odaBuildNlist.C File Reference

Octree Meshing: Building Element-to-node-mappings. More...

#include "oda.h"
#include "parUtils.h"
#include "seqUtils.h"
#include "colors.h"
#include "nodeAndRanks.h"
#include "testUtils.h"

Go to the source code of this file.

Namespaces

namespace  ot

Defines

#define CHECK_FAST_MAX_LOWER_BOUND(arr, key, fastIdx, fastResult)
#define DEBUG_CHECK_FAST_MAX_LOWER_BOUND(arr, key, fastIdx, fastResult)
#define NEG_SEARCH_BLOCK1(idx, n1l, n1r, n2l, n2r, n3l, n3r, n4l, n4r)
#define NEG_SEARCH_BLOCK1X   NEG_SEARCH_BLOCK1(idnx,0,1,2,3,4,5,6,7)
#define NEG_SEARCH_BLOCK1Y   NEG_SEARCH_BLOCK1(idny,0,2,1,3,4,6,5,7)
#define NEG_SEARCH_BLOCK1Z   NEG_SEARCH_BLOCK1(idnz,0,4,1,5,2,6,3,7)
#define NEG_SEARCH_BLOCK2(idx, n1l, n1r, n2l, n2r, n3l, n3r, n4l, n4r)
#define NEG_SEARCH_BLOCK2X   NEG_SEARCH_BLOCK2(idnx,0,1,2,3,4,5,6,7)
#define NEG_SEARCH_BLOCK2Y   NEG_SEARCH_BLOCK2(idny,0,2,1,3,4,6,5,7)
#define NEG_SEARCH_BLOCK2Z   NEG_SEARCH_BLOCK2(idnz,0,4,1,5,2,6,3,7)
#define POS_SEARCH_BLOCK(debugV1, debugV2)
#define POS_SEARCH_DEBUG_BLOCK1(debugV1, debugV2)
#define POS_SEARCH_DEBUG_BLOCK2
#define POS_SEARCH_DEBUG_BLOCK3
#define POS_SECONDARY_SEARCH_BLOCK(debugV1, debugV2)


Detailed Description

Octree Meshing: Building Element-to-node-mappings.

Author:
Rahul S. Sampath, rahul.sampath@gmail.com

Hari Sundar, hsundar@gmail.com

Definition in file odaBuildNlist.C.


Define Documentation

#define CHECK_FAST_MAX_LOWER_BOUND arr,
key,
fastIdx,
fastResult   ) 
 

Value:

{ \
  unsigned int tmpMlbIdx;\
  bool tmpMlbResult;\
  tmpMlbResult = seq::maxLowerBound<ot::TreeNode> (arr, key, tmpMlbIdx,NULL,NULL);\
  assert(tmpMlbResult == fastResult);\
  assert(tmpMlbIdx == fastIdx);\
}

Definition at line 38 of file odaBuildNlist.C.

Referenced by ot::DA::buildNodeList().

#define DEBUG_CHECK_FAST_MAX_LOWER_BOUND arr,
key,
fastIdx,
fastResult   ) 
 

#define NEG_SEARCH_BLOCK1 idx,
n1l,
n1r,
n2l,
n2r,
n3l,
n3r,
n4l,
n4r   ) 
 

Value:

{\
  if(nlist[8*idx+n1r] < m_uiLocalBufferSize) {\
    nlist[8*i+n1l] = nlist[8*idx+n1r];\
    found[n1l] = true;\
  }\
  if(nlist[8*idx+n2r] < m_uiLocalBufferSize) {\
    nlist[8*i+n2l] = nlist[8*idx+n2r];\
    found[n2l] = true;\
  }\
  if(nlist[8*idx+n3r] < m_uiLocalBufferSize) {\
    nlist[8*i+n3l] = nlist[8*idx+n3r];\
    found[n3l] = true;\
  }\
  if(nlist[8*idx+n4r] < m_uiLocalBufferSize) {\
    nlist[8*i+n4l] = nlist[8*idx+n4r];\
    found[n4l] = true;\
  }\
}

#define NEG_SEARCH_BLOCK1X   NEG_SEARCH_BLOCK1(idnx,0,1,2,3,4,5,6,7)
 

Referenced by ot::DA::buildNodeList().

#define NEG_SEARCH_BLOCK1Y   NEG_SEARCH_BLOCK1(idny,0,2,1,3,4,6,5,7)
 

Referenced by ot::DA::buildNodeList().

#define NEG_SEARCH_BLOCK1Z   NEG_SEARCH_BLOCK1(idnz,0,4,1,5,2,6,3,7)
 

Referenced by ot::DA::buildNodeList().

#define NEG_SEARCH_BLOCK2 idx,
n1l,
n1r,
n2l,
n2r,
n3l,
n3r,
n4l,
n4r   ) 
 

#define NEG_SEARCH_BLOCK2X   NEG_SEARCH_BLOCK2(idnx,0,1,2,3,4,5,6,7)
 

Referenced by ot::DA::buildNodeList().

#define NEG_SEARCH_BLOCK2Y   NEG_SEARCH_BLOCK2(idny,0,2,1,3,4,6,5,7)
 

Referenced by ot::DA::buildNodeList().

#define NEG_SEARCH_BLOCK2Z   NEG_SEARCH_BLOCK2(idnz,0,4,1,5,2,6,3,7)
 

Referenced by ot::DA::buildNodeList().

#define POS_SEARCH_BLOCK debugV1,
debugV2   ) 
 

Referenced by ot::DA::buildNodeList().

#define POS_SEARCH_DEBUG_BLOCK1 debugV1,
debugV2   ) 
 

#define POS_SEARCH_DEBUG_BLOCK2
 

#define POS_SEARCH_DEBUG_BLOCK3
 

#define POS_SECONDARY_SEARCH_BLOCK debugV1,
debugV2   ) 
 

Value:

{\
  /* if this is not a node, i.e., it is hanging*/\
  POS_SEARCH_DEBUG_BLOCK1(debugV1,debugV2)\
  /* All other cNums are anchored at the parent+(2*sz,0,0).*/\
  sKey = parNodeLocations[j];\
  lastLevel = d-1;\
  foundKey = seq::maxLowerBound<ot::TreeNode>(in, sKey, idx,&i,NULL);\
  DEBUG_CHECK_FAST_MAX_LOWER_BOUND(in, sKey,idx, foundKey) \
  if ( foundKey && !((in[idx].getAnchor()==sKey.getAnchor()) && (in[idx].getFlag()&ot::TreeNode::NODE))) {\
    foundKey=false;\
  }\
  if ( foundKey ) {\
    nlist[8*i+j] = idx;\
  } else {\
    /* Can happen for own elements too. */\
    findGhost = true;\
  }\
}


Generated on Tue Mar 24 16:14:15 2009 for DENDRO by  doxygen 1.3.9.1