簡體   English   中英

使用自定義獲取屬性提升動態屬性

[英]Boost Dynamic Properties with Custom get property

我正在嘗試將 boost::dynamic 屬性用於 Graphviz 輸出的多個屬性。

我熟悉自定義屬性編寫器( 如何在顯示多個屬性的 graphviz 中打印圖形),但我正在嘗試對動態屬性執行相同的操作。 我們如何使用以下代碼中的動態屬性編寫上述邊緣屬性編寫器? 我想在重量和容量的值上編寫 if else 語句,如 if(weight <5 && capacity <5) then color = red 等等。

boost::dynamic_properties dp/*(ignore_other_properties)*/;
dp.property("node_id", get(&vert::name, g));
dp.property("color", get(??,g));
write_graphviz_dp(std::cout, g, dp);

在此處查看一些選項: 將設置/獲取請求映射到 C++ 類/結構更改

您可以轉換一個屬性映射的結果,也可以完全使用功能屬性映射。

轉換值:

使用動態屬性轉換顏色屬性的示例如下: Manually coloring of boost's graphs

功能圖:

請注意,您還有make_constant_property_map (例如, 使用自定義獲取屬性提升動態屬性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM