我正在使用结构化和非结构化网格。 我有一个像这样的3D网格。 我希望每个单元格都有一个属性向量。
所以,如果我有 vtkDataArray (例如vtkDenseArray)。对于每个细胞:
答案 0 :(得分:0)
在python中我会这样做:
import vtk,math
sg = vtk.vtkStructuredGrid()
n = 6
sg.SetDimensions([n,n,n])
vec = vtk.vtkFloatArray()
vec.SetNumberOfComponents(3)
pts = vtk.vtkPoints()
for kx in range(n):
for ky in range(n):
for kz in range(n):
pts.InsertNextPoint(kx*0.1,ky*0.1,kz*0.1)
for kx in range(n-1):
for ky in range(n-1):
for kz in range(n-1):
vec.InsertNextTuple([math.cos(ky*0.05*math.pi),
math.sin(kx*0.05*math.pi),0.1*kz])
sg.SetPoints(pts)
sg.GetCellData().SetVectors(vec)
w = vtk.vtkXMLStructuredGridWriter()
w.SetInputData(sg)
w.SetFileName('sgrid_cd.vts')
w.Write()
我不认为在c ++中使用vtkDenseArray应该会有所不同。