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)
46 int num_eles = 0, ele_dim = 0;
47 filein >> ele_type >> num_eles >> ele_dim;
50 if (ele_type ==
"LINE")
53 for (
int i = 0; i < num_eles; ++i)
57 for (
int j = 0; j < ele_dim; ++j)
64 else if (ele_type ==
"TRIANGLE")
67 for (
int i = 0; i < num_eles; ++i)
71 for (
int j = 0; j < ele_dim; ++j)
78 else if (ele_type ==
"QUAD")
81 for (
int i = 0; i < num_eles; ++i)
85 for (
int j = 0; j < ele_dim; ++j)
92 else if (ele_type ==
"TET")
95 for (
int i = 0; i < num_eles; ++i)
99 for (
int j = 0; j < ele_dim; ++j)
106 else if (ele_type ==
"HEX")
109 for (
int i = 0; i < num_eles; ++i)
113 for (
int j = 0; j < ele_dim; ++j)
122 cout <<
"unrecognized element type:" << ele_type << endl;
131 fstream filein(filename);
132 if (!filein.is_open())
134 cout <<
"can't open node file:" << filename << endl;
138 int num_points = 0, point_dim = 0;
139 filein >> num_points >> point_dim;
141 filein >> dummy >> dummy;
143 for (
int i = 0; i < num_points; ++i)
146 filein >> vert_index;
147 for (
int j = 0; j < point_dim; ++j)
158 fstream filein(filename);
159 if (!filein.is_open())
161 cout <<
"can't open ele file:" << filename << endl;
165 int num_of_edges = 0, edge_dim = 0;
166 filein >> num_of_edges >> edge_dim;
170 for (
int i = 0; i < num_of_edges; ++i)
173 filein >> vert_index;
183 fstream filein(filename);
184 if (!filein.is_open())
186 cout <<
"can't open ele file:" << filename << endl;
192 int num_of_triangles = 0;
193 filein >> num_of_triangles >> dummy;
196 for (
int i = 0; i < num_of_triangles; ++i)
199 filein >> vert_index;
209 fstream filein(filename);
210 if (!filein.is_open())
212 cout <<
"can't open ele file:" << filename << endl;
216 int ele_num = 0, ele_dim = 0;
218 filein >> ele_num >> ele_dim >> dummy;
221 for (
int i = 0; i < ele_num; ++i)
225 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.