204    bool loadStl(std::vector<Vec3f>& points, std::vector<TopologyModule::Triangle>& triangles, std::string filename, 
bool append)
 
  211        int offset = append ? points.size() : 0;
 
  214        std::vector<float> coords;
 
  215        std::vector<float> normals;
 
  216        std::vector<size_t> tris;
 
  217        std::vector<size_t> solids;
 
  220            stl_reader::ReadStlFile(filename.c_str(), coords, normals, tris, solids);
 
  221            const size_t numTris = tris.size() / 3;
 
  223        catch (
const std::exception& e) {
 
  224            std::cerr << 
"Error reading STL file: " << e.what() << std::endl;
 
  227        std::cout << 
"************************    Loading  STL    ************************  " << std::endl << std::endl;
 
  228        std::cout << 
"                        " << 
"    coords size = " << coords.size() << std::endl << std::endl;
 
  229        std::cout << 
"                        " << 
"    normal size =" << normals.size()  << std::endl << std::endl;
 
  230        std::cout << 
"                        " << 
"    tris size = " << tris.size()  << std::endl << std::endl;
 
  231        std::cout << 
"                        " << 
"    solids size =" << solids.size() << std::endl << std::endl;
 
  233        if (solids.size() == 0) { 
return false; }
 
  235        for (
int i = 0; i < coords.size() / 3; i++)
 
  237            points.push_back(
Vec3f(coords[3 * i], coords[3 * i + 1], coords[3 * i + 2]));
 
  239        std::cout << 
"************************    Loading : f    ************************  " << std::endl << std::endl;
 
  243        for (
int s = 0; s < tris.size() / 3; s++)
 
  247            triangles.push_back(
TopologyModule::Triangle(tris[3 * s] + offset, tris[3 * s + 1] + offset, tris[3 * s + 2] + offset));
 
  250        std::cout << 
"************************    Loading completed    **********************" << std::endl << std::endl;