vdb_tool 10.6.1 # Define frames over which to iterate. n is the number of frames and s is the stride # See the comments associated with the "read" and "write" options below to # understand the implications of the "frames" option. for n=100,110,1 # Read the multiple frames of the OpenVDB files with points: # "..._points.0100.vdb", "..._points.0101.vdb, ending with # ""..._points.0109.vdb" read /Users/ken/dev/data/vdb/fluid_points.{$n:4:pad0}.vdb # convert vdb point to geometry points vdb2points # PointToLevelSet dimension=256 [voxels], radius=2 [voxel units], width=3 [voxel units] points2ls dim=256 radius=2 width=3 # Dilate level set # radius of dilation is 1.0 voxels # spatial discretization is 5'th order WENO # temporal discretization is 1'th order TVD-RK dilate radius=1 space=5 time=1 # Gaussian filtering of level set # number of iterations is 1 # spatial discretization is 5'th order WENO # temporal discretization is 1'th order TVD-RK # width of the filter kernel is 1.0 voxels gauss iter=1 space=5 time=1 size=1 # Erode level set # radius of erosion is 1.0 voxels # spatial discretization is 5'th order WENO # temporal discretization is 1'th order TVD-RK erode radius=1 space=5 time=1 # Level set to polygon mesh conversion # Mesh adaptivity is 0.1 % ls2mesh adapt=0.1 # write polygon mesh to binary ply files: # "surface-000.ply", "surface-100.ply, ending with "surface-109.ply" write surface-{$n:3:pad0}.ply # end for loop end