pylabrobot.resources.ResourceStack#
- class pylabrobot.resources.ResourceStack(name: str, direction: str, resources: List[Resource] | None = None)#
Bases:
ResourceResourceStack represent a group of resources that are stacked together and act as a single unit. Stacks can grow be configured to be able to grow in x, y, or z direction. Stacks growing in the x direction are from left to right. Stacks growing in the y direction are from front to back. Stacks growing in the z direction are from bottom to top, and function as the
stack data type <https://en.wikipedia.org/wiki/Stack_(abstract_data_type)>.- Variables:
name – The name of the resource group.
location – The location of the resource group. This will be the location of the first resource in the group.
category – The category of the resource group.
resources – The resources in the resource group.
- Parameters:
Examples
Making a resource group containing two resources:
>>> stack = ResourceStack(“patched_plate”, "z", [ ... Resource("plate1", size_x=1, size_y=1, size_z=10), ... Resource("plate2", size_x=1, size_y=1, size_z=10), ... ]) >>> stack.get_size_x() 1 >>> stack.get_size_z() 30Movinga plate to the a stacking area.>>> lh.move_plate(plate, stacking_area)
Movinga lid to the stacking area.>>> lh.move_lid(plate.lid, stacking_area)
Getting a plate from the stacking area and moving it to a
PlateCarrier.>>> lh.move_plate(stacking_area.get_top_item(), plt_car[0])
Attributes
Get the name of this resource.
Methods
__init__(name, direction[, resources])assign_child_resource(resource[, location, ...])Assign a child resource to this resource.
at(location)Return a copy of this resource at the given location.
center([x, y, z])Get the center of this resource.
centers([xn, yn, zn])Get equally spaced points in the x, y, and z directions.
copy()deregister_did_assign_resource_callback(callback)Remove a callback that will be called after a resource is assigned to this resource.
Remove a callback that will be called after a resource is unassigned from this resource.
deregister_state_update_callback(callback)Remove a callback that will be called when the state of the resource changes.
Remove a callback that will be called before a resource is assigned to this resource.
Remove a callback that will be called before a resource is unassigned from this resource.
deserialize(data[, allow_marshal])Deserialize a resource from a dictionary.
get_absolute_location([x, y, z])Get the absolute location of this resource, probably within the
pylabrobot.resources.Deck.Get the absolute rotation of this resource.
Get the absolute size in the x direction.
Get the absolute size in the y direction.
Get the absolute size in the z direction.
Recursively get all children of this resource.
get_anchor([x, y, z])Get a relative location within the resource.
Recursively finds the highest known point in absolute space.
get_location_wrt(other[, x, y, z])Get the location of this resource with respect to another resource.
get_new_child_location(resource)Get the location where a new child resource should be placed in the stack.
get_resource(name)Get a resource by name.
get_root()Get the root of the resource tree.
Get local size in the x direction.
Get local size in the y direction.
Get local size in the z direction.
Get the top item in the stack.
is_in_subtree_of(other)Return
Trueifselfis in the subtree rooted atother.load_all_state(state)Load state for this resource and all children.
load_from_json_file(json_file)Loads resources from a JSON file.
load_state(state)Load state for this resource only.
Load the state of this resource and all children from a JSON file.
register_did_assign_resource_callback(callback)Add a callback that will be called after a resource is assigned to this resource.
register_did_unassign_resource_callback(callback)Add a callback that will be called after a resource is unassigned from this resource.
register_state_update_callback(callback)Register a callback that will be called when the state of the resource changes.
register_will_assign_resource_callback(callback)Add a callback that will be called before a resource is assigned to this resource.
Add a callback that will be called before a resource is unassigned from this resource.
rotate([x, y, z])Rotate counter-clockwise by the given number of degrees.
rotated([x, y, z])Return a copy of this resource rotated by the given number of degrees.
save(fn[, indent])Save a resource to a JSON file.
save_state_to_file(fn[, indent])Save the state of this resource and all children to a JSON file.
Serialize the state of this resource and all children.
Serialize the state of this resource only.
unassign()Unassign this resource from its parent.
unassign_child_resource(resource)Unassign a child resource from this resource.