replacing diffuse to get_color method

This commit is contained in:
Cristian Ritter
2024-08-20 11:44:20 -03:00
parent cd3df94a4b
commit d714eca4ee
4 changed files with 8 additions and 4 deletions
+1 -1
View File
@@ -149,7 +149,7 @@ IfcGeom::Representation::Serialization::Serialization(const BRep& brep)
int sid = -1;
if (it->hasStyle()) {
const auto& clr = it->Style().diffuse.ccomponents();
const auto& clr = it->Style().get_color().ccomponents();
surface_styles_.push_back(clr(0));
surface_styles_.push_back(clr(1));
surface_styles_.push_back(clr(2));
+4
View File
@@ -89,6 +89,10 @@ void IfcGeom::set_default_style_file(const std::string& json_file) {
boost::optional<pt::ptree&> diffuse = material.get_child_optional("diffuse");
default_materials[name]->diffuse = read_colour_component(diffuse);
// @todo Is it necessary to get the surface too?
// boost::optional<pt::ptree&> surface = material.get_child_optional("surface");
// default_materials[name]->surface = read_colour_component(surface);
boost::optional<pt::ptree&> specular = material.get_child_optional("specular");
default_materials[name]->specular = read_colour_component(specular);
+2 -2
View File
@@ -354,8 +354,8 @@ protected:
std::vector<boost::optional<std::array<float, 4> > > diffuse_color_array;
for (auto it = geom->geometry().materials().begin(); it != geom->geometry().materials().end(); ++it) {
const auto& mat = **it;
if (mat.diffuse) {
const auto& color = mat.diffuse.ccomponents();
if (mat.get_color()) {
const auto& color = mat.get_color().ccomponents();
diffuse_color_array.push_back(std::array<float, 4>{
static_cast<float>(color(0)),
static_cast<float>(color(1)),
+1 -1
View File
@@ -67,7 +67,7 @@ void WaveFrontOBJSerializer::writeMaterial(const ifcopenshell::geometry::taxonom
mtl_stream.stream << "newmtl " << material_name << "\n";
{
auto& diffuse = style.diffuse.ccomponents();
auto& diffuse = style.get_color().ccomponents();
mtl_stream.stream << "Kd " << diffuse(0) << " " << diffuse(1) << " " << diffuse(2) << "\n";
}
if (style.specular) {