Link Search Menu Expand Document

WorldObject

Helper class to store and manipulate objects in an EvoWorld.

Quicklinks:   EvoWorld,   EvoSim,   EvoViewer,   WorldObject,   envs.EvoGymBase,   helper functions and metadata


Page Outline

  1. class WorldObject
    1. method __init__
    2. method copy
    3. classmethod from_array
    4. classmethod from_json
    5. method get_connections
    6. method get_name
    7. method get_pos
    8. method get_structure
    9. method load_from_array
    10. method load_from_json
    11. method load_from_parsed_json
    12. method rename
    13. method set_pos
    14. method translate

class WorldObject

Store and manipulate objects in a Evolution Gym environment.

method __init__

__init__() → None

method copy

copy() → WorldObject

Returns a copy of object.

Returns:

  • WorldObject: copy of object.

classmethod from_array

from_array(
    name: 'str',
    structure: 'ndarray',
    connections: 'Optional[ndarray]' = None
) → WorldObject

Load an object from array and return it.

Args:

  • name (str): object name.
  • structure (np.ndarray): (n, m) array specifing the voxel structure of the object. See evogym.VOXEL_TYPES.
  • connections (Optional[np.ndarray]): (2, k) array specifying k pairwise voxel connections. Voxels are specified by their index into the 1D array np.flatten(structure). The default behavior assumes all adjacent voxels are connected. (default = None)

classmethod from_json

from_json(file_path: 'str') → WorldObject

Load object from a .json environment specification file (these can be created using the EvoGym Design Tool) and return it. Throws a ValueError if the file contains more than one object.

Args:

  • file_path (str): path to file. Ex: my_env.json.

Returns:

  • WorldObject: resulting WorldObject object.

method get_connections

get_connections() → ndarray

Return an object’s connections matrix.

Return: np.ndarray: (2, k) array specifying k pairwise voxel connections. Voxels are specified by their index into the 1D array np.flatten(structure).


method get_name

get_name() → str

Return an object’s name.

Return: str: name of object.


method get_pos

get_pos() → Tuple[int, int]

Return an object’s position.

Return: Tuple[int, int]: position of the object (x, y).


method get_structure

get_structure() → ndarray

Return an object’s structure matrix.

Return: np.ndarray: (n, m) array specifing the voxel structure of the object. See evogym.VOXEL_TYPES.


method load_from_array

load_from_array(
    name: 'str',
    structure: 'ndarray',
    connections: 'Optional[ndarray]' = None
) → None

Load an object from array.

Args:

  • name (str): object name.
  • structure (np.ndarray): (n, m) array specifing the voxel structure of the object. See evogym.VOXEL_TYPES.
  • connections (Optional[np.ndarray]): (2, k) array specifying k pairwise voxel connections. Voxels are specified by their index into the 1D array np.flatten(structure). The default behavior assumes all adjacent voxels are connected. (default = None)

method load_from_json

load_from_json(file_path: 'str') → None

Load object from a .json environment specification file (these can be created using the EvoGym Design Tool). Throws a ValueError if the file contains more than one object.

Args:

  • file_path (str): path to file. Ex: my_env.json.

method load_from_parsed_json

load_from_parsed_json(name: 'str', json_data: 'Any', grid_size: 'Pair') → None

Load object from parsed json data. It is recommended to use WorldObject.load_from_json() instead.

Args:

  • name (str): object name.
  • json_data (Any): parsed json data.
  • grid_size (Pair): grid size of world object is loaded from.

method rename

rename(name: 'str') → None

Rename an object.

Args:

  • name (str): new name.

method set_pos

set_pos(x: 'int', y: 'int') → None

Move an object. Objects retain their position when added to an instance of EvoWorld.

Args:

  • x (int): x-position of the bottom & leftmost voxel of the object. Starts at 0.
  • y (int): y-position of the bottom & leftmost voxel of the object. Starts at 0.

method translate

translate(dx: 'int', dy: 'int') → None

Translate an object. Objects retain their position when added to an instance of EvoWorld.

Args:

  • dx (int): change in x-position.
  • dy (int): change in y-position.

This file was automatically generated via lazydocs.