def to_va
case typecode
when NArray::BYTE
vary = Vtk::UnsignedCharArray.new
when NArray::SINT
vary = Vtk::ShortArray.new
when NArray::INT
vary = Vtk::IntArray.new
when NArray::SFLOAT
vary = Vtk::FloatArray.new
when NArray::FLOAT
vary = Vtk::DoubleArray.new
else
raise "NArray type is invalid"
end
case rank
when 1
vary.SetNumberOfValues( length )
for i in 0...length
vary.SetValue( i, self[i] )
end
when 2
numTuple, numComp = shape
vary.SetNumberOfComponents( numComp )
vary.SetNumberOfTuples( numTuple )
for i in 0...numTuple
for j in 0...numComp
vary.SetComponent( i, j, self[i,j] )
end
end
else
raise "NArray rank must be 1 or 2: rank=#{rank}"
end
return vary
end