// Read in a 3D model void loadPolygonMeshModel (char* polygon_file) { pcl::PolygonMesh mesh; pcl::io::loadPolygonFile (polygon_file, mesh); pcl::PolygonMesh::Ptr cloud (new pcl::PolygonMesh (mesh)); TriangleMeshModel::Ptr model = TriangleMeshModel::Ptr (new TriangleMeshModel (cloud)); scene_->add (model); std::cout << "Just read " << polygon_file << std::endl; std::cout << mesh.polygons.size () << " polygons and " << mesh.cloud.data.size () << " triangles\n"; }
void load_model(const std::vector<std::string> & files) { for (std::vector<std::string>::const_iterator file = files.begin(); file != files.end(); ++file) { std::cout << "Load model: " << *file << std::endl; pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZRGB>); if (pcl::io::loadPCDFile<pcl::PointXYZRGB> (*file, *cloud) == -1) //* load the file { PCL_ERROR ("Couldn't read file %s \n", file->c_str()) ; exit (-1); } PointCloudModel::Ptr model = PointCloudModel::Ptr(new PointCloudModel(GL_POLYGON, cloud)); scene_->add(model); } }
// Read in a 3D model void load_PolygonMesh_model (char* polygon_file) { pcl::PolygonMesh mesh; // (new pcl::PolygonMesh); //pcl::io::loadPolygonFile("/home/mfallon/data/models/dalet/Darlek_modified_works.obj",mesh); pcl::io::loadPolygonFile (polygon_file, mesh); pcl::PolygonMesh::Ptr cloud (new pcl::PolygonMesh (mesh)); // Not sure if PolygonMesh assumes triangles if to // TODO: Ask a developer PolygonMeshModel::Ptr model = PolygonMeshModel::Ptr (new PolygonMeshModel (GL_POLYGON, cloud)); scene_->add (model); std::cout << "Just read " << polygon_file << std::endl; std::cout << mesh.polygons.size () << " polygons and " << mesh.cloud.data.size () << " triangles\n"; }
// Read in a 3D model void load_PolygonMesh_model (std::string polygon_file) { pcl::PolygonMesh mesh; // (new pcl::PolygonMesh); //pcl::io::loadPolygonFile("/home/mfallon/data/models/dalet/Darlek_modified_works.obj",mesh); if (!pcl::io::loadPolygonFile (polygon_file, mesh)){ std::cout << "No ply file found, exiting" << std::endl; exit(-1); } pcl::PolygonMesh::Ptr cloud (new pcl::PolygonMesh (mesh)); TriangleMeshModel::Ptr model = TriangleMeshModel::Ptr (new TriangleMeshModel (cloud)); scene_->add (model); std::cout << "Just read " << polygon_file << std::endl; std::cout << mesh.polygons.size () << " polygons and " << mesh.cloud.data.size () << " triangles\n"; }