00001
00002 #ifndef __PARFUM_TOPS_TYPES___H
00003 #define __PARFUM_TOPS_TYPES___H
00004
00005
00006 #ifdef FP_TYPE_FLOAT
00007
00008 typedef float FP_TYPE;
00009 typedef float FP_TYPE_HIGH;
00010 typedef float FP_TYPE_LOW;
00011 typedef float FP_TYPE_SYNC;
00012 #else
00013
00014 typedef double FP_TYPE;
00015 typedef double FP_TYPE_HIGH;
00016 typedef double FP_TYPE_LOW;
00017 typedef double FP_TYPE_SYNC;
00018 #endif
00019
00020
00021
00023 typedef long TopNode;
00024
00026 typedef TopNode TopVertex;
00027
00029 class TopElement{
00030 public:
00031 long type;
00032 long idx;
00033 };
00034
00035 #define BULK_ELEMENT 0
00036 #define COHESIVE_ELEMENT 1
00037
00038
00040 class TopFacet{
00041 public:
00042 TopNode node[6];
00043 TopElement elem[2];
00044 };
00045
00046
00047 enum {
00048 TOP_ELEMENT_T3 =0,
00049 TOP_ELEMENT_T6,
00050 TOP_ELEMENT_Q4,
00051 TOP_ELEMENT_Q8,
00052 TOP_ELEMENT_TET4,
00053 TOP_ELEMENT_TET10,
00054 TOP_ELEMENT_HEX8,
00055 TOP_ELEMENT_HEX8_RESERVOIR,
00056 TOP_ELEMENT_HEX20,
00057 TOP_ELEMENT_WEDGE15,
00058 TOP_ELEMENT_COH2E2,
00059 TOP_ELEMENT_COH2E3,
00060 TOP_ELEMENT_COH3T3,
00061 TOP_ELEMENT_COH3T6,
00062 TOP_ELEMENT_COH3Q4,
00063 TOP_ELEMENT_COH3Q8,
00064 TOP_ELEMENT_WEDGE6,
00065 TOP_ELEMENT_MAX
00066 };
00067
00069 typedef bool TopNodeItr_D;
00070 typedef bool TopElemItr_D;
00071
00072
00074 typedef int TopID;
00075
00077 typedef int TopElemType;
00078
00079
00080
00081 #endif