From 63f7dde36b824b6668a184c68919b15d6140bb68 Mon Sep 17 00:00:00 2001 From: louisgoogl Date: Mon, 5 Aug 2024 20:56:55 +0200 Subject: [PATCH 1/4] region color --- src/conv/k-g/region_list.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/conv/k-g/region_list.cpp b/src/conv/k-g/region_list.cpp index 9d226805977..962d439dc33 100644 --- a/src/conv/k-g/region_list.cpp +++ b/src/conv/k-g/region_list.cpp @@ -102,17 +102,23 @@ void RegionList::create Geometry& geometry = region.geometry; const std::map& region_attributes = region.attributes; - std::vector names = geometry.write(wdbp); wmember geometry_head; BU_LIST_INIT(&geometry_head.l); + bu_color regionColor = BU_COLOR_INIT_ZERO; + bu_color_rand(®ionColor, BU_COLOR_RANDOM); + + unsigned char rgb[3]; + bu_color_to_rgb_chars(®ionColor, rgb); + for (size_t i = 0; i < names.size(); i++) { mk_addmember(names[i].c_str(), &(geometry_head.l), NULL, WMOP_UNION); mk_addmember(names[i].c_str(), &(all_head.l), NULL, WMOP_UNION); } - mk_lfcomb(wdbp, geometry.getBaseName(), &geometry_head, 0); + + mk_comb(wdbp, geometry.getBaseName(), &geometry_head.l, 1, (char*)NULL, (char*)NULL, rgb, ID_COMBINATION, 0, 0, 0, 0, 0, 0); if (region_attributes.size() > 0) { writeAttributes(wdbp, region_name.c_str(), region_attributes); From a2a81febacbadcb2b95cfd9e070ac294c91c1230 Mon Sep 17 00:00:00 2001 From: louisgoogl Date: Wed, 7 Aug 2024 20:09:56 +0200 Subject: [PATCH 2/4] mk_lcomb --- src/conv/k-g/region_list.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conv/k-g/region_list.cpp b/src/conv/k-g/region_list.cpp index 962d439dc33..8c401f85bec 100644 --- a/src/conv/k-g/region_list.cpp +++ b/src/conv/k-g/region_list.cpp @@ -118,7 +118,7 @@ void RegionList::create mk_addmember(names[i].c_str(), &(all_head.l), NULL, WMOP_UNION); } - mk_comb(wdbp, geometry.getBaseName(), &geometry_head.l, 1, (char*)NULL, (char*)NULL, rgb, ID_COMBINATION, 0, 0, 0, 0, 0, 0); + mk_lcomb(wdbp, geometry.getBaseName(), &geometry_head, 1, NULL, NULL, rgb, 0); if (region_attributes.size() > 0) { writeAttributes(wdbp, region_name.c_str(), region_attributes); From 38b1c886edd51ac803690cce1facb0e6207751d2 Mon Sep 17 00:00:00 2001 From: louisgoogl Date: Wed, 7 Aug 2024 20:26:54 +0200 Subject: [PATCH 3/4] region_id --- src/conv/k-g/region_list.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/conv/k-g/region_list.cpp b/src/conv/k-g/region_list.cpp index 8c401f85bec..391ccbc4593 100644 --- a/src/conv/k-g/region_list.cpp +++ b/src/conv/k-g/region_list.cpp @@ -96,6 +96,8 @@ void RegionList::create wmember all_head; BU_LIST_INIT(&all_head.l); + int region_id = 0; + for (std::map::iterator it = m_list.begin(); it != m_list.end(); ++it) { const std::string& region_name = it->first; Region& region = it->second; @@ -118,7 +120,8 @@ void RegionList::create mk_addmember(names[i].c_str(), &(all_head.l), NULL, WMOP_UNION); } - mk_lcomb(wdbp, geometry.getBaseName(), &geometry_head, 1, NULL, NULL, rgb, 0); + mk_lcomb(wdbp, geometry.getBaseName(), &geometry_head, 1, NULL, NULL, rgb, region_id); + ++region_id; if (region_attributes.size() > 0) { writeAttributes(wdbp, region_name.c_str(), region_attributes); From ee32e3165e74fadd3bf42c5f6fd58e0e6a3c0122 Mon Sep 17 00:00:00 2001 From: louisgoogl Date: Fri, 9 Aug 2024 16:55:49 +0200 Subject: [PATCH 4/4] ++region_id --- src/conv/k-g/region_list.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/conv/k-g/region_list.cpp b/src/conv/k-g/region_list.cpp index 391ccbc4593..396d2e5d744 100644 --- a/src/conv/k-g/region_list.cpp +++ b/src/conv/k-g/region_list.cpp @@ -120,8 +120,7 @@ void RegionList::create mk_addmember(names[i].c_str(), &(all_head.l), NULL, WMOP_UNION); } - mk_lcomb(wdbp, geometry.getBaseName(), &geometry_head, 1, NULL, NULL, rgb, region_id); - ++region_id; + mk_lcomb(wdbp, geometry.getBaseName(), &geometry_head, 1, NULL, NULL, rgb, ++region_id); if (region_attributes.size() > 0) { writeAttributes(wdbp, region_name.c_str(), region_attributes);