mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
Change file extension and start cleaning
This commit is contained in:
@@ -30,71 +30,58 @@
|
||||
#include <iomanip>
|
||||
|
||||
|
||||
const H5std_string FILE_NAME("output_file.h5");
|
||||
//const H5std_string FILE_NAME("output_file.h5");
|
||||
|
||||
|
||||
HdfSerializer::HdfSerializer(const std::string& obj_filename, const std::string& mtl_filename, const SerializerSettings& settings)
|
||||
: GeometrySerializer(settings)
|
||||
, mtl_filename(mtl_filename)
|
||||
, obj_stream(IfcUtil::path::from_utf8(obj_filename).c_str())
|
||||
, mtl_stream(IfcUtil::path::from_utf8(mtl_filename).c_str())
|
||||
, vcount_total(1)
|
||||
, file(FILE_NAME, H5F_ACC_TRUNC)
|
||||
|
||||
, mtl_filename(obj_filename)
|
||||
|
||||
|
||||
{
|
||||
obj_stream << std::setprecision(settings.precision);
|
||||
mtl_stream << std::setprecision(settings.precision);
|
||||
|
||||
guids = {};
|
||||
}
|
||||
|
||||
|
||||
bool HdfSerializer::ready() {
|
||||
return obj_stream.is_open() && mtl_stream.is_open();
|
||||
|
||||
//return obj_stream.is_open() && mtl_stream.is_open();
|
||||
return true;
|
||||
}
|
||||
|
||||
void HdfSerializer::writeHeader() {
|
||||
obj_stream << "# File generated by IfcOpenShell " << IFCOPENSHELL_VERSION << "\n";
|
||||
#ifdef WIN32
|
||||
const char dir_separator = '\\';
|
||||
#else
|
||||
const char dir_separator = '/';
|
||||
#endif
|
||||
std::string mtl_basename = mtl_filename;
|
||||
std::string::size_type slash = mtl_basename.find_last_of(dir_separator);
|
||||
if (slash != std::string::npos) {
|
||||
mtl_basename = mtl_basename.substr(slash + 1);
|
||||
}
|
||||
obj_stream << "mtllib " << mtl_basename << "\n";
|
||||
mtl_stream << "# File generated by IfcOpenShell " << IFCOPENSHELL_VERSION << "\n";
|
||||
}
|
||||
|
||||
void HdfSerializer::writeMaterial(const IfcGeom::Material& style)
|
||||
{
|
||||
std::string material_name = (settings().get(SerializerSettings::USE_MATERIAL_NAMES)
|
||||
? style.original_name() : style.name());
|
||||
IfcUtil::sanitate_material_name(material_name);
|
||||
mtl_stream << "newmtl " << material_name << "\n";
|
||||
|
||||
if (style.hasDiffuse()) {
|
||||
const double* diffuse = style.diffuse();
|
||||
mtl_stream << "Kd " << diffuse[0] << " " << diffuse[1] << " " << diffuse[2] << "\n";
|
||||
}
|
||||
if (style.hasSpecular()) {
|
||||
const double* specular = style.specular();
|
||||
mtl_stream << "Ks " << specular[0] << " " << specular[1] << " " << specular[2] << "\n";
|
||||
}
|
||||
if (style.hasSpecularity()) {
|
||||
mtl_stream << "Ns " << style.specularity() << "\n";
|
||||
}
|
||||
if (style.hasTransparency()) {
|
||||
const double transparency = 1.0 - style.transparency();
|
||||
if (transparency < 1) {
|
||||
mtl_stream << "d " << transparency << "\n";
|
||||
}
|
||||
}
|
||||
const H5std_string FILE_NAME(mtl_filename);
|
||||
file = H5::H5File(FILE_NAME, H5F_ACC_TRUNC);
|
||||
|
||||
}
|
||||
|
||||
//void HdfSerializer::writeMaterial(const IfcGeom::Material& style)
|
||||
//{
|
||||
// std::string material_name = (settings().get(SerializerSettings::USE_MATERIAL_NAMES)
|
||||
// ? style.original_name() : style.name());
|
||||
// IfcUtil::sanitate_material_name(material_name);
|
||||
// mtl_stream << "newmtl " << material_name << "\n";
|
||||
//
|
||||
// if (style.hasDiffuse()) {
|
||||
// const double* diffuse = style.diffuse();
|
||||
// mtl_stream << "Kd " << diffuse[0] << " " << diffuse[1] << " " << diffuse[2] << "\n";
|
||||
// }
|
||||
// if (style.hasSpecular()) {
|
||||
// const double* specular = style.specular();
|
||||
// mtl_stream << "Ks " << specular[0] << " " << specular[1] << " " << specular[2] << "\n";
|
||||
// }
|
||||
// if (style.hasSpecularity()) {
|
||||
// mtl_stream << "Ns " << style.specularity() << "\n";
|
||||
// }
|
||||
// if (style.hasTransparency()) {
|
||||
// const double transparency = 1.0 - style.transparency();
|
||||
// if (transparency < 1) {
|
||||
// mtl_stream << "d " << transparency << "\n";
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//
|
||||
|
||||
|
||||
void HdfSerializer::write(const IfcGeom::TriangulationElement<real_t>* o){
|
||||
|
||||
Reference in New Issue
Block a user