1

メッシュの色を設定するために vtkLookupTable を使用しようとしています。さまざまな色の不透明度を設定できないことを除いて、うまく機能する vtkColorTransferFunction から始めました。vtkLookupTable はこの機会を提供しますが、機能させるのに問題があります。

私の vtkPolyData には、取得する色を決定するスカラー値セットがあります。全体で 7 つの値。0 ~ 6 のスカラーで設定します。

私の vtkLookupTable は次のようになります。

vtkLookupTable lut = new vtkLookupTable();
    lut.SetNumberOfColors(7);
    double opacity = 0.3;
    lut.SetTableValue(0, 0, 0, 1, opacity);
    lut.SetTableValue(1, 0, 1.0, 0, opacity);
    lut.SetTableValue(2, 0.6, 1.0, 0.0, opacity);
    lut.SetTableValue(3, 1.0, 1.0, 0.0, 0.7);
    lut.SetTableValue(4, 1.0, 0.8, 0.0, opacity);
    lut.SetTableValue(5, 1.0, 0.4, 0.0, opacity);
    lut.SetTableValue(6, 1.0, 0.0, 0.0, 1);

vtkColorTransferFunction を同じ値 (不透明度なし) で使用すると、機能します。なぜこれが機能しないのか誰にもわかりませんか?私は同じであるべきですか?

手伝ってくれてありがとう。

4

1 に答える 1

4

擬似コードから、2行が欠落している可能性があります。

     lut.SetTableRange(0.0,6.0)
     lut.Build()

これらの関数を呼び出しますか?

この問題でない場合は、使用しているpolydatamapperが原因である可能性があります。問題のパイプライン全体を提出できますか?

ガイドとして、スカラー値をマッパーに追加して正しく視覚化できるようにするには、次のコードを呼び出す必要があります。

    mapper.SetLookupTable(lut)
    mapper.SetScalarVisibility(1)
    mapper.SetScalarRange(0.0,6.0)
于 2012-06-13T00:16:29.650 に答える