示例#1
0
bool HesperisInterface::ReadCurveData(GeometryArray * data)
{
	if(!CheckFileExists()) return false;
	
	HesperisFile hes;
	hes.setReadComponent(HesperisFile::RCurve);
	if(!hes.open(FileName)) return false;
	hes.close();
	
	hes.extractCurves(data);
	return data->numGeometries() > 0;
}
示例#2
0
bool HesperisInterface::ReadCurveData(CurveGroup * data)
{
	if(!CheckFileExists()) return false;
	
	HesperisFile hes;
	hes.setReadComponent(HesperisFile::RCurve);
	hes.addCurve("curves", data);
	if(!hes.open(FileName)) return false;
	hes.close();
	
	return true;
}
示例#3
0
bool BccWorld::readCurveDataFromFile()
{
	if(BaseFile::InvalidFilename(BccGlobal::FileName)) 
		return false;
	
	if(!BaseFile::FileExists(BccGlobal::FileName)) {
		BccGlobal::FileName = "unknown";
		return false;
	}
	
	HesperisFile hes;
	hes.setReadComponent(HesperisFile::RCurve);
	hes.addCurve("curves", m_curves);
	if(!hes.open(BccGlobal::FileName)) return false;
	hes.close();
	
	return true;
}
示例#4
0
bool BccWorld::readTriangleDataFromFile()
{
	if(BaseFile::InvalidFilename(BccGlobal::FileName)) 
		return false;
	
	if(!BaseFile::FileExists(BccGlobal::FileName)) {
		BccGlobal::FileName = "unknown";
		return false;
	}
	
	HesperisFile hes;
	hes.setReadComponent(HesperisFile::RTri);
	if(!hes.open(BccGlobal::FileName)) return false;
	hes.close();
	
	hes.extractTriangleMeshes(m_triangleMeshes);
	
	return true;
}
示例#5
0
bool SolverThread::readMeshFromFile()
{
	if(BaseFile::InvalidFilename(FemGlobal::FileName)) 
		return false;
		
	if(!BaseFile::FileExists(FemGlobal::FileName)) {
		FemGlobal::FileName = "unknown";
		return false;
	}
	
	HesperisFile hes;
	hes.setReadComponent(HesperisFile::RTetra);
	hes.addTetrahedron("tetra", &m_meshData);
	if(!hes.open(FemGlobal::FileName)) return false;
	hes.close();
	
	qDebug()<<" nt "<<m_meshData.m_numTetrahedrons;
	qDebug()<<" nv "<<m_meshData.m_numPoints;
	
	m_mesh->generateFromData(&m_meshData);
	return true;
}
示例#6
0
bool SahWorldInterface::readMeshFromFile(SahTetrahedronSystem * mesh)
{ 
	if(BaseFile::InvalidFilename(SahGlobal::FileName)) 
		return false;
		
	if(!BaseFile::FileExists(SahGlobal::FileName)) {
		SahGlobal::FileName = "unknown";
		return false;
	}
	
	ATetrahedronMesh meshData;
	HesperisFile hes;
	hes.setReadComponent(HesperisFile::RTetra);
	hes.addTetrahedron("tetra_0", &meshData);
	if(!hes.open(SahGlobal::FileName)) return false;
	hes.close();
	
	std::cout<<" nt "<<meshData.numTetrahedrons();
	std::cout<<" nv "<<meshData.numPoints();
	
	mesh->generateFromData(&meshData);
	return true;
}
示例#7
0
bool AdeniumInterface::readTriangleMeshFromFile(AdeniumWorld * world)
{
    if(BaseFile::InvalidFilename(FileName)) 
		return false;
		
	if(!BaseFile::FileExists(FileName)) {
		FileName = "unknown";
		return false;
	}
    
    HesperisFile hes;
	hes.setReadComponent(HesperisFile::RTri);
	if(!hes.open(FileName)) return false;
	hes.close();
	
    GeometryArray triangleMeshes;
	hes.extractTriangleMeshes(&triangleMeshes);
    
    if(triangleMeshes.numGeometries() < 1) return false;
    std::cout<<" n tri mesh "<<triangleMeshes.numGeometries();
	
    world->addTriangleSystem(new BvhTriangleSystem((ATriangleMesh *)triangleMeshes.geometry(0)));
	return true;
}