nodes.geometry.grid

nodes.geometry.grid

Classes

Name Description
AdvectGrid Move grid values through a velocity field using numerical integration. Supports multiple integration schemes for different accuracy and performance trade-offs
DistributePointsInGrid Generate points inside a volume grid
DistributePointsInVolume Generate points inside a volume
GetNamedGrid Get volume grid from a volume geometry with the specified name
GridCurl Calculate the magnitude and direction of circulation of a directional vector grid
GridDivergence Calculate the flow into and out of each point of a directional vector grid
GridGradient Calculate the direction and magnitude of the change in values of a scalar grid
GridInfo Retrieve information about a volume grid
GridLaplacian Compute the divergence of the gradient of the input grid
GridToMesh Generate a mesh on the “surface” of a volume grid
MeshToDensityGrid Create a filled volume grid from a mesh
MeshToSDFGrid Create a signed distance volume grid from a mesh
MeshToVolume Create a fog volume with the shape of the input mesh’s surface
PointsToSDFGrid Create a signed distance volume grid from points
PointsToVolume Generate a fog volume sphere around every point
PruneGrid Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes
SDFGridFillet Round off concave internal corners in a signed distance field. Only affects areas with negative principal curvature, creating smoother transitions between surfaces
SDFGridLaplacian Apply Laplacian flow smoothing to a signed distance field. Computationally efficient alternative to mean curvature flow, ideal when combined with SDF normalization
SDFGridMean Apply mean (box) filter smoothing to a signed distance field. Fast separable averaging filter for general smoothing of the distance field
SDFGridMeanCurvature Apply mean curvature flow smoothing to a signed distance field. Evolves the surface based on its mean curvature, naturally smoothing high-curvature regions more than flat areas
SDFGridMedian Apply median filter to a signed distance field. Reduces noise while preserving sharp features and edges in the distance field
SDFGridOffset Offset a signed distance field surface by a world-space distance. Dilates (positive) or erodes (negative) while maintaining the signed distance property
SampleGrid Retrieve values from the specified volume grid
SampleGridIndex Retrieve volume grid values at specific voxels
SetGridBackground Set the background value used for inactive voxels and tiles
SetGridTransform Set the transform for the grid from index space into object space.
StoreNamedGrid Store grid data in a volume geometry with the specified name
VolumeCube Generate a dense volume with a field that controls the density at each grid voxel based on its position
VolumeToMesh Generate a mesh on the “surface” of a volume
VoxelizeGrid Remove sparseness from a volume grid by making the active tiles into voxels

AdvectGrid

nodes.geometry.grid.AdvectGrid(
    grid=0.0,
    velocity=None,
    time_step=1.0,
    integration_scheme='Runge-Kutta 3',
    limiter='Clamp',
    *,
    data_type='FLOAT',
)

Move grid values through a velocity field using numerical integration. Supports multiple integration schemes for different accuracy and performance trade-offs

Attributes

Name Description
data_type
i_grid Input socket: Grid
i_integration_scheme Input socket: Integration Scheme
i_limiter Input socket: Limiter
i_time_step Input socket: Time Step
i_velocity Input socket: Velocity
name
node
o_grid Output socket: Grid
tree
type

Methods

Name Description
float Create Advect Grid with operation ‘Float’.
integer Create Advect Grid with operation ‘Integer’.
vector Create Advect Grid with operation ‘Vector’.
float
nodes.geometry.grid.AdvectGrid.float(
    grid=0.0,
    velocity=None,
    time_step=1.0,
    integration_scheme='Runge-Kutta 3',
    limiter='Clamp',
)

Create Advect Grid with operation ‘Float’.

integer
nodes.geometry.grid.AdvectGrid.integer(
    grid=0,
    velocity=None,
    time_step=1.0,
    integration_scheme='Runge-Kutta 3',
    limiter='Clamp',
)

Create Advect Grid with operation ‘Integer’.

vector
nodes.geometry.grid.AdvectGrid.vector(
    grid=None,
    velocity=None,
    time_step=1.0,
    integration_scheme='Runge-Kutta 3',
    limiter='Clamp',
)

Create Advect Grid with operation ‘Vector’.

DistributePointsInGrid

nodes.geometry.grid.DistributePointsInGrid(
    grid=0.0,
    density=1.0,
    seed=0,
    spacing=None,
    threshold=0.1,
    *,
    mode='DENSITY_RANDOM',
)

Generate points inside a volume grid

Attributes

Name Description
i_density Input socket: Density
i_grid Input socket: Grid
i_seed Input socket: Seed
i_spacing Input socket: Spacing
i_threshold Input socket: Threshold
mode
name
node
o_points Output socket: Points
tree
type

DistributePointsInVolume

nodes.geometry.grid.DistributePointsInVolume(
    volume=None,
    mode='Random',
    density=1.0,
    seed=0,
    spacing=None,
    threshold=0.1,
)

Generate points inside a volume

Attributes

Name Description
i_density Input socket: Density
i_mode Input socket: Mode
i_seed Input socket: Seed
i_spacing Input socket: Spacing
i_threshold Input socket: Threshold
i_volume Input socket: Volume
name
node
o_points Output socket: Points
tree
type

GetNamedGrid

nodes.geometry.grid.GetNamedGrid(
    volume=None,
    name='',
    remove=True,
    *,
    data_type='FLOAT',
)

Get volume grid from a volume geometry with the specified name

Attributes

Name Description
data_type
i_name Input socket: Name
i_remove Input socket: Remove
i_volume Input socket: Volume
name
node
o_grid Output socket: Grid
o_volume Output socket: Volume
tree
type

Methods

Name Description
boolean Create Get Named Grid with operation ‘Boolean’.
float Create Get Named Grid with operation ‘Float’.
integer Create Get Named Grid with operation ‘Integer’.
vector Create Get Named Grid with operation ‘Vector’.
boolean
nodes.geometry.grid.GetNamedGrid.boolean(volume=None, name='', remove=True)

Create Get Named Grid with operation ‘Boolean’.

float
nodes.geometry.grid.GetNamedGrid.float(volume=None, name='', remove=True)

Create Get Named Grid with operation ‘Float’.

integer
nodes.geometry.grid.GetNamedGrid.integer(volume=None, name='', remove=True)

Create Get Named Grid with operation ‘Integer’.

vector
nodes.geometry.grid.GetNamedGrid.vector(volume=None, name='', remove=True)

Create Get Named Grid with operation ‘Vector’.

GridCurl

nodes.geometry.grid.GridCurl(grid=None)

Calculate the magnitude and direction of circulation of a directional vector grid

Attributes

Name Description
i_grid Input socket: Grid
name
node
o_curl Output socket: Curl
tree
type

GridDivergence

nodes.geometry.grid.GridDivergence(grid=None)

Calculate the flow into and out of each point of a directional vector grid

Attributes

Name Description
i_grid Input socket: Grid
name
node
o_divergence Output socket: Divergence
tree
type

GridGradient

nodes.geometry.grid.GridGradient(grid=0.0)

Calculate the direction and magnitude of the change in values of a scalar grid

Attributes

Name Description
i_grid Input socket: Grid
name
node
o_gradient Output socket: Gradient
tree
type

GridInfo

nodes.geometry.grid.GridInfo(grid=0.0, *, data_type='FLOAT')

Retrieve information about a volume grid

Attributes

Name Description
data_type
i_grid Input socket: Grid
name
node
o_background_value Output socket: Background Value
o_transform Output socket: Transform
tree
type

Methods

Name Description
boolean Create Grid Info with operation ‘Boolean’.
float Create Grid Info with operation ‘Float’.
integer Create Grid Info with operation ‘Integer’.
vector Create Grid Info with operation ‘Vector’.
boolean
nodes.geometry.grid.GridInfo.boolean(grid=False)

Create Grid Info with operation ‘Boolean’.

float
nodes.geometry.grid.GridInfo.float(grid=0.0)

Create Grid Info with operation ‘Float’.

integer
nodes.geometry.grid.GridInfo.integer(grid=0)

Create Grid Info with operation ‘Integer’.

vector
nodes.geometry.grid.GridInfo.vector(grid=None)

Create Grid Info with operation ‘Vector’.

GridLaplacian

nodes.geometry.grid.GridLaplacian(grid=0.0)

Compute the divergence of the gradient of the input grid

Attributes

Name Description
i_grid Input socket: Grid
name
node
o_laplacian Output socket: Laplacian
tree
type

GridToMesh

nodes.geometry.grid.GridToMesh(grid=0.0, threshold=0.1, adaptivity=0.0)

Generate a mesh on the “surface” of a volume grid

Attributes

Name Description
i_adaptivity Input socket: Adaptivity
i_grid Input socket: Grid
i_threshold Input socket: Threshold
name
node
o_mesh Output socket: Mesh
tree
type

MeshToDensityGrid

nodes.geometry.grid.MeshToDensityGrid(
    mesh=None,
    density=1.0,
    voxel_size=0.3,
    gradient_width=0.2,
)

Create a filled volume grid from a mesh

Attributes

Name Description
i_density Input socket: Density
i_gradient_width Input socket: Gradient Width
i_mesh Input socket: Mesh
i_voxel_size Input socket: Voxel Size
name
node
o_density_grid Output socket: Density Grid
tree
type

MeshToSDFGrid

nodes.geometry.grid.MeshToSDFGrid(mesh=None, voxel_size=0.3, band_width=3)

Create a signed distance volume grid from a mesh

Attributes

Name Description
i_band_width Input socket: Band Width
i_mesh Input socket: Mesh
i_voxel_size Input socket: Voxel Size
name
node
o_sdf_grid Output socket: SDF Grid
tree
type

MeshToVolume

nodes.geometry.grid.MeshToVolume(
    mesh=None,
    density=1.0,
    resolution_mode='Amount',
    voxel_size=0.3,
    voxel_amount=64.0,
    interior_band_width=0.2,
)

Create a fog volume with the shape of the input mesh’s surface

Attributes

Name Description
i_density Input socket: Density
i_interior_band_width Input socket: Interior Band Width
i_mesh Input socket: Mesh
i_resolution_mode Input socket: Resolution Mode
i_voxel_amount Input socket: Voxel Amount
i_voxel_size Input socket: Voxel Size
name
node
o_volume Output socket: Volume
tree
type

PointsToSDFGrid

nodes.geometry.grid.PointsToSDFGrid(points=None, radius=0.5, voxel_size=0.3)

Create a signed distance volume grid from points

Attributes

Name Description
i_points Input socket: Points
i_radius Input socket: Radius
i_voxel_size Input socket: Voxel Size
name
node
o_sdf_grid Output socket: SDF Grid
tree
type

PointsToVolume

nodes.geometry.grid.PointsToVolume(
    points=None,
    density=1.0,
    resolution_mode='Amount',
    voxel_size=0.3,
    voxel_amount=64.0,
    radius=0.5,
)

Generate a fog volume sphere around every point

Attributes

Name Description
i_density Input socket: Density
i_points Input socket: Points
i_radius Input socket: Radius
i_resolution_mode Input socket: Resolution Mode
i_voxel_amount Input socket: Voxel Amount
i_voxel_size Input socket: Voxel Size
name
node
o_volume Output socket: Volume
tree
type

PruneGrid

nodes.geometry.grid.PruneGrid(
    grid=0.0,
    mode='Threshold',
    threshold=0.01,
    *,
    data_type='FLOAT',
)

Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes

Attributes

Name Description
data_type
i_grid Input socket: Grid
i_mode Input socket: Mode
i_threshold Input socket: Threshold
name
node
o_grid Output socket: Grid
tree
type

Methods

Name Description
boolean Create Prune Grid with operation ‘Boolean’.
float Create Prune Grid with operation ‘Float’.
integer Create Prune Grid with operation ‘Integer’.
vector Create Prune Grid with operation ‘Vector’.
boolean
nodes.geometry.grid.PruneGrid.boolean(grid=False, mode='Threshold')

Create Prune Grid with operation ‘Boolean’.

float
nodes.geometry.grid.PruneGrid.float(grid=0.0, mode='Threshold', threshold=0.01)

Create Prune Grid with operation ‘Float’.

integer
nodes.geometry.grid.PruneGrid.integer(grid=0, mode='Threshold', threshold=0)

Create Prune Grid with operation ‘Integer’.

vector
nodes.geometry.grid.PruneGrid.vector(
    grid=None,
    mode='Threshold',
    threshold=None,
)

Create Prune Grid with operation ‘Vector’.

SDFGridFillet

nodes.geometry.grid.SDFGridFillet(grid=0.0, iterations=1)

Round off concave internal corners in a signed distance field. Only affects areas with negative principal curvature, creating smoother transitions between surfaces

Attributes

Name Description
i_grid Input socket: Grid
i_iterations Input socket: Iterations
name
node
o_grid Output socket: Grid
tree
type

SDFGridLaplacian

nodes.geometry.grid.SDFGridLaplacian(grid=0.0, iterations=1)

Apply Laplacian flow smoothing to a signed distance field. Computationally efficient alternative to mean curvature flow, ideal when combined with SDF normalization

Attributes

Name Description
i_grid Input socket: Grid
i_iterations Input socket: Iterations
name
node
o_grid Output socket: Grid
tree
type

SDFGridMean

nodes.geometry.grid.SDFGridMean(grid=0.0, width=1, iterations=1)

Apply mean (box) filter smoothing to a signed distance field. Fast separable averaging filter for general smoothing of the distance field

Attributes

Name Description
i_grid Input socket: Grid
i_iterations Input socket: Iterations
i_width Input socket: Width
name
node
o_grid Output socket: Grid
tree
type

SDFGridMeanCurvature

nodes.geometry.grid.SDFGridMeanCurvature(grid=0.0, iterations=1)

Apply mean curvature flow smoothing to a signed distance field. Evolves the surface based on its mean curvature, naturally smoothing high-curvature regions more than flat areas

Attributes

Name Description
i_grid Input socket: Grid
i_iterations Input socket: Iterations
name
node
o_grid Output socket: Grid
tree
type

SDFGridMedian

nodes.geometry.grid.SDFGridMedian(grid=0.0, width=1, iterations=1)

Apply median filter to a signed distance field. Reduces noise while preserving sharp features and edges in the distance field

Attributes

Name Description
i_grid Input socket: Grid
i_iterations Input socket: Iterations
i_width Input socket: Width
name
node
o_grid Output socket: Grid
tree
type

SDFGridOffset

nodes.geometry.grid.SDFGridOffset(grid=0.0, distance=0.1)

Offset a signed distance field surface by a world-space distance. Dilates (positive) or erodes (negative) while maintaining the signed distance property

Attributes

Name Description
i_distance Input socket: Distance
i_grid Input socket: Grid
name
node
o_grid Output socket: Grid
tree
type

SampleGrid

nodes.geometry.grid.SampleGrid(
    grid=0.0,
    position=None,
    interpolation='Trilinear',
    *,
    data_type='FLOAT',
)

Retrieve values from the specified volume grid

Attributes

Name Description
data_type
i_grid Input socket: Grid
i_interpolation Input socket: Interpolation
i_position Input socket: Position
name
node
o_value Output socket: Value
tree
type

Methods

Name Description
boolean Create Sample Grid with operation ‘Boolean’.
float Create Sample Grid with operation ‘Float’.
integer Create Sample Grid with operation ‘Integer’.
vector Create Sample Grid with operation ‘Vector’.
boolean
nodes.geometry.grid.SampleGrid.boolean(
    grid=False,
    position=None,
    interpolation='Trilinear',
)

Create Sample Grid with operation ‘Boolean’.

float
nodes.geometry.grid.SampleGrid.float(
    grid=0.0,
    position=None,
    interpolation='Trilinear',
)

Create Sample Grid with operation ‘Float’.

integer
nodes.geometry.grid.SampleGrid.integer(
    grid=0,
    position=None,
    interpolation='Trilinear',
)

Create Sample Grid with operation ‘Integer’.

vector
nodes.geometry.grid.SampleGrid.vector(
    grid=None,
    position=None,
    interpolation='Trilinear',
)

Create Sample Grid with operation ‘Vector’.

SampleGridIndex

nodes.geometry.grid.SampleGridIndex(
    grid=0.0,
    x=0,
    y=0,
    z=0,
    *,
    data_type='FLOAT',
)

Retrieve volume grid values at specific voxels

Attributes

Name Description
data_type
i_grid Input socket: Grid
i_x Input socket: X
i_y Input socket: Y
i_z Input socket: Z
name
node
o_value Output socket: Value
tree
type

Methods

Name Description
boolean Create Sample Grid Index with operation ‘Boolean’.
float Create Sample Grid Index with operation ‘Float’.
integer Create Sample Grid Index with operation ‘Integer’.
vector Create Sample Grid Index with operation ‘Vector’.
boolean
nodes.geometry.grid.SampleGridIndex.boolean(grid=False, x=0, y=0, z=0)

Create Sample Grid Index with operation ‘Boolean’.

float
nodes.geometry.grid.SampleGridIndex.float(grid=0.0, x=0, y=0, z=0)

Create Sample Grid Index with operation ‘Float’.

integer
nodes.geometry.grid.SampleGridIndex.integer(grid=0, x=0, y=0, z=0)

Create Sample Grid Index with operation ‘Integer’.

vector
nodes.geometry.grid.SampleGridIndex.vector(grid=None, x=0, y=0, z=0)

Create Sample Grid Index with operation ‘Vector’.

SetGridBackground

nodes.geometry.grid.SetGridBackground(
    grid=0.0,
    background=0.0,
    *,
    data_type='FLOAT',
)

Set the background value used for inactive voxels and tiles

Attributes

Name Description
data_type
i_background Input socket: Background
i_grid Input socket: Grid
name
node
o_grid Output socket: Grid
tree
type

Methods

Name Description
boolean Create Set Grid Background with operation ‘Boolean’.
float Create Set Grid Background with operation ‘Float’.
integer Create Set Grid Background with operation ‘Integer’.
vector Create Set Grid Background with operation ‘Vector’.
boolean
nodes.geometry.grid.SetGridBackground.boolean(grid=False, background=False)

Create Set Grid Background with operation ‘Boolean’.

float
nodes.geometry.grid.SetGridBackground.float(grid=0.0, background=0.0)

Create Set Grid Background with operation ‘Float’.

integer
nodes.geometry.grid.SetGridBackground.integer(grid=0, background=0)

Create Set Grid Background with operation ‘Integer’.

vector
nodes.geometry.grid.SetGridBackground.vector(grid=None, background=None)

Create Set Grid Background with operation ‘Vector’.

SetGridTransform

nodes.geometry.grid.SetGridTransform(
    grid=0.0,
    transform=None,
    *,
    data_type='FLOAT',
)

Set the transform for the grid from index space into object space.

Attributes

Name Description
data_type
i_grid Input socket: Grid
i_transform Input socket: Transform
name
node
o_grid Output socket: Grid
o_is_valid Output socket: Is Valid
tree
type

Methods

Name Description
boolean Create Set Grid Transform with operation ‘Boolean’.
float Create Set Grid Transform with operation ‘Float’.
integer Create Set Grid Transform with operation ‘Integer’.
vector Create Set Grid Transform with operation ‘Vector’.
boolean
nodes.geometry.grid.SetGridTransform.boolean(grid=False, transform=None)

Create Set Grid Transform with operation ‘Boolean’.

float
nodes.geometry.grid.SetGridTransform.float(grid=0.0, transform=None)

Create Set Grid Transform with operation ‘Float’.

integer
nodes.geometry.grid.SetGridTransform.integer(grid=0, transform=None)

Create Set Grid Transform with operation ‘Integer’.

vector
nodes.geometry.grid.SetGridTransform.vector(grid=None, transform=None)

Create Set Grid Transform with operation ‘Vector’.

StoreNamedGrid

nodes.geometry.grid.StoreNamedGrid(
    volume=None,
    name='',
    grid=0.0,
    *,
    data_type='FLOAT',
)

Store grid data in a volume geometry with the specified name

Attributes

Name Description
data_type
i_grid Input socket: Grid
i_name Input socket: Name
i_volume Input socket: Volume
name
node
o_volume Output socket: Volume
tree
type

Methods

Name Description
boolean Create Store Named Grid with operation ‘Boolean’.
float Create Store Named Grid with operation ‘Float’.
integer Create Store Named Grid with operation ‘Integer’.
vector Create Store Named Grid with operation ‘Vector’.
boolean
nodes.geometry.grid.StoreNamedGrid.boolean(volume=None, name='', grid=False)

Create Store Named Grid with operation ‘Boolean’.

float
nodes.geometry.grid.StoreNamedGrid.float(volume=None, name='', grid=0.0)

Create Store Named Grid with operation ‘Float’.

integer
nodes.geometry.grid.StoreNamedGrid.integer(volume=None, name='', grid=0)

Create Store Named Grid with operation ‘Integer’.

vector
nodes.geometry.grid.StoreNamedGrid.vector(volume=None, name='', grid=None)

Create Store Named Grid with operation ‘Vector’.

VolumeCube

nodes.geometry.grid.VolumeCube(
    density=1.0,
    background=0.0,
    min=None,
    max=None,
    resolution_x=32,
    resolution_y=32,
    resolution_z=32,
)

Generate a dense volume with a field that controls the density at each grid voxel based on its position

Attributes

Name Description
i_background Input socket: Background
i_density Input socket: Density
i_max Input socket: Max
i_min Input socket: Min
i_resolution_x Input socket: Resolution X
i_resolution_y Input socket: Resolution Y
i_resolution_z Input socket: Resolution Z
name
node
o_volume Output socket: Volume
tree
type

VolumeToMesh

nodes.geometry.grid.VolumeToMesh(
    volume=None,
    resolution_mode='Grid',
    voxel_size=0.3,
    voxel_amount=64.0,
    threshold=0.1,
    adaptivity=0.0,
)

Generate a mesh on the “surface” of a volume

Attributes

Name Description
i_adaptivity Input socket: Adaptivity
i_resolution_mode Input socket: Resolution Mode
i_threshold Input socket: Threshold
i_volume Input socket: Volume
i_voxel_amount Input socket: Voxel Amount
i_voxel_size Input socket: Voxel Size
name
node
o_mesh Output socket: Mesh
tree
type

VoxelizeGrid

nodes.geometry.grid.VoxelizeGrid(grid=0.0, *, data_type='FLOAT')

Remove sparseness from a volume grid by making the active tiles into voxels

Attributes

Name Description
data_type
i_grid Input socket: Grid
name
node
o_grid Output socket: Grid
tree
type

Methods

Name Description
boolean Create Voxelize Grid with operation ‘Boolean’.
float Create Voxelize Grid with operation ‘Float’.
integer Create Voxelize Grid with operation ‘Integer’.
vector Create Voxelize Grid with operation ‘Vector’.
boolean
nodes.geometry.grid.VoxelizeGrid.boolean(grid=False)

Create Voxelize Grid with operation ‘Boolean’.

float
nodes.geometry.grid.VoxelizeGrid.float(grid=0.0)

Create Voxelize Grid with operation ‘Float’.

integer
nodes.geometry.grid.VoxelizeGrid.integer(grid=0)

Create Voxelize Grid with operation ‘Integer’.

vector
nodes.geometry.grid.VoxelizeGrid.vector(grid=None)

Create Voxelize Grid with operation ‘Vector’.