habitat_sim.physics.ArticulatedObjectManager class

Methods

def add_articulated_object_by_template_handle(self, ao_lib_handle: str, force_reload: bool = False, light_setup_key: str = '') -> ManagedArticulatedObject
Instance an articulated object into the scene via a template referenced by its handle. Optionally force the articulated object’s model to be reloaded from disk and assign its initial LightSetup key. Returns a reference to the created object.
def add_articulated_object_by_template_id(self, ao_lib_id: int, force_reload: bool = False, light_setup_key: str = '') -> ManagedArticulatedObject
Instance an articulated object into the scene via a template referenced by its ID. Optionally force the articulated object’s model to be reloaded from disk and assign its initial LightSetup key. Returns a reference to the created object.
def add_articulated_object_from_urdf(self, filepath: str, fixed_base: bool = False, global_scale: float = 1.0, mass_scale: float = 1.0, force_reload: bool = False, maintain_link_order: bool = False, intertia_from_urdf: bool = False, light_setup_key: str = '') -> ManagedArticulatedObject
Load and parse a URDF file using the given ‘filepath’ into a model, then use this model to instantiate an Articulated Object in the world. Returns a reference to the created object.
def get_library_has_handle(self, handle: str) -> bool
Returns whether the passed handle describes an existing BulletArticulatedObject in the library.
def get_library_has_id(self, object_id: int) -> bool
Returns whether the passed object ID describes an existing BulletArticulatedObject in the library.
def get_num_objects(self, /) -> int
Returns the number of existing BulletArticulatedObjects being managed.
def get_object_by_handle(self, handle: str) -> ManagedBulletArticulatedObject
This returns a copy of the BulletArticulatedObject specified by the passed handle if it exists, and NULL if it does not.
def get_object_by_id(self, object_id: int) -> ManagedBulletArticulatedObject
This returns a copy of the BulletArticulatedObject specified by the passed ID if it exists, and NULL if it does not.
def get_object_handle_by_id(self, object_id: int) -> str
Returns string handle for the BulletArticulatedObject corresponding to passed ID.
def get_object_handles(self, search_str: str = '', contains: bool = True, sorted: bool = True) -> typing.List[str]
Returns a potentially sorted list of BulletArticulatedObject handles that either contain or explicitly do not contain the passed search_str, based on the value of boolean contains.
def get_object_id_by_handle(self, handle: str) -> int
Returns integer ID for the BulletArticulatedObject with the passed handle.
def get_objects_CSV_info(self, search_str: str = '', contains: bool = True) -> str
Returns a comma-separated string describing each BulletArticulatedObject whose handles either contain or explicitly do not contain the passed search_str, based on the value of boolean contains. Each BulletArticulatedObject’s info is separated by a newline.
def get_objects_by_handle_substring(self, search_str: str = '', contains: bool = True) -> typing.Dict[str, ManagedBulletArticulatedObject]
Returns a dictionary of BulletArticulatedObject objects, keyed by their handles, for all handles that either contain or explicitly do not contain the passed search_str, based on the value of boolean contains.
def get_objects_info(self, search_str: str = '', contains: bool = True) -> typing.List[str]
Returns a list of CSV strings describing each BulletArticulatedObject whose handles either contain or explicitly do not contain the passed search_str, based on the value of boolean contains.
def get_random_object_handle(self, /) -> str
Returns the handle for a random BulletArticulatedObject chosen from the existing BulletArticulatedObject being managed.
def get_undeletable_handles(self, /) -> typing.List[str]
Returns a list of BulletArticulatedObject handles for BulletArticulatedObjects that have been marked undeletable by the system. These BulletArticulatedObjects can still be modified.
def get_user_locked_handles(self, /) -> typing.List[str]
Returns a list of handles for BulletArticulatedObjects that have been marked locked by the user. These will be undeletable until unlocked by the user. These BulletArticulatedObject can still be modified.
def remove_all_objects(self, /) -> typing.List[ManagedArticulatedObject]
This removes a list of all the BulletArticulatedObjects referenced in the library that have not been marked undeletable by the system or read-only by the user.
def remove_object_by_handle(self, handle: str) -> ManagedArticulatedObject
This removes the BulletArticulatedObject referenced by the passed handle from the library.
def remove_object_by_id(self, object_id: int) -> ManagedArticulatedObject
This removes the BulletArticulatedObject referenced by the passed ID from the library.
def remove_objects_by_str(self, search_str: str = '', contains: bool = True) -> typing.List[ManagedArticulatedObject]
This removes a list of all the BulletArticulatedObjects referenced in the library that have not been marked undeletable by the system or read-only by the user and whose handles either contain or explicitly do not contain the passed search_str.
def set_lock_by_substring(self, lock: bool, search_str: str = '', contains: bool = True) -> typing.List[str]
This sets the lock state for all BulletArticulatedObjects whose handles either contain or explicitly do not contain the passed search_str. Returns a list of handles for BulletArticulatedObjects locked by this function call. Lock == True makes the BulletArticulatedObject unable to be deleted. Note : Locked BulletArticulatedObjects can still be modified.
def set_object_list_lock(self, handles: typing.List[str], lock: bool) -> typing.List[str]
This sets the lock state for all BulletArticulatedObjects whose handles are passed in list. Returns a list of handles for BulletArticulatedObjects locked by this function call. Lock == True makes the BulletArticulatedObject unable to be deleted. Note : Locked BulletArticulatedObjects can still be modified.
def set_object_lock(self, handle: str, lock: bool) -> bool
This sets the lock state for the BulletArticulatedObject that has the passed name. Lock == True makes the BulletArticulatedObject unable to be deleted. Note : Locked BulletArticulatedObjects can still be modified.