VTKには基本型(float、int、doubleなど)のtypedefがあり、型ごとの整数が割り当てられます。 hereと指定されています。vtkデータ型と基本データ型の比較
GetDataType()
は、たとえばvtkDataArray
のいずれかの型に対応する整数を返します。 その整数を基本データ型(float、int、double)と比較したいと思います。
簡単な方法はありますか?
私が使っているのは、パラメータTがスカラーのテンプレートクラスです。 私は、データセットのスカラーポイントデータは、私が何をすべきか、今のT.
と同じデータ型を持つ型のサイズ比較であるかどうかを確認したい:
vtkDataArray *scalars = image->GetPointData()->GetScalars();
if(scalars->GetDataTypeSize() != sizeof(T))
{
std::cerr<<"Incompatible types"<<std::endl;
}
しかし、明らかに、float
とint
は両方ともサイズ4なので、実際には機能しません。
アイデア?
私はいくつかの例を準備しています... – norisknofun