|
FEBio
1.5.0
|
00001 // FENodeNodeList.h: interface for the FENodeNodeList class. 00002 // 00004 00005 #if !defined(AFX_FENODENODELIST_H__59D213DB_78A1_4318_9E5D_585E70BCB36D__INCLUDED_) 00006 #define AFX_FENODENODELIST_H__59D213DB_78A1_4318_9E5D_585E70BCB36D__INCLUDED_ 00007 00008 #if _MSC_VER > 1000 00009 #pragma once 00010 #endif // _MSC_VER > 1000 00011 00012 #include "FECore/vector.h" 00013 00014 class FEMesh; 00015 class FEDomain; 00016 00017 //----------------------------------------------------------------------------- 00020 00023 00024 class FENodeNodeList 00025 { 00026 public: 00028 FENodeNodeList(); 00029 00031 virtual ~FENodeNodeList(); 00032 00034 void Create(FEMesh& mesh); 00035 00037 void Create(FEDomain& dom); 00038 00039 int Size() { return m_nval.size(); } 00040 00041 int Valence(int i) { return m_nval[i]; } 00042 int* NodeList(int i) { return &m_nref[0] + m_pn[i]; } 00043 00044 void Sort(); 00045 00046 protected: 00047 vector<int> m_nval; // nodal valences 00048 vector<int> m_nref; // adjacent nodes indices 00049 vector<int> m_pn; // start index into the nref array 00050 00051 static FENodeNodeList* m_pthis; 00052 static int compare(const void* e1, const void* e2); 00053 }; 00054 00055 #endif // !defined(AFX_FENODENODELIST_H__59D213DB_78A1_4318_9E5D_585E70BCB36D__INCLUDED_)
1.7.5.1