{"record":{"id":"0b7969208ccee97d","repo":"Genesis-Embodied-AI/genesis-world","slug":"this-method-has-been-removed-please-use-get-aabb","errorCode":null,"errorMessage":"This method has been removed. Please use 'get_AABB()' instead.","messagePattern":"This method has been removed\\. Please use 'get_AABB\\(\\)' instead\\.","errorType":"exception","errorClass":"DeprecationError","httpStatus":null,"severity":"error","filePath":"genesis/engine/entities/rigid_entity/rigid_entity.py","lineNumber":3450,"sourceCode":"        # FIXME: Remove this branch after implementing 'get_verts'.\n        if self._enable_heterogeneous and self._solver.n_envs > 0:\n            envs_idx = self._scene._sanitize_envs_idx(envs_idx)\n            n_envs = len(envs_idx)\n            aabb_min = torch.full((n_envs, 3), float(\"inf\"), dtype=gs.tc_float, device=gs.device)\n            aabb_max = torch.full((n_envs, 3), float(\"-inf\"), dtype=gs.tc_float, device=gs.device)\n            for geom in self.geoms:\n                geom_aabb = geom.get_AABB()\n                active_mask = geom.active_envs_mask[envs_idx] if geom.active_envs_mask is not None else ()\n                aabb_min[active_mask] = torch.minimum(aabb_min[active_mask], geom_aabb[envs_idx[active_mask], 0])\n                aabb_max[active_mask] = torch.maximum(aabb_max[active_mask], geom_aabb[envs_idx[active_mask], 1])\n            return torch.stack((aabb_min, aabb_max), dim=-2)\n\n        # Compute the AABB on-the-fly based on the positions of all the vertices\n        verts = self.get_verts()[envs_idx if envs_idx is not None else ()]\n        return torch.stack((verts.min(dim=-2).values, verts.max(dim=-2).values), dim=-2)\n\n    def get_aabb(self):\n        raise DeprecationError(\"This method has been removed. Please use 'get_AABB()' instead.\")\n\n    @gs.assert_built\n    def get_links_pos(\n        self,\n        links_idx_local=None,\n        envs_idx=None,\n        *,\n        ref: link_ref_frame = link_ref_frame.link_origin,\n        relative=True,\n    ):\n        \"\"\"\n        Returns the position of a given reference point for all the entity's links.\n\n        Parameters\n        ----------\n        links_idx_local : None | array_like\n            The indices of the links. Defaults to None.\n        envs_idx : None | array_like, optional","sourceCodeStart":3432,"sourceCodeEnd":3468,"githubUrl":"https://github.com/Genesis-Embodied-AI/genesis-world/blob/56e4aa5d82bdb83f2e532e4cc364cb69527acb06/genesis/engine/entities/rigid_entity/rigid_entity.py#L3432-L3468","documentation":"get_aabb() (lowercase) was removed from RigidEntity; the replacement is get_AABB(). Calling the old name raises DeprecationError immediately. The new method computes the axis-aligned bounding box on the fly from all vertex positions and supports envs_idx selection.","triggerScenarios":"Calling `entity.get_aabb()` on a RigidEntity, typically via code written against an older Genesis version or copied from old examples/tests.","commonSituations":"Upgrading Genesis to a version that renamed the API; stale tutorials/StackOverflow snippets; downstream codebases that cached the old lowercase name.","solutions":["Replace `get_aabb()` with `get_AABB(envs_idx=...)`.","Grep the codebase for `.get_aabb(` and update all call sites."],"exampleFix":"# before\naabb = entity.get_aabb()\n\n# after\naabb = entity.get_AABB()","handlingStrategy":"validation","validationCode":"if hasattr(entity, \"get_AABB\"):\n    aabb = entity.get_AABB()\nelse:  # legacy fallback\n    aabb = entity.get_aabb()","typeGuard":"def get_aabb_safe(entity):\n    getter = getattr(entity, \"get_AABB\", None) or getattr(entity, \"get_aabb\", None)\n    if getter is None:\n        raise AttributeError(\"no AABB getter\")\n    return getter()","tryCatchPattern":"try:\n    aabb = entity.get_AABB()\nexcept AttributeError:\n    aabb = entity.get_aabb()  # older Genesis versions","preventionTips":["Pin the Genesis version in requirements to freeze API names.","After upgrading, grep for removed snake_case aliases (get_aabb, set_dofs_invweight, set_links_invweight)."],"tags":["python","genesis","deprecation","api-migration","aabb"],"backgroundTag":"removed-api-migration","analyzedSha":"56e4aa5d82bdb83f2e532e4cc364cb69527acb06","analyzedAt":"2026-08-28T15:15:07.922Z","schemaVersion":2},"datasetVersion":"2026-08-28T16:17:29.566Z"}