Exemple #1
0
def write_vtp_header(path, prefix, 
                     vertices, connectivity,
                     offsets, nPoints, nPolygons, variable_list, outType, xtime=None): 
    vtkFile = VtkFile("{}/{}".format(path, prefix), VtkPolyData)

    #if xtime is not None:
    #    vtkFile.openElement(str("metadata"))
    #    vtkFile.openElement(str("xtime"))
    #    vtkFile.xml.addText(str(xtime))
    #    vtkFile.closeElement(str("xtime"))
    #    vtkFile.closeElement(str("metadata"))

    vtkFile.openElement(vtkFile.ftype.name)
    vtkFile.openPiece(npoints=nPoints, npolys=nPolygons)

    vtkFile.openElement(str("Points"))
    vtkFile.addData(str("points"), vertices)
    vtkFile.closeElement(str("Points"))

    vtkFile.openElement(str("Polys"))
    vtkFile.addData(str("connectivity"), connectivity)
    vtkFile.addData(str("offsets"), offsets)
    vtkFile.closeElement(str("Polys"))

    vtkFile.openData(str("Point"),
                     scalars='solution')
    for var in variable_list:
        if var in vec_vars:
          vtkFile.addHeader('x'+var, outType, nPoints, 1)
          vtkFile.addHeader('y'+var, outType, nPoints, 1)
          vtkFile.addHeader('z'+var, outType, nPoints, 1)
        else:
          vtkFile.addHeader(var, outType, nPoints, 1)
    vtkFile.closeData(str("Point"))

    vtkFile.closePiece()
    vtkFile.closeElement(vtkFile.ftype.name)

    vtkFile.appendData(vertices)
    vtkFile.appendData(connectivity)
    vtkFile.appendData(offsets)

    return vtkFile  
Exemple #2
0
    normals = np.asarray(data[i].normals)
    connectivity = np.asarray(data[i].connectivity)
    offsets = np.asarray(data[i].offsets)

    vtkBlocks.openPiece(start=None,
                        end=None,
                        npoints=npoints,
                        ncells=None,
                        nverts=None,
                        nlines=None,
                        nstrips=None,
                        npolys=npolys)

    # Point data
    vtkBlocks.openElement("Points")
    vtkBlocks.addHeader("points", vertices.dtype.name, len(pointIDs), 3)
    vtkBlocks.closeElement("Points")
    vtkBlocks.openData("Point", scalars="pointIDs")
    # vtkBlocks.addData("pointIDs", pointIDs)
    vtkBlocks.addHeader("pointIDs", pointIDs.dtype.name, len(pointIDs), 1)
    vtkBlocks.closeData("Point")

    # Cell data
    vtkBlocks.openData("Cell", normals="normals")
    vtkBlocks.addHeader("normals", normals.dtype.name, npolys, 3)
    vtkBlocks.closeData("Cell")

    # Poly data
    vtkBlocks.openElement("Polys")
    vtkBlocks.addHeader("connectivity", connectivity.dtype.name,
                        len(connectivity), 1)
    # Extract data for vtk file creation
    npoints = len(data[i].vertexIDs)
    pointIDs = np.asarray(data[i].vertexIDs)
    vertices = np.asarray(data[i].vertices)
    npolys = np.asarray(data[i].faceCount)
    normals = np.asarray(data[i].normals)
    connectivity = np.asarray(data[i].connectivity)
    offsets = np.asarray(data[i].offsets)

    vtkBlocks.openPiece(start = None, end = None,
                        npoints = npoints, ncells = None, nverts = None,
                        nlines = None, nstrips = None, npolys = npolys)

    # Point data
    vtkBlocks.openElement("Points")
    vtkBlocks.addHeader("points", vertices.dtype.name, len(pointIDs), 3)
    vtkBlocks.closeElement("Points")
    vtkBlocks.openData("Point", scalars = "pointIDs")
    # vtkBlocks.addData("pointIDs", pointIDs)
    vtkBlocks.addHeader("pointIDs", pointIDs.dtype.name, len(pointIDs), 1)
    vtkBlocks.closeData("Point")

    # Cell data
    vtkBlocks.openData("Cell",  normals = "normals")
    vtkBlocks.addHeader("normals", normals.dtype.name, npolys, 3)
    vtkBlocks.closeData("Cell")

    # Poly data
    vtkBlocks.openElement("Polys")
    vtkBlocks.addHeader("connectivity", connectivity.dtype.name, len(connectivity), 1)
    vtkBlocks.addHeader("offsets", offsets.dtype.name, len(offsets), 1)
Exemple #4
0
def write_vtp_header(path,
                     prefix,
                     active_var_index,
                     var_indices,
                     variable_list,
                     all_dim_vals,
                     vertices,
                     connectivity,
                     offsets,
                     nPoints,
                     nPolygons,
                     outType,
                     cellData=True,
                     pointData=False,
                     xtime=None):  # {{{
    vtkFile = VtkFile("{}/{}".format(path, prefix), VtkPolyData)

    if xtime is not None:
        vtkFile.openElement(str("metadata"))
        vtkFile.openElement(str("xtime"))
        vtkFile.xml.addText(str(xtime))
        vtkFile.closeElement(str("xtime"))
        vtkFile.closeElement(str("metadata"))

    vtkFile.openElement(vtkFile.ftype.name)
    vtkFile.openPiece(npoints=nPoints, npolys=nPolygons)

    vtkFile.openElement(str("Points"))
    vtkFile.addData(str("points"), vertices)
    vtkFile.closeElement(str("Points"))

    vtkFile.openElement(str("Polys"))
    vtkFile.addData(str("connectivity"), connectivity)
    vtkFile.addData(str("offsets"), offsets)
    vtkFile.closeElement(str("Polys"))

    if (cellData):
        vtkFile.openData(
            str("Cell"),
            scalars=[str(var) for var in variable_list[active_var_index]])
        for iVar in var_indices:
            var_name = variable_list[iVar]
            (out_var_names, dim_list) = \
                get_hyperslab_name_and_dims(var_name, all_dim_vals[var_name])
            for out_var_name in out_var_names:
                vtkFile.addHeader(str(out_var_name), outType, nPolygons, 1)
        vtkFile.closeData(str("Cell"))
    if (pointData):
        vtkFile.openData(
            str("Point"),
            scalars=[str(var) for var in variable_list[active_var_index]])
        for iVar in var_indices:
            var_name = variable_list[iVar]
            (out_var_names, dim_list) = \
                get_hyperslab_name_and_dims(var_name, all_dim_vals[var_name])
            for out_var_name in out_var_names:
                vtkFile.addHeader(str(out_var_name), outType, nPoints, 1)
        vtkFile.closeData(str("Point"))

    vtkFile.closePiece()
    vtkFile.closeElement(vtkFile.ftype.name)

    vtkFile.appendData(vertices)
    vtkFile.appendData(connectivity)
    vtkFile.appendData(offsets)

    return vtkFile  # }}}