UV Surface (.uv_surface)

UV Surface (.uv_surface)#

cutouts#

class infinigen2.uv_surface.cutouts.UvCutoutResult(...)[source]#

Bases: NamedTuple

Fields: mesh: ProcNode[~MeshObject]; is_cutout_face: ProcNode[bool]; holed: ProcNode[~MeshObject]; instances: ProcNode[~Instances]

infinigen2.uv_surface.cutouts.uv_cutout_instances(...) → UvCutoutResult[source]#

Remesh a metres-UV surface around footprint holes at each grid point, and place instance over each hole. Instances are authored with +X along the surface normal, +Y along U and +Z along V before rotation_offset.

Parameters:

grid_placement#

class infinigen2.uv_surface.grid_placement.FacesForInstanceGridBboxesResult(mesh, is_instance_face, inset)[source]#

Bases: NamedTuple

Fields: mesh: ProcNode[~MeshObject]; is_instance_face: ProcNode[bool]; inset: ProcNode[Vector]

class infinigen2.uv_surface.grid_placement.GridFromSpacingResult(...)[source]#

Bases: NamedTuple

Fields: grid_mesh: ProcNode[~MeshObject]; query_uv: ProcNode[Vector]; index_x: ProcNode[int]; index_y: ProcNode[int]

class infinigen2.uv_surface.grid_placement.GridWithIndicesResult(...)[source]#

Bases: NamedTuple

Fields: mesh: ProcNode[~MeshObject]; index_x: ProcNode[int]; index_y: ProcNode[int]; uv_integer: ProcNode[Vector]; uv_factor: ProcNode[Vector]

class infinigen2.uv_surface.grid_placement.NormedUvToBoundsUvResult(uv_out, lower, upper)[source]#

Bases: NamedTuple

Fields: uv_out: ProcNode[Vector]; lower: ProcNode[Vector]; upper: ProcNode[Vector]

class infinigen2.uv_surface.grid_placement.SubgridResult(...)[source]#

Bases: NamedTuple

Fields: is_boundary: ProcNode[bool]; is_boundary_x: ProcNode[bool]; is_boundary_y: ProcNode[bool]; subgrid_verts_x: ProcNode[int]; subgrid_verts_y: ProcNode[int]; subgrid_index_x: ProcNode[int]; subgrid_index_y: ProcNode[int]

infinigen2.uv_surface.grid_placement.faces_for_instance_grid_bboxes(
...,
) → FacesForInstanceGridBboxesResult[source]#

Remesh a surface into a grid with one hole face-patch per instance footprint.

Nonzero profile heights (metres) round the top/bottom of each footprint into ellipse quarters; use more than two verts_per_instance_x columns for them. face_expand_margin grows the mesh outline; inset maps it back per point.

Parameters:
infinigen2.uv_surface.grid_placement.grid_between(
first_uv,
last_uv,
count,
) → GridFromSpacingResult[source]#

count query points evenly spaced in UV from first_uv to last_uv.

Parameters:
infinigen2.uv_surface.grid_placement.grid_from_spacing(...) → GridFromSpacingResult[source]#
Parameters:
infinigen2.uv_surface.grid_placement.grid_with_indices(
vertices_x,
vertices_y,
) → GridWithIndicesResult[source]#
Parameters:
infinigen2.uv_surface.grid_placement.normed_uv_to_bounds_uv(
...,
) → NormedUvToBoundsUvResult[source]#
Parameters:
infinigen2.uv_surface.grid_placement.place_instances_on_uv_grid(
...,
) → pf.ProcNode[procfunc.nodes.types.Instances][source]#
Parameters:
infinigen2.uv_surface.grid_placement.subgrid(...) → SubgridResult[source]#
Parameters:

Module contents#