12 fstream filein(filename);
13 if (!filein.is_open())
15 cout <<
"can't open smesh file:" << filename << endl;
21 if (part_str !=
"*VERTICES")
23 cout <<
"first non-empty line must be '*VERTICES'." << endl;
26 int num_points = 0, point_dim = 0;
27 filein >> num_points >> point_dim;
29 filein >> dummy >> dummy;
31 for (
int i = 0; i < num_points; ++i)
35 for (
int j = 0; j < point_dim; ++j)
51 int num_eles = 0, ele_dim = 0;
52 filein >> ele_type >> num_eles >> ele_dim;
55 if (ele_type ==
"LINE")
58 for (
int i = 0; i < num_eles; ++i)
62 for (
int j = 0; j < ele_dim; ++j)
69 else if (ele_type ==
"TRIANGLE")
72 for (
int i = 0; i < num_eles; ++i)
76 for (
int j = 0; j < ele_dim; ++j)
83 else if (ele_type ==
"QUAD")
86 for (
int i = 0; i < num_eles; ++i)
90 for (
int j = 0; j < ele_dim; ++j)
97 else if (ele_type ==
"TET")
100 for (
int i = 0; i < num_eles; ++i)
104 for (
int j = 0; j < ele_dim; ++j)
111 else if (ele_type ==
"HEX")
114 for (
int i = 0; i < num_eles; ++i)
118 for (
int j = 0; j < ele_dim; ++j)
127 cout <<
"unrecognized element type:" << ele_type << endl;
136 fstream filein(filename);
137 if (!filein.is_open())
139 cout <<
"can't open node file:" << filename << endl;
143 int num_points = 0, point_dim = 0;
144 filein >> num_points >> point_dim;
146 filein >> dummy >> dummy;
148 for (
int i = 0; i < num_points; ++i)
151 filein >> vert_index;
152 for (
int j = 0; j < point_dim; ++j)
163 fstream filein(filename);
164 if (!filein.is_open())
166 cout <<
"can't open ele file:" << filename << endl;
170 int num_of_edges = 0, edge_dim = 0;
171 filein >> num_of_edges >> edge_dim;
175 for (
int i = 0; i < num_of_edges; ++i)
178 filein >> vert_index;
188 fstream filein(filename);
189 if (!filein.is_open())
191 cout <<
"can't open ele file:" << filename << endl;
197 int num_of_triangles = 0;
198 filein >> num_of_triangles >> dummy;
201 for (
int i = 0; i < num_of_triangles; ++i)
204 filein >> vert_index;
214 fstream filein(filename);
215 if (!filein.is_open())
217 cout <<
"can't open ele file:" << filename << endl;
221 int ele_num = 0, ele_dim = 0;
223 filein >> ele_num >> ele_dim >> dummy;
226 for (
int i = 0; i < ele_num; ++i)
230 for (
int j = 0; j < ele_dim; ++j)
void loadTetFile(std::string filename)
std::vector< TopologyModule::Edge > m_edges
std::vector< TopologyModule::Tetrahedron > m_tets
void loadFile(std::string filename)
void loadTriangleFile(std::string filename)
void loadEdgeFile(std::string filename)
void loadNodeFile(std::string filename)
std::vector< TopologyModule::Quad > m_quads
std::vector< TopologyModule::Triangle > m_triangles
std::vector< TopologyModule::Hexahedron > m_hexs
std::vector< Vec3f > m_points
This is an implementation of AdditiveCCD based on peridyno.