Source code for mani_skill.utils.structs.link

from __future__ import annotations

from dataclasses import dataclass, field
from functools import cached_property
from typing import TYPE_CHECKING, Callable, Union

import sapien
import sapien.physx as physx
import torch
import trimesh

from mani_skill.utils.geometry.trimesh_utils import (
    get_render_shape_meshes,
    merge_meshes,
)
from mani_skill.utils.structs.articulation_joint import ArticulationJoint
from mani_skill.utils.structs.base import PhysxRigidBodyComponentStruct
from mani_skill.utils.structs.pose import Pose, to_sapien_pose, vectorize_pose
from mani_skill.utils.structs.types import Array

if TYPE_CHECKING:
    from mani_skill.envs.scene import ManiSkillScene
    from mani_skill.utils.structs import Articulation


@dataclass