Exemplo n.º 1
0
bool ModelReader::readModel(std::string path)
{
    if (isFormatPCD(path))
        return readPCD(path);
    else if (isFormatPLY(path))
        return readPLY(path);

    return false;
}
	bool ModelIO::readModel(const QUrl & url)
	{
		QString fileURL(url.toLocalFile());
		addStatus(QObject::tr("Reading file: ") + fileURL);
		if (url.isValid())
		{
			resetClouds();
			pcl::PointCloud<PointType>::Ptr cloud (new pcl::PointCloud<PointType>);

			QString fileType = QFileInfo(fileURL).suffix();
			if (fileType == QStringLiteral("pcd"))
			{
				readPCD(fileURL, cloud);
			}
			else if (fileType == QStringLiteral("csv"))
			{
				readCSV(fileURL, cloud);
			}

			if (cloud->empty())
			{
				addStatus(QObject::tr("Couldn't read file: ") + fileURL);
			}
			else
			{
				QList<pcl::PointCloud<PointType>::Ptr> cloudsList;
				cloudsList.append(cloud);
				addClouds(INPUT_CLOUD, cloudsList);
				addStatus(QObject::tr("File read: ") + fileURL);
				return true;
			}
		}
		else
		{
			addStatus(QObject::tr("Invalid file url: ") + fileURL);
		}
		return false;
	}