Core Utilities (.core.util)

Contents

Core Utilities (.core.util)#

blender#

infinigen.core.util.blender.set_geometry_option(material, option='BUMP')[source]#
Parameters:
  • material

  • option -- (default: 'BUMP')

infinigen.core.util.blender.deep_clone_obj(obj, keep_modifiers=False, keep_materials=False)[source]#
Parameters:
  • obj

  • keep_modifiers -- (default: False)

  • keep_materials -- (default: False)

infinigen.core.util.blender.copy(obj, keep_modifiers=False, keep_materials=False)[source]#
Parameters:
  • obj

  • keep_modifiers -- (default: False)

  • keep_materials -- (default: False)

infinigen.core.util.blender.get_all_bpy_data_targets()[source]#
class infinigen.core.util.blender.ViewportMode(obj, mode)[source]#

Bases: object

class infinigen.core.util.blender.CursorLocation(loc)[source]#

Bases: object

class infinigen.core.util.blender.SelectObjects(objects, active=0)[source]#

Bases: object

class infinigen.core.util.blender.DisableModifiers(objs, keep=[])[source]#

Bases: object

class infinigen.core.util.blender.EnableParentCollections(objs, target_key='hide_viewport', target_value=False)[source]#

Bases: object

class infinigen.core.util.blender.TemporaryObject(obj)[source]#

Bases: object

infinigen.core.util.blender.garbage_collect(...)[source]#
Parameters:
  • targets

  • keep_in_use -- (default: True)

  • keep_names -- (default: None)

  • verbose -- (default: False)

class infinigen.core.util.blender.GarbageCollect(targets=None, keep_in_use=True, keep_orig=True, verbose=False)[source]#

Bases: object

infinigen.core.util.blender.select_none()[source]#
infinigen.core.util.blender.select(objs)[source]#
Parameters:

objs (Object | list[Object])

infinigen.core.util.blender.delete(objs)[source]#
Parameters:

objs (Object | list[Object])

infinigen.core.util.blender.delete_collection(collection)[source]#
Parameters:

collection (pf.Collection)

infinigen.core.util.blender.traverse_children(obj, fn)[source]#
Parameters:
  • obj

  • fn

infinigen.core.util.blender.iter_object_tree(obj)[source]#
Parameters:

obj

infinigen.core.util.blender.get_collection(name, reuse=True)[source]#
Parameters:
  • name

  • reuse -- (default: True)

Parameters:

obj

infinigen.core.util.blender.put_in_collection(objs, collection, exclusive=True)[source]#
Parameters:
  • objs

  • collection

  • exclusive -- (default: True)

infinigen.core.util.blender.group_in_collection(...)[source]#

objs: List of (None | Blender Object | List[Blender Object])

Parameters:
  • objs

  • name (str)

  • reuse -- (default: True)

infinigen.core.util.blender.group_toplevel_collections(...)[source]#
Parameters:
  • keyword

  • hide_viewport -- (default: False)

  • hide_render -- (default: False)

  • reuse -- (default: True)

infinigen.core.util.blender.spawn_empty(name, disp_type='PLAIN_AXES', s=0.1)[source]#
Parameters:
  • name

  • disp_type -- (default: 'PLAIN_AXES')

  • s -- (default: 0.1)

infinigen.core.util.blender.spawn_point_cloud(name, pts, edges=None)[source]#
Parameters:
  • name

  • pts

  • edges -- (default: None)

infinigen.core.util.blender.spawn_vert(name='vert')[source]#
Parameters:

name -- (default: 'vert')

infinigen.core.util.blender.spawn_line(name, pts)[source]#
Parameters:
  • name

  • pts

infinigen.core.util.blender.spawn_plane(**kwargs)[source]#
infinigen.core.util.blender.spawn_cube(...)[source]#
Parameters:
  • size -- (default: 1)

  • location -- (default: (0, 0, 0))

  • scale -- (default: (1, 1, 1))

  • name -- (default: None)

infinigen.core.util.blender.spawn_cylinder(...)[source]#
Parameters:
  • radius -- (default: 1.0)

  • depth -- (default: 2.0)

  • location -- (default: (0, 0, 0))

  • scale -- (default: (1, 1, 1))

  • name -- (default: None)

infinigen.core.util.blender.spawn_sphere(...)[source]#
Parameters:
  • radius -- (default: 1)

  • location -- (default: (0, 0, 0))

  • scale -- (default: (1, 1, 1))

  • name -- (default: None)

infinigen.core.util.blender.spawn_icosphere(...)[source]#
Parameters:
  • radius -- (default: 1)

  • location -- (default: (0, 0, 0))

  • scale -- (default: (1, 1, 1))

  • name -- (default: None)

infinigen.core.util.blender.clear_scene(keep=[], targets=None, materials=True)[source]#
Parameters:
  • keep -- (default: [])

  • targets -- (default: None)

  • materials -- (default: True)

infinigen.core.util.blender.spawn_capsule(...)[source]#
Parameters:
  • rad

  • height

  • us -- (default: 32)

  • vs -- (default: 16)

infinigen.core.util.blender.to_mesh(object, context=<bpy_struct, Context>)[source]#
Parameters:
  • object

  • context -- (default: <bpy_struct, Context>)

infinigen.core.util.blender.get_camera_res()[source]#
infinigen.core.util.blender.set_geomod_inputs(mod, inputs)[source]#
Parameters:
infinigen.core.util.blender.modify_mesh(...) bpy_types.Object[source]#
Parameters:
  • obj

  • type

  • apply -- (default: True)

  • name -- (default: None)

  • return_mod -- (default: False)

  • ng_inputs -- (default: None)

  • show_viewport -- (default: None)

infinigen.core.util.blender.constrain_object(obj, type, **kwargs)[source]#
Parameters:
  • obj

  • type

infinigen.core.util.blender.apply_transform(...)[source]#
Parameters:
  • obj

  • loc -- (default: False)

  • rot -- (default: True)

  • scale -- (default: True)

infinigen.core.util.blender.import_mesh(path, **kwargs)[source]#
Parameters:

path

infinigen.core.util.blender.boolean(objs, mode='UNION', verbose=False)[source]#
Parameters:
  • objs

  • mode -- (default: 'UNION')

  • verbose -- (default: False)

infinigen.core.util.blender.split_object(obj, mode='LOOSE')[source]#
Parameters:
  • obj

  • mode -- (default: 'LOOSE')

infinigen.core.util.blender.move_modifier(obj, mod, i)[source]#
Parameters:
  • obj

  • mod

  • i

infinigen.core.util.blender.join_objects(objs, check_attributes=False)[source]#
Parameters:
  • objs

  • check_attributes -- (default: False)

infinigen.core.util.blender.clear_mesh(obj)[source]#
Parameters:

obj

infinigen.core.util.blender.apply_modifiers(obj, mod=None, quiet=True)[source]#
Parameters:
  • obj

  • mod -- (default: None)

  • quiet -- (default: True)

infinigen.core.util.blender.recalc_normals(obj, inside=False)[source]#
Parameters:
  • obj

  • inside -- (default: False)

infinigen.core.util.blender.save_blend(path, autopack=False, verbose=False)[source]#
Parameters:
  • path

  • autopack -- (default: False)

  • verbose -- (default: False)

infinigen.core.util.blender.joined_kd(objs, include_origins=False)[source]#
Parameters:
  • objs

  • include_origins -- (default: False)

infinigen.core.util.blender.make_instances_real()[source]#
infinigen.core.util.blender.objectdata_from_VF(vertices, faces)[source]#
Parameters:
  • vertices

  • faces

infinigen.core.util.blender.object_from_VF(vertices, faces, name)[source]#
Parameters:
  • vertices

  • faces

  • name

infinigen.core.util.blender.object_from_trimesh(mesh, name, material=None)[source]#
Parameters:
  • mesh

  • name

  • material -- (default: None)

infinigen.core.util.blender.object_to_vertex_attributes(obj)[source]#
Parameters:

obj

infinigen.core.util.blender.object_to_trimesh(obj)[source]#
Parameters:

obj

infinigen.core.util.blender.blender_internal_attr(a)[source]#
Parameters:

a

infinigen.core.util.blender.merge_by_distance(obj, face_size)[source]#
Parameters:
  • obj

  • face_size

infinigen.core.util.blender.origin_set(objs, mode, **kwargs)[source]#
Parameters:
  • objs

  • mode

infinigen.core.util.blender.apply_geo(obj)[source]#
Parameters:

obj

infinigen.core.util.blender.avg_approx_vol(objects)[source]#
Parameters:

objects

infinigen.core.util.blender.parent_to(...)[source]#
Parameters:
  • a

  • b

  • type -- (default: 'OBJECT')

  • keep_transform -- (default: False)

  • no_inverse -- (default: False)

  • no_transform -- (default: False)

infinigen.core.util.blender.apply_matrix_world(obj, verts)[source]#
Parameters:
  • obj

  • verts (array)

infinigen.core.util.blender.surface_area(obj)[source]#
Parameters:

obj (Object)

infinigen.core.util.blender.approve_all_drivers()[source]#
infinigen.core.util.blender.count_objects()[source]#
infinigen.core.util.blender.count_instance()[source]#
infinigen.core.util.blender.bounds(obj)[source]#
Parameters:

obj

infinigen.core.util.blender.create_noise_plane(...)[source]#
Parameters:
  • size -- (default: 50)

  • cuts -- (default: 10)

  • std -- (default: 3)

  • levels -- (default: 3)

infinigen.core.util.blender.purge_empty_materials(obj)[source]#
Parameters:

obj

infinigen.core.util.blender.global_polygon_normal(obj, polygon, rev_normal=False)[source]#
Parameters:
  • obj

  • polygon

  • rev_normal -- (default: False)

infinigen.core.util.blender.global_vertex_coordinates(obj, local_vertex) pf.Vector[source]#
Parameters:
  • obj

  • local_vertex

camera#

infinigen.core.util.camera.get_calibration_matrix_K_from_blender(camd)[source]#
Parameters:

camd

infinigen.core.util.camera.get_3x4_RT_matrix_from_blender(cam)[source]#
Parameters:

cam

infinigen.core.util.camera.get_3x4_P_matrix_from_blender(cam)[source]#
Parameters:

cam

infinigen.core.util.camera.project_by_object_utils(cam, point)[source]#
Parameters:
  • cam

  • point

infinigen.core.util.camera.points_inview(bbox, camera)[source]#
Parameters:
  • bbox

  • camera

imu#

infinigen.core.util.imu.solve_cubic(...)[source]#
Parameters:
  • c0

  • c1

  • c2

  • c3

infinigen.core.util.imu.bezier_zeros(...)[source]#
Parameters:
  • x

  • q0

  • q1

  • q2

  • q3

infinigen.core.util.imu.y_of_bezier(t, cy)[source]#

Returns the position of a cubic Bezier curve at t where t is in [0,1]

Parameters:
  • t

  • cy

infinigen.core.util.imu.v_of_bezier(t, cx, cy)[source]#

Returns the velocity of a cubic Bezier curve at t where t is in [0,1]

Parameters:
  • t

  • cx

  • cy

infinigen.core.util.imu.a_of_bezier(t, cx, cy)[source]#

Returns the acceleration of a cubic Bezier curve at t where t is in [0,1]

Parameters:
  • t

  • cx

  • cy

infinigen.core.util.imu.data_from_keyframes(...)[source]#

Return imu (acceleration or rotational velocity) and location data for an fcurve

Parameters:
  • keyframe_points

  • frame_start

  • frame_end

  • for_acceleration

infinigen.core.util.imu.get_imu_tum_data(object, start, end)[source]#

Returns imu and tum data of camera in file formatted strings

Parameters:
  • object

  • start

  • end

infinigen.core.util.imu.save_imu_tum_files(...)[source]#

Write imu and tum data to output files for each object.

Parameters:
  • output_folder

  • objects (list[Object])

  • start -- (default: None)

  • end -- (default: None)

infinigen.core.util.imu.get_camera_intrinsics(camera)[source]#
Parameters:

camera

logging#

infinigen.core.util.logging.lazydebug(...)[source]#
Parameters:
class infinigen.core.util.logging.Timer(desc, disable_timer=False, logger=None)[source]#

Bases: object

class infinigen.core.util.logging.Suppress[source]#

Bases: object

class infinigen.core.util.logging.LogLevel(logger, level)[source]#

Bases: object

infinigen.core.util.logging.save_polycounts(file)[source]#
Parameters:

file

infinigen.core.util.logging.create_text_file(log_dir, filename, text=None)[source]#
Parameters:
  • log_dir

  • filename

  • text -- (default: None)

exception infinigen.core.util.logging.BadSeedError[source]#

Bases: ValueError

math#

class infinigen.core.util.math.FixedSeed(seed)[source]#

Bases: object

class infinigen.core.util.math.AddedSeed(added_seed)[source]#

Bases: object

class infinigen.core.util.math.BBox(mins, maxs)[source]#

Bases: object

uniform()[source]#
union(other)[source]#
Parameters:

other

intersect(other)[source]#
Parameters:

other

empty()[source]#
subset(idx)[source]#
Parameters:

idx

linspace(n)[source]#
Parameters:

n

to_local_coords(p)[source]#
Parameters:

p

to_global_coords(p)[source]#
Parameters:

p

dims()[source]#
measure()[source]#
root()[source]#
center()[source]#
eroded(margin)[source]#
Parameters:

margin

inflated(margin)[source]#
Parameters:

margin

classmethod from_center_dims(center, dims)[source]#
Parameters:
  • center

  • dims

classmethod from_bpy_box(bpy_obj)[source]#
Parameters:

bpy_obj

classmethod empty_box(dim)[source]#
Parameters:

dim

to_limits()[source]#
infinigen.core.util.math.md5_hash(x)[source]#
Parameters:

x

infinigen.core.util.math.int_hash(x, max=4294967295)[source]#
Parameters:
  • x

  • max -- (default: 4294967295)

infinigen.core.util.math.round_to_nearest(x, step)[source]#
Parameters:
  • x

  • step

infinigen.core.util.math.lerp_sample(vec, ts)[source]#
Parameters:
  • vec

  • ts (array)

infinigen.core.util.math.inverse_interpolate(vals, ds)[source]#

Find ts such that lerp_sample(vals, ts) = ds

Parameters:
  • vals

  • ds

infinigen.core.util.math.cross_matrix(v)[source]#
Parameters:

v

infinigen.core.util.math.rodrigues(angle, axi)[source]#
Parameters:
  • angle

  • axi

infinigen.core.util.math.rotate_match_directions(a, b)[source]#
Parameters:
  • a

  • b

infinigen.core.util.math.lerp(a, b, x)[source]#

linear interpolation

Parameters:
  • a

  • b

  • x

infinigen.core.util.math.dict_lerp(a, b, t)[source]#
Parameters:
  • a

  • b

  • t

infinigen.core.util.math.dict_convex_comb(dicts, weights)[source]#
Parameters:
  • dicts

  • weights

infinigen.core.util.math.randomspacing(...)[source]#
Parameters:
  • min

  • max

  • n

  • margin

infinigen.core.util.math.linvec(n, low, high)[source]#
Parameters:
  • n

  • low

  • high

infinigen.core.util.math.homogenize(points)[source]#
Parameters:

points

infinigen.core.util.math.dehomogenize(points)[source]#
Parameters:

points

infinigen.core.util.math.clip_gaussian(...)[source]#
Parameters:
  • mean

  • std

  • min

  • max

  • max_tries -- (default: 20)

infinigen.core.util.math.normalize(v, disallow_zero_norm=False, in_place=True)[source]#
Parameters:
  • v

  • disallow_zero_norm -- (default: False)

  • in_place -- (default: True)

infinigen.core.util.math.project_to_unit_vector(k, v)[source]#
Parameters:
  • k

  • v

infinigen.core.util.math.wrap_around_cyclic_coord(u, u_start, u_end)[source]#
Parameters:
  • u

  • u_start

  • u_end

infinigen.core.util.math.new_domain_from_affine(old_domain, a=1.0, b=0.0)[source]#

old domain: domain of u(t) new domain: domain of u(f(t)), f(t) = a * t + b

Parameters:
  • old_domain

  • a -- (default: 1.0)

  • b -- (default: 0.0)

infinigen.core.util.math.affine_from_new_domain(old_domain, new_domain)[source]#

Get affine parameters a, b such that u(f(at+b)) has new_domain

Parameters:
  • old_domain

  • new_domain

infinigen.core.util.math.resize(arr, shape)[source]#
Parameters:
  • arr

  • shape

ocmesher_utils#

infinigen.core.util.ocmesher_utils.create_sdf_from_mesh(mesh)[source]#
Parameters:

mesh

infinigen.core.util.ocmesher_utils.run_ocmesher(obj, cameras)[source]#
Parameters:
  • obj

  • cameras

organization#

class infinigen.core.util.organization.Task[source]#

Bases: object

Coarse = 'coarse'#
Populate = 'populate'#
FineTerrain = 'fine_terrain'#
Render = 'render'#
GroundTruth = 'ground_truth'#
MeshSave = 'mesh_save'#
Export = 'export'#
class infinigen.core.util.organization.Materials[source]#

Bases: object

GroundCollection = 'ground_collection'#
MountainCollection = 'mountain_collection'#
LiquidCollection = 'liquid_collection'#
Eroded = 'eroded'#
Lava = 'lava'#
Snow = 'snow'#
Atmosphere = 'atmosphere'#
Clouds = 'clouds'#
Beach = 'beach'#
all = ['ground_collection', 'mountain_collection', 'eroded', 'liquid_collection', 'lava', 'snow', 'atmosphere', 'clouds', 'beach']#
class infinigen.core.util.organization.LandTile[source]#

Bases: object

Canyon = 'Canyon'#
Canyons = 'Canyons'#
Cliff = 'Cliff'#
Mesa = 'Mesa'#
Mountain = 'Mountain'#
River = 'River'#
Volcano = 'Volcano'#
Coast = 'Coast'#
MultiMountains = 'MultiMountains'#
class infinigen.core.util.organization.Assets[source]#

Bases: object

Caves = 'Caves'#
UpsidedownMountains = 'UpsidedownMountains'#
Ocean = 'Ocean'#
class infinigen.core.util.organization.AssetFile[source]#

Bases: object

Heightmap = 'heightmap'#
Mask = 'mask'#
TileSize = 'tile_size'#
Params = 'params'#
Finish = 'finish'#
class infinigen.core.util.organization.Process[source]#

Bases: object

Snowfall = 'snowfall'#
Erosion = 'erosion'#
IceErosion = 'ice_erosion'#
Eruption = 'eruption'#
class infinigen.core.util.organization.TerrainNames[source]#

Bases: object

OpaqueTerrain = 'OpaqueTerrain'#
CollectiveTransparentTerrain = 'CollectiveTransparentTerrain'#
class infinigen.core.util.organization.Transparency[source]#

Bases: object

IndividualTransparent = 'IndividualTransparent'#
CollectiveTransparent = 'CollectiveTransparent'#
Opaque = 'Opaque'#
class infinigen.core.util.organization.ElementNames[source]#

Bases: object

Atmosphere = 'atmosphere'#
Liquid = 'liquid'#
Caves = 'caves'#
Clouds = 'clouds'#
LandTiles = 'landtiles'#
Ground = 'ground'#
Mountains = 'mountains'#
WarpedRocks = 'warped_rocks'#
VoronoiRocks = 'voronoi_rocks'#
VoronoiGrains = 'voronoi_grains'#
UpsidedownMountains = 'upsidedown_mountains'#
Volcanos = 'volcanos'#
FloatingIce = 'floating_ice'#
class infinigen.core.util.organization.Tags[source]#

Bases: object

Cave = 'cave'#
LiquidCovered = 'liquid_covered'#
UpsidedownMountainsLowerPart = 'upsidedown_mountain_lower_part'#
Terrain = 'terrain'#
Landscape = 'landscape'#
OutOfView = 'out_of_view'#
class infinigen.core.util.organization.Attributes[source]#

Bases: object

BoundarySDF = 'BoundarySDF'#
ElementTag = 'ElementTag'#
class infinigen.core.util.organization.SelectionCriterions[source]#

Bases: object

CloseUp = 'closeup'#
Altitude = 'altitude'#
class infinigen.core.util.organization.ElementTag[source]#

Bases: object

Liquid = 0#
Clouds = 1#
Terrain = 2#
WarpedRocks = 3#
VoronoiRocks = 4#
VoronoiGrains = 5#
Volcanos = 6#
FloatingIce = 7#
UpsidedownMountains = 8#
total_cnt = 9#
map = ['liquid', 'clouds', 'terrain', 'warped_rocks', 'voronoi_rocks', 'voronoi_grains', 'volcanos', 'floating_ice', 'upsidedown_mountains']#
class infinigen.core.util.organization.SurfaceTypes[source]#

Bases: object

BlenderDisplacement = 'BlenderDisplacement'#
Displacement = 'Displacement'#
SDFPerturb = 'SDFPerturb'#

pipeline#

class infinigen.core.util.pipeline.RandomStageExecutor(scene_seed, output_folder, params)[source]#

Bases: object

Parameters:

output_folder (Path)

save_results(path)[source]#
Parameters:

path

run_stage(...)[source]#
Parameters:
  • name

  • fn

  • use_chance -- (default: True)

  • gc -- (default: True)

  • default -- (default: None)

  • prereq -- (default: None)

random#

infinigen.core.util.random.log_uniform(low, high, size=None)[source]#
Parameters:
  • low

  • high

  • size -- (default: None)

infinigen.core.util.random.sample_json_palette(pallette_name, n_sample=1)[source]#
Parameters:
  • pallette_name

  • n_sample -- (default: 1)

infinigen.core.util.random.random_general(var)[source]#
Parameters:

var

infinigen.core.util.random.random_vector3()[source]#
infinigen.core.util.random.random_color_neighbour(...)[source]#

returns a random color in the neighbourhood of the given one :param color: (r, g, b) or (r, g, b, a) :param hue_diff: maximum change in hue, if none all hue is allowed :param sat_diff: maximum change in saturation :param val_diff: maximum change in value :param only_less_hue: only small hue values smaller than the one provided in rgb :param only_less_sat: :param only_less_val: :param only_more_hue: :param only_more_sat: :param only_more_val: :return: (r, g, b) or (r, g, b, a) depending in the input

Parameters:

rgb

infinigen.core.util.random.clip_hsv(...)[source]#

reduces the hue, saturation and value of an rgb color

Parameters:
  • rgb

  • max_h -- (default: None)

  • max_s -- (default: None)

  • max_v -- (default: None)

infinigen.core.util.random.random_color(brightness_lim=1)[source]#
Parameters:

brightness_lim -- (default: 1)

infinigen.core.util.random.weighted_sample(reg)[source]#
Parameters:

reg

infinigen.core.util.random.mixture_of_gaussian(...)[source]#
Parameters:
  • means (ndarray)

  • stds (array)

  • weights (list[float])

  • clamp_min -- (default: None)

  • clamp_max -- (default: None)

infinigen.core.util.random.wrap_gaussian(...)[source]#
Parameters:
  • mean

  • std

  • low -- (default: 0)

  • high -- (default: 1)

rrt#

infinigen.core.util.rrt.validate_node_nature(node, obj_groups)[source]#
Parameters:
  • node

  • obj_groups

infinigen.core.util.rrt.validate_node_indoors(node, obj_groups)[source]#
Parameters:
  • node

  • obj_groups

class infinigen.core.util.rrt.RRT(
obj_groups,
validate_node,
bbox=None,
step_range=(1, 1),
stride_range=(16, 32),
min_node_dist_to_obstacle=0.2,
max_iter=2000,
)[source]#

Bases: object

generate_path(start=None, goal=None)[source]#
Parameters:
  • start -- (default: None)

  • goal -- (default: None)

next_goal(start, max_iter=100)[source]#
Parameters:
  • start

  • max_iter -- (default: 100)

prox_check(x)[source]#
Parameters:

x

node_in_object(coord)[source]#
Parameters:

coord

is_valid(node)[source]#
Parameters:

node

rand_valid_node()[source]#
rand_node()[source]#
parent(x)[source]#
Parameters:

x

cost(x)[source]#
Parameters:

x

get_vertices()[source]#
wireup(x, y)[source]#
Parameters:
  • x

  • y

getDist(pos1, pos2)[source]#
Parameters:
  • pos1

  • pos2

sample_free(xt, bias=0.1)[source]#
Parameters:
  • xt

  • bias -- (default: 0.1)

nearest(x)[source]#
Parameters:

x

neighborhood(x, radius=None, max_iter=10)[source]#
Parameters:
  • x

  • radius -- (default: None)

  • max_iter -- (default: 10)

steer(x, direction)[source]#
Parameters:
  • x

  • direction

get_bbox(objects=None)[source]#
Parameters:

objects -- (default: None)

is_in_bbox(coord, bbox)[source]#
Parameters:
  • coord

  • bbox

line_not_valid(...)[source]#

see if line intersects obstacle

Parameters:
  • p1

  • p2

  • bbox -- (default: None)

  • dist -- (default: None)

class infinigen.core.util.rrt.AnimPolicyRRT(
rrt=None,
obj_groups=None,
speed=('uniform', 1.0, 1.0),
rot=('normal', 0, [20, 20, 20], 3),
start=None,
goal=None,
)[source]#

Bases: object

reset()[source]#
retry()[source]#
infinigen.core.util.rrt.validate_cam_pose_rrt(...)[source]#
Parameters:
  • cam

  • max_sky_percent -- (default: 0.7)

  • max_proxim_percent -- (default: 0.5)

  • min_obj_dist -- (default: None)

  • min_pixels_check -- (default: 100)

test_utils#

infinigen.core.util.test_utils.setup_gin(configs_folders, configs, overrides=None)[source]#
Parameters:
  • configs_folders

  • configs

  • overrides -- (default: None)

infinigen.core.util.test_utils.import_item(name)[source]#
Parameters:

name

infinigen.core.util.test_utils.load_txt_list(path, skip_sharp=True)[source]#
Parameters:
  • path (Path)

  • skip_sharp -- (default: True)

Module contents#