cgma
GeoNode Class Reference

#include <GeoNode.hpp>

Inheritance diagram for GeoNode:
ToolDataUser

List of all members.

Public Member Functions

 GeoNode (CubitVector &xx)
 ~GeoNode ()
CubitVector coordinates ()
void set_coordinates (CubitVector &coords)
int number_tets ()
void add_element (GeoTet *tet_ptr, int=CUBIT_TRUE)
void remove_element (GeoTet *tet_ptr)
DLIList< GeoTet * > * tet_list ()
void * get_owner ()
void set_owner (void *owner_ptr)
void marked (int flag)
int marked ()
CubitBoolean edge_between (GeoNode *other_node)
CubitBoolean face_between (GeoNode *other_node0, GeoNode *other_node1)
int tets_at_edge (GeoNode *other_node, DLIList< GeoTet * > &gtet_list)
int interior_edges (DLIList< GeoNode * > &node_list)

Private Attributes

CubitVector mLocation
DLIList< GeoTet * > mTetList
void * ownerPtr
int isMarked

Static Private Attributes

static MemoryManager memoryManager

Detailed Description

Definition at line 26 of file GeoNode.hpp.


Constructor & Destructor Documentation

Definition at line 27 of file GeoNode.cpp.

                                  : ownerPtr(NULL)
{
  mLocation = xx;
  isMarked = 0;
}

Definition at line 39 of file GeoNode.cpp.

{
}

Member Function Documentation

void GeoNode::add_element ( GeoTet tet_ptr,
int  = CUBIT_TRUE 
) [inline]

Definition at line 64 of file GeoNode.hpp.

    { mTetList.append(tet_ptr); }

Definition at line 52 of file GeoNode.hpp.

    {return mLocation;}

Definition at line 49 of file GeoNode.cpp.

{
  int ii;
  GeoTet *gtet_ptr;
  for (ii=0; ii<mTetList.size(); ii++)
  {
    gtet_ptr = mTetList.get_and_step();
    if (gtet_ptr->node_index( other_node ) >= 0)
      return CUBIT_TRUE;
  }
  return CUBIT_FALSE;
}
CubitBoolean GeoNode::face_between ( GeoNode other_node0,
GeoNode other_node1 
)

Definition at line 68 of file GeoNode.cpp.

{
  int ii;
  GeoTet *gtet_ptr;
  for (ii=0; ii<mTetList.size(); ii++)
  {
    gtet_ptr = mTetList.get_and_step();
    if (gtet_ptr->node_index( other_node0 ) >= 0 &&
        gtet_ptr->node_index( other_node1 ) >= 0)
      return CUBIT_TRUE;
  }
  return CUBIT_FALSE;
}
void* GeoNode::get_owner ( ) [inline]

Definition at line 76 of file GeoNode.hpp.

{return ownerPtr;}
int GeoNode::interior_edges ( DLIList< GeoNode * > &  node_list)

Definition at line 114 of file GeoNode.cpp.

{
  int nedges = 0;
  int ii, jj;
  GeoNode *node[4];
  GeoTet *gtet_ptr;
  for (ii=0; ii<mTetList.size(); ii++)
  {
    gtet_ptr = mTetList.get_and_step();
    if (gtet_ptr->inside())
    {
      gtet_ptr->tet_nodes(node[0], node[1], node[2], node[3]);
      for(jj=0; jj<4; jj++)
        node[jj]->marked(1);
    }
  }
  isMarked = 0;

  for (ii=0; ii<mTetList.size(); ii++)
  {
    gtet_ptr = mTetList.get_and_step();
    if (gtet_ptr->inside())
    {
      gtet_ptr->tet_nodes(node[0], node[1], node[2], node[3]);
      for(jj=0; jj<4; jj++)
      {
        if (node[jj]->marked())
        {
          node[jj]->marked(0);
          node_list.append(node[jj]);
          nedges++;
        }
      }
    }
  }
  return nedges; 
}
void GeoNode::marked ( int  flag) [inline]

Definition at line 80 of file GeoNode.hpp.

{ isMarked = flag; }
int GeoNode::marked ( ) [inline]

Definition at line 81 of file GeoNode.hpp.

{ return isMarked; }
int GeoNode::number_tets ( ) [inline]

Definition at line 60 of file GeoNode.hpp.

    {return mTetList.size();}
void GeoNode::remove_element ( GeoTet tet_ptr) [inline]

Definition at line 68 of file GeoNode.hpp.

    { mTetList.remove(tet_ptr); }
void GeoNode::set_coordinates ( CubitVector coords) [inline]

Definition at line 56 of file GeoNode.hpp.

    { mLocation = coords; }
void GeoNode::set_owner ( void *  owner_ptr) [inline]

Definition at line 77 of file GeoNode.hpp.

{ownerPtr = owner_ptr;}
DLIList<GeoTet*>* GeoNode::tet_list ( ) [inline]

Definition at line 72 of file GeoNode.hpp.

    { return &mTetList; }
int GeoNode::tets_at_edge ( GeoNode other_node,
DLIList< GeoTet * > &  gtet_list 
)

Definition at line 89 of file GeoNode.cpp.

{
  int ntets = 0;
  int ii;
  GeoTet *gtet_ptr;
  for (ii=0; ii<mTetList.size(); ii++)
  {
    gtet_ptr = mTetList.get_and_step();
    if (gtet_ptr->node_index( other_node ) >= 0)
    {
      gtet_list.append( gtet_ptr );
      ntets++;
    }
  }
  return ntets;
}

Member Data Documentation

int GeoNode::isMarked [private]

Definition at line 39 of file GeoNode.hpp.

Definition at line 41 of file GeoNode.hpp.

Definition at line 30 of file GeoNode.hpp.

Definition at line 33 of file GeoNode.hpp.

void* GeoNode::ownerPtr [private]

Definition at line 36 of file GeoNode.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines