Open starfieldKt opened 2 months ago
ユーザーの操作の手数をできるだけ減らすように!
現在のデフォルトカラーマップ設定を読み込む際の優先順位は以下のようになっている
flowchart TB node_1["ソルバーのdefinition.xmlで指定された設定"] node_2["iRIC_v4\private\colormapsに配置されたdefault.cmsetting"] node_3["iRIC_v4\colormapsに配置されたdefault.cmsetting"] node_4["colormapsettingcontainer.cpp\ncolormaplegendsettingcontainer.cpp\nopacitycontainer.cpp\nで指定されたiRICのデフォルト設定"] node_1 --> node_2 node_2 --> node_3 node_3 --> node_4
これの優先順位1位に各値ごとのデフォルトカラーマップ設定を持ったファイルを作成して、ユーザーはGUI上でワンクリックでこのファイルを更新できるようにする。
flowchart TB node_1["ソルバーのdefinition.xmlで指定された設定"] node_2["iRIC_v4\private\colormapsに配置されたdefault.cmsetting"] node_3["iRIC_v4\colormapsに配置されたdefault.cmsetting"] node_4["colormapsettingcontainer.cpp\ncolormaplegendsettingcontainer.cpp\nopacitycontainer.cpp\nで指定されたiRICのデフォルト設定"] node_5["プロジェクト単位の設定ファイル(iRICで作成)"] node_1 --> node_2 node_2 --> node_3 node_3 --> node_4 node_5 --> node_1
イメージとしては以下のようなフローでプロジェクト内限定の各値のデフォルトカラーマップ設定ファイルを作成する。 角丸がユーザーの操作で、四角がiRICが裏でやる操作
flowchart TB node_1(["新規プロジェクト作成"]) node_2["ソルバーのdefinition.xmlで定義された実数値の格子属性を読み取り、\nプロジェクトのデフォルトカラーマップ設定ファイルを作成"] node_3(["計算実行"]) node_4["CGNSファイルから出力された計算結果の名前を読み取り、\nプロジェクトのデフォルトカラーマップ設定ファイルに追加"] node_1 --> node_2 node_2 --> node_3 node_3 --> node_4
ユーザーが変更したカラーマップ設定はワンクリックで作成された設定ファイルに上書き出来るようにする。
UI的にはこんな感じとか
こんなかんじ
作成されるファイルのイメージとして、作成直後は値の識別のためだけにname属性でよい。
<?xml version="1.0" encoding="UTF-8"?> <DefaultColorMapSettings> <Item name="Elevation"> </Item> <Item name="roughness_cell"> </Item> <Output name="Depth"> </Output> <Output name="ElevationChange"> </Output> <Output name="Elevation"> </Output> <Output name="WaterSurface"> </Output> <Output name="VelocityX"> </Output> </DefaultColorMapSettings>
ユーザーが現在のカラーマップ設定をプロジェクトのデフォルトにする操作をするとその値に関して現在のカラーマップ設定が子要素として追記・上書きされる。
<?xml version="1.0" encoding="UTF-8"?> <DefaultColorMapSettings> <Item name="Elevation"> </Item> <Item name="roughness_cell"> </Item> <Output name="Depth"> <ColorMapSetting transitionMode="0" valueMode="1" autoValueRange="true" minValue="0" maxValue="1" fillUppeer="true" fillLower="true" colorTableMinValue="0" visible="true" direction="1" barAutoWidth="false" barWidth="30" barAlign="1" title="title" autoNumberOfLabels="true" numberOfLabels="2" labelFormat="%5.2f" titleFont="Century Gothic,14,-1,5,50,0,0,0,0,0,Regular" labelFont="Century Gothic,14,-1,5,50,0,0,0,0,0,Regular" titleColor="#000000" labelColor="#000000" backgroundColor="#ffffff" backgroundOpacity="20" position="7" horizontalMarginRatio="0" verticalMarginRatio="0.1" width="300" height="200"> <Item value="0" color="#0000ff" transparent="false"/> <Item value="0.25" color="#00ffff" transparent="false"/> <Item value="0.5" color="#00ff00" transparent="false"/> <Item value="0.75" color="#ffff00" transparent="false"/> <Item value="1" color="#ff0000" transparent="false"/> </ColorMapSetting> </Output> <Output name="ElevationChange"> </Output> <Output name="Elevation"> </Output> <Output name="WaterSurface"> </Output> <Output name="VelocityX"> </Output> </DefaultColorMapSettings>
概要
ユーザーの操作の手数をできるだけ減らすように!
仕様案
現在のデフォルトカラーマップ設定を読み込む際の優先順位は以下のようになっている
これの優先順位1位に各値ごとのデフォルトカラーマップ設定を持ったファイルを作成して、ユーザーはGUI上でワンクリックでこのファイルを更新できるようにする。
イメージとしては以下のようなフローでプロジェクト内限定の各値のデフォルトカラーマップ設定ファイルを作成する。 角丸がユーザーの操作で、四角がiRICが裏でやる操作
ユーザーが変更したカラーマップ設定はワンクリックで作成された設定ファイルに上書き出来るようにする。
UI的にはこんな感じとか
こんなかんじ
作成されるファイルのイメージとして、作成直後は値の識別のためだけにname属性でよい。
ユーザーが現在のカラーマップ設定をプロジェクトのデフォルトにする操作をするとその値に関して現在のカラーマップ設定が子要素として追記・上書きされる。
留意点