Simulation Handles - Taccel - Docs (original) (raw)
Toggle table of contents sidebar
This page documents the core handle classes used in the simulation system, including both object handles (e.g., soft bodies and rigid bodies) and constraint handles (e.g., joints). These handles encapsulate metadata, indexing information, and linkage between simulated entities, and serve as essential interfaces for constructing and managing simulation scenes.
class warp_ipc.utils.constants.BodyType(value)¶
Bases: Enum
An enumeration.
AFFINE = 2¶
SOFT_SHELL_LIKE = 0¶
SOFT_VOLUMETRIC = 1¶
class warp_ipc.body_handle.TriMeshBodyHandle(x_num: int, x_offset: int, surf_x_num: int, surf_x_offset_num: int, surf_tri_num: int, surf_tri_offset: int, surf_edge_num: int, surf_edge_offset: int, flipped: bool, is_closed: bool, is_affine: bool, body_type: BodyType, ABD_center: ndarray[tuple[int, ...], dtype[_ScalarType_co]], body_index: int, E: float, mu: float, nu: float, xi: float, volume: float | None = None, mass: float | None = None, wp_mesh: Mesh | None = None)¶
Bases: object
ABD_center_: ndarray[tuple[int, ...], dtype[_ScalarType_co]]_¶
E_: float_¶
body_index_: int_¶
flipped_: bool_¶
is_affine_: bool_¶
is_closed_: bool_¶
mass_: float | None_¶
mu_: float_¶
nu_: float_¶
surf_edge_num_: int_¶
surf_edge_offset_: int_¶
surf_tri_num_: int_¶
surf_tri_offset_: int_¶
surf_x_num_: int_¶
surf_x_offset_num_: int_¶
volume_: float | None_¶
wp_mesh_: Mesh | None_¶
x_num_: int_¶
x_offset_: int_¶
xi_: float_¶
class warp_ipc.body_handle.TetMeshBodyHandle(surf_handle: TriMeshBodyHandle, tets_num: int, tets_offset: int)¶
Bases: object
property ABD_center¶
property body_index¶
property body_type¶
property is_affine¶
property mass¶
surf_handle_: TriMeshBodyHandle_¶
property surf_tri_num¶
property surf_tri_offset¶
tets_num_: int_¶
tets_offset_: int_¶
property volume¶
property x_num¶
property x_offset¶
warp_ipc.body_handle.BodyHandle¶
alias of TetMeshBodyHandle | TriMeshBodyHandle
class warp_ipc.joint_handle.JointType(value)¶
Bases: Enum
An enumeration.
BEZIER = 3¶
HELICAL = 2¶
PRISMATIC = 1¶
REVOLUTE = 0¶
class warp_ipc.joint_handle.WorldJointHandle(body_handle: TetMeshBodyHandle | TriMeshBodyHandle, joint_type: JointType)¶
Bases: object
body_handle_: TetMeshBodyHandle | TriMeshBodyHandle_¶
class warp_ipc.joint_handle.LocalJointHandle(parent_handle: TetMeshBodyHandle | TriMeshBodyHandle, child_handle: TetMeshBodyHandle | TriMeshBodyHandle, joint_type: JointType, joint_origin_transform: ndarray[tuple[int, ...], dtype[_ScalarType_co]], joint_axis: ndarray[tuple[int, ...], dtype[_ScalarType_co]])¶
Bases: object
child_handle_: TetMeshBodyHandle | TriMeshBodyHandle_¶
joint_axis_: ndarray[tuple[int, ...], dtype[_ScalarType_co]]_¶
joint_origin_transform_: ndarray[tuple[int, ...], dtype[_ScalarType_co]]_¶
parent_handle_: TetMeshBodyHandle | TriMeshBodyHandle_¶