00001 00027 struct femapMaterial { 00028 size_t id; 00029 size_t type; 00030 size_t subtype; 00031 std::string title; 00032 int bval[10]; 00033 int ival[25]; 00034 double mval[200]; 00035 }; 00036 00037 struct femapProperty { 00038 size_t id; 00039 size_t matId; 00040 size_t type; 00041 std::string title; 00042 int flag[4]; 00043 int num_val; 00044 std::vector<double> value; 00045 }; 00046 00047 struct femapNode { 00048 size_t id; 00050 double x[3]; 00051 int permBc[6]; 00052 }; 00053 00054 struct femapElement { 00055 size_t id; 00056 size_t propId; 00057 size_t type; 00058 size_t topology; 00059 size_t geomId; 00060 int formulation; // int is a guess--documentation doesn't give type 00061 std::vector<size_t> node; 00062 }; 00063 00064 struct constraint { 00065 size_t id; 00066 bool dof[6]; 00067 int ex_geom; 00068 }; 00069 00070 struct femapConstraintSet { 00071 size_t id; 00072 std::string title; 00073 std::vector<constraint> nodalConstraint; 00074 }; 00075 00076 struct load { 00077 size_t id; 00078 size_t type; 00079 int dof_face[3]; 00080 double value[3]; 00081 bool is_expanded; 00082 }; 00083 00084 struct femapLoadSet { 00085 size_t id; 00086 std::string title; 00087 double defTemp; 00088 bool tempOn; 00089 bool gravOn; 00090 bool omegaOn; 00091 double grav[6]; 00092 double origin[3]; 00093 double omega[3]; 00094 std::vector<load> loads; 00095 }; 00096 00097 struct groupRule { 00098 size_t type; 00099 size_t startID; 00100 size_t stopID; 00101 size_t incID; 00102 size_t include; 00103 }; 00104 00105 struct groupList { 00106 size_t type; 00107 std::vector<size_t> entityID; 00108 }; 00109 00110 struct femapGroup { 00111 size_t id; 00112 short int need_eval; 00113 std::string title; 00114 int layer[2]; 00115 int layer_method; 00116 std::vector<groupRule> rules; 00117 std::vector<groupList> lists; 00118 };