Source code for genesis.engine.entities.rigid_entity.rigid_link

from typing import TYPE_CHECKING

import numpy as np
import torch
import trimesh

import genesis as gs
from genesis.repr_base import RBC
from genesis.utils import geom as gu
from genesis.utils.urdf import compose_inertial_properties, rotate_inertia

from genesis.utils.misc import tensor_to_array, ti_to_torch, DeprecationError

from .rigid_geom import RigidGeom, RigidVisGeom

if TYPE_CHECKING:
    from .rigid_entity import RigidEntity
    from .rigid_joint import RigidJoint
    from genesis.engine.solvers.rigid.rigid_solver import RigidSolver


# If mass is too small, we do not care much about spatial inertia discrepancy
MASS_EPS = 0.005
AABB_EPS = 0.002
INERTIA_RATIO_MAX = 100.0