sapien.core package¶
Submodules¶
sapien.core.pysapien module¶
SAPIEN core module
-
class
sapien.core.pysapien.
ActiveLightEntity
¶ Bases:
sapien.core.pysapien.LightEntity
-
property
fov
¶
-
property
position
¶
-
set_fov
(self: sapien.core.pysapien.ActiveLightEntity, arg0: float) → None¶
-
set_position
(self: sapien.core.pysapien.ActiveLightEntity, position: numpy.ndarray[numpy.float32]) → None¶
-
property
-
class
sapien.core.pysapien.
Actor
¶ Bases:
sapien.core.pysapien.ActorDynamicBase
-
lock_motion
(self: sapien.core.pysapien.Actor, x: bool = True, y: bool = True, z: bool = True, rx: bool = True, ry: bool = True, rz: bool = True) → None¶
-
pack
(self: sapien.core.pysapien.Actor) → List[float]¶
-
set_angular_velocity
(self: sapien.core.pysapien.Actor, arg0: numpy.ndarray[numpy.float32]) → None¶
-
set_pose
(self: sapien.core.pysapien.Actor, pose: sapien.core.pysapien.Pose) → None¶
-
set_solver_iterations
(self: sapien.core.pysapien.Actor, position: int, velocity: int = 1) → None¶
-
set_velocity
(self: sapien.core.pysapien.Actor, arg0: numpy.ndarray[numpy.float32]) → None¶
-
unpack
(self: sapien.core.pysapien.Actor, arg0: numpy.ndarray[numpy.float32]) → None¶
-
-
class
sapien.core.pysapien.
ActorBase
¶ Bases:
sapien.core.pysapien.Entity
-
get_builder
(self: sapien.core.pysapien.ActorBase) → sapien.core.pysapien.ActorBuilder¶
-
get_collision_shapes
(self: sapien.core.pysapien.ActorBase) → List[sapien.core.pysapien.CollisionShape]¶
-
get_collision_visual_bodies
(self: sapien.core.pysapien.ActorBase) → List[sapien.core.pysapien.RenderBody]¶
-
get_id
(self: sapien.core.pysapien.ActorBase) → int¶
-
get_scene
(self: sapien.core.pysapien.ActorBase) → sapien.core.pysapien.Scene¶
-
get_visual_bodies
(self: sapien.core.pysapien.ActorBase) → List[sapien.core.pysapien.RenderBody]¶
-
hide_visual
(self: sapien.core.pysapien.ActorBase) → None¶
-
property
id
¶
-
is_hiding_visual
(self: sapien.core.pysapien.ActorBase) → bool¶
-
on_contact
(self: sapien.core.pysapien.ActorBase, func: Callable[[sapien.core.pysapien.ActorBase, sapien.core.pysapien.ActorBase, sapien.core.pysapien.Contact], None]) → None¶
-
on_step
(self: sapien.core.pysapien.ActorBase, func: Callable[[sapien.core.pysapien.ActorBase, float], None]) → None¶
-
on_trigger
(self: sapien.core.pysapien.ActorBase, func: Callable[[sapien.core.pysapien.ActorBase, sapien.core.pysapien.ActorBase, sapien.core.pysapien.Trigger], None]) → None¶
-
render_collision
(self: sapien.core.pysapien.ActorBase, render: bool = True) → None¶
-
property
type
¶ One of “static”, “kinematic”, “dynamic”, “link”, “kinematic_link”
-
unhide_visual
(self: sapien.core.pysapien.ActorBase) → None¶
-
-
class
sapien.core.pysapien.
ActorBuilder
¶ Bases:
pybind11_builtins.pybind11_object
-
add_box_collision
(self: sapien.core.pysapien.ActorBuilder, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), half_size: numpy.ndarray[numpy.float32] = array([1.0, 1.0, 1.0], dtype=float32), material: sapien.core.pysapien.PhysicalMaterial = None, density: float = 1000, patch_radius: float = 0.0, min_patch_radius: float = 0.0, is_trigger: bool = False) → None¶
-
add_box_visual
(*args, **kwargs)¶ Overloaded function.
add_box_visual(self: sapien.core.pysapien.ActorBuilder, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), half_size: numpy.ndarray[numpy.float32] = array([1., 1., 1.], dtype=float32), color: numpy.ndarray[numpy.float32] = array([1., 1., 1.], dtype=float32), name: str = ‘’) -> None
add_box_visual(self: sapien.core.pysapien.ActorBuilder, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), half_size: numpy.ndarray[numpy.float32] = array([1., 1., 1.], dtype=float32), material: sapien.core.pysapien.RenderMaterial = None, name: str = ‘’) -> None
-
add_capsule_collision
(self: sapien.core.pysapien.ActorBuilder, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), radius: float = 1, half_length: float = 1, material: sapien.core.pysapien.PhysicalMaterial = None, density: float = 1000, patch_radius: float = 0.0, min_patch_radius: float = 0.0, is_trigger: bool = False) → None¶ Add a capsule collision shape. The height is along the x-axis.
-
add_capsule_visual
(*args, **kwargs)¶ Overloaded function.
add_capsule_visual(self: sapien.core.pysapien.ActorBuilder, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), radius: float = 1, half_length: float = 1, color: numpy.ndarray[numpy.float32] = array([1., 1., 1.], dtype=float32), name: str = ‘’) -> None
Add a capsule visual shape. The height is along the x-axis.
add_capsule_visual(self: sapien.core.pysapien.ActorBuilder, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), radius: float = 1, half_length: float = 1, material: sapien.core.pysapien.RenderMaterial = None, name: str = ‘’) -> None
Add a capsule visual shape. The height is along the x-axis.
-
add_collision_from_file
(self: sapien.core.pysapien.ActorBuilder, filename: str, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), scale: numpy.ndarray[numpy.float32] = array([1.0, 1.0, 1.0], dtype=float32), material: sapien.core.pysapien.PhysicalMaterial = None, density: float = 1000, patch_radius: float = 0.0, min_patch_radius: float = 0.0, is_trigger: bool = False) → None¶ Add a collision shape from file (see assimp for supported formats). If the shape in the file is not convex, it will be converted by the PhysX backend.
-
add_multiple_collisions_from_file
(self: sapien.core.pysapien.ActorBuilder, filename: str, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), scale: numpy.ndarray[numpy.float32] = array([1.0, 1.0, 1.0], dtype=float32), material: sapien.core.pysapien.PhysicalMaterial = None, density: float = 1000, patch_radius: float = 0.0, min_patch_radius: float = 0.0, is_trigger: bool = False) → None¶ Add multiple collisions shapes from files. Also see @add_collision_from_file. Different from @add_collision_from_file, all connected components in the file will be converted to be convex.
-
add_nonconvex_collision_from_file
(self: sapien.core.pysapien.ActorBuilder, filename: str, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), scale: numpy.ndarray[numpy.float32] = array([1.0, 1.0, 1.0], dtype=float32), material: sapien.core.pysapien.PhysicalMaterial = None, patch_radius: float = 0.0, min_patch_radius: float = 0.0, is_trigger: bool = False) → None¶ Add a nonconvex collision shape from a file. If it is not a trigger, then it is only valid for static and kinematic actors.
-
add_sphere_collision
(self: sapien.core.pysapien.ActorBuilder, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), radius: float = 1, material: sapien.core.pysapien.PhysicalMaterial = None, density: float = 1000, patch_radius: float = 0.0, min_patch_radius: float = 0.0, is_trigger: bool = False) → None¶
-
add_sphere_visual
(*args, **kwargs)¶ Overloaded function.
add_sphere_visual(self: sapien.core.pysapien.ActorBuilder, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), radius: float = 1, color: numpy.ndarray[numpy.float32] = array([1., 1., 1.], dtype=float32), name: str = ‘’) -> None
add_sphere_visual(self: sapien.core.pysapien.ActorBuilder, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), radius: float = 1, material: sapien.core.pysapien.RenderMaterial = None, name: str = ‘’) -> None
-
add_visual_from_file
(self: sapien.core.pysapien.ActorBuilder, filename: str, pose: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), scale: numpy.ndarray[numpy.float32] = array([1.0, 1.0, 1.0], dtype=float32), material: sapien.core.pysapien.RenderMaterial = None, name: str = '') → None¶
-
build
(self: sapien.core.pysapien.ActorBuilder, name: str = '') → sapien.core.pysapien.Actor¶
-
build_kinematic
(self: sapien.core.pysapien.ActorBuilder, name: str = '') → sapien.core.pysapien.Actor¶
-
build_static
(self: sapien.core.pysapien.ActorBuilder, name: str = '') → sapien.core.pysapien.ActorStatic¶
-
get_collisions
(self: sapien.core.pysapien.ActorBuilder) → List[sapien.core.pysapien.ShapeRecord]¶
-
get_visuals
(self: sapien.core.pysapien.ActorBuilder) → List[sapien.core.pysapien.VisualRecord]¶
-
remove_all_collisions
(self: sapien.core.pysapien.ActorBuilder) → None¶
-
remove_all_visuals
(self: sapien.core.pysapien.ActorBuilder) → None¶
-
remove_collision_at
(self: sapien.core.pysapien.ActorBuilder, index: int) → None¶
-
remove_visual_at
(self: sapien.core.pysapien.ActorBuilder, index: int) → None¶
-
reset_collision_groups
(self: sapien.core.pysapien.ActorBuilder) → None¶
-
set_collision_groups
(self: sapien.core.pysapien.ActorBuilder, group0: int, group1: int, group2: int, group3: int) → None¶ see CollisionShape.set_collision_groups
-
set_mass_and_inertia
(self: sapien.core.pysapien.ActorBuilder, mass: float, inertia_pose: sapien.core.pysapien.Pose, inertia: numpy.ndarray[numpy.float32]) → None¶ Set the mass and inertia.
- Args:
mass: the (scalar) mass of the actor inertia_pose:
the position is the center of mass; the rotation (quaternion) is the principle axis of inertia, relative to actor frame
inertia: principle moments of inertia (a 3D vector)
- References:
https://en.wikipedia.org/wiki/Moment_of_inertia#Principal_axes
-
set_scene
(self: sapien.core.pysapien.ActorBuilder, arg0: sapien.core.pysapien.Scene) → None¶
-
-
class
sapien.core.pysapien.
ActorDynamicBase
¶ Bases:
sapien.core.pysapien.ActorBase
-
add_force_at_point
(self: sapien.core.pysapien.ActorDynamicBase, force: numpy.ndarray[numpy.float32], point: numpy.ndarray[numpy.float32]) → None¶
-
add_force_torque
(self: sapien.core.pysapien.ActorDynamicBase, force: numpy.ndarray[numpy.float32], torque: numpy.ndarray[numpy.float32]) → None¶
-
property
angular_velocity
¶
-
property
cmass_local_pose
¶
-
get_angular_velocity
(self: sapien.core.pysapien.ActorDynamicBase) → numpy.ndarray[numpy.float32]¶
-
get_cmass_local_pose
(self: sapien.core.pysapien.ActorDynamicBase) → sapien.core.pysapien.Pose¶
-
get_inertia
(self: sapien.core.pysapien.ActorDynamicBase) → numpy.ndarray[numpy.float32]¶
-
get_mass
(self: sapien.core.pysapien.ActorDynamicBase) → float¶
-
get_velocity
(self: sapien.core.pysapien.ActorDynamicBase) → numpy.ndarray[numpy.float32]¶
-
property
inertia
¶
-
property
mass
¶
-
set_damping
(self: sapien.core.pysapien.ActorDynamicBase, linear: float, angular: float) → None¶
-
property
velocity
¶
-
-
class
sapien.core.pysapien.
ActorStatic
¶ Bases:
sapien.core.pysapien.ActorBase
-
pack
(self: sapien.core.pysapien.ActorStatic) → List[float]¶
-
set_pose
(self: sapien.core.pysapien.ActorStatic, pose: sapien.core.pysapien.Pose) → None¶
-
unpack
(self: sapien.core.pysapien.ActorStatic, arg0: numpy.ndarray[numpy.float32]) → None¶
-
-
class
sapien.core.pysapien.
Articulation
¶ Bases:
sapien.core.pysapien.ArticulationDrivable
-
compute_adjoint_matrix
(self: sapien.core.pysapien.Articulation, source_link_ik: int, target_link_id: int) → numpy.ndarray[numpy.float32[6, 6]]¶
-
compute_cartesian_diff_ik
(self: sapien.core.pysapien.Articulation, world_velocity: numpy.ndarray[numpy.float32[6, 1]], commanded_link_id: int, active_joint_ids: List[int] = []) → numpy.ndarray[numpy.float32[m, 1]]¶
-
compute_forward_dynamics
(self: sapien.core.pysapien.Articulation, arg0: numpy.ndarray[numpy.float32]) → numpy.ndarray[numpy.float32]¶
-
compute_inverse_dynamics
(self: sapien.core.pysapien.Articulation, arg0: numpy.ndarray[numpy.float32]) → numpy.ndarray[numpy.float32]¶
-
compute_manipulator_inertia_matrix
(self: sapien.core.pysapien.Articulation) → numpy.ndarray[numpy.float32[m, n]]¶
-
compute_passive_force
(self: sapien.core.pysapien.Articulation, gravity: bool = True, coriolis_and_centrifugal: bool = True, external: bool = True) → numpy.ndarray[numpy.float32]¶
-
compute_spatial_twist_jacobian
(self: sapien.core.pysapien.Articulation) → numpy.ndarray[numpy.float32[m, n]]¶
-
compute_transformation_matrix
(self: sapien.core.pysapien.Articulation, source_link_id: int, target_link_id: int) → numpy.ndarray[numpy.float32[4, 4]]¶
-
compute_twist_diff_ik
(self: sapien.core.pysapien.Articulation, spatial_twist: numpy.ndarray[numpy.float32[6, 1]], commanded_link_id: int, active_joint_ids: List[int] = []) → numpy.ndarray[numpy.float32[m, 1]]¶
-
compute_world_cartesian_jacobian
(self: sapien.core.pysapien.Articulation) → numpy.ndarray[numpy.float32[m, n]]¶
-
get_active_joints
(self: sapien.core.pysapien.Articulation) → List[sapien.core.pysapien.Joint]¶
-
get_drive_velocity_target
(self: sapien.core.pysapien.Articulation) → numpy.ndarray[numpy.float32]¶
-
pack
(self: sapien.core.pysapien.Articulation) → List[float]¶
-
set_drive_velocity_target
(self: sapien.core.pysapien.Articulation, drive_velocity_target: numpy.ndarray[numpy.float32]) → None¶
-
set_root_angular_velocity
(self: sapien.core.pysapien.Articulation, vel: numpy.ndarray[numpy.float32]) → None¶
-
set_root_velocity
(self: sapien.core.pysapien.Articulation, vel: numpy.ndarray[numpy.float32]) → None¶
-
unpack
(self: sapien.core.pysapien.Articulation, arg0: numpy.ndarray[numpy.float32]) → None¶
-
-
class
sapien.core.pysapien.
ArticulationBase
¶ Bases:
sapien.core.pysapien.Entity
-
create_pinocchio_model
(self: sapien.core.pysapien.ArticulationBase) → sapien.core.pysapien.PinocchioModel¶ Create the kinematic and dynamic model of this articulation implemented by the Pinocchio library. Allowing computing forward/inverse kinematics/dynamics.
-
property
dof
¶
-
export_urdf
(self: sapien.core.pysapien.ArticulationBase, cache_dir: str = '') → str¶
-
get_builder
(self: sapien.core.pysapien.ArticulationBase) → sapien.core.pysapien.ArticulationBuilder¶
-
get_joints
(self: sapien.core.pysapien.ArticulationBase) → List[sapien.core.pysapien.JointBase]¶
-
get_links
(self: sapien.core.pysapien.ArticulationBase) → List[sapien.core.pysapien.LinkBase]¶
-
get_qacc
(self: sapien.core.pysapien.ArticulationBase) → numpy.ndarray[numpy.float32]¶
-
get_qf
(self: sapien.core.pysapien.ArticulationBase) → numpy.ndarray[numpy.float32]¶
-
get_qlimits
(self: sapien.core.pysapien.ArticulationBase) → numpy.ndarray[numpy.float32]¶
-
get_qpos
(self: sapien.core.pysapien.ArticulationBase) → numpy.ndarray[numpy.float32]¶
-
get_qvel
(self: sapien.core.pysapien.ArticulationBase) → numpy.ndarray[numpy.float32]¶
-
get_root_pose
(self: sapien.core.pysapien.ArticulationBase) → sapien.core.pysapien.Pose¶
-
set_pose
(self: sapien.core.pysapien.ArticulationBase, pose: sapien.core.pysapien.Pose) → None¶ same as set_root_pose
-
set_qacc
(self: sapien.core.pysapien.ArticulationBase, qacc: numpy.ndarray[numpy.float32]) → None¶
-
set_qf
(self: sapien.core.pysapien.ArticulationBase, qf: numpy.ndarray[numpy.float32]) → None¶
-
set_qlimits
(self: sapien.core.pysapien.ArticulationBase, qlimits: numpy.ndarray[numpy.float32]) → None¶
-
set_qpos
(self: sapien.core.pysapien.ArticulationBase, qpos: numpy.ndarray[numpy.float32]) → None¶
-
set_qvel
(self: sapien.core.pysapien.ArticulationBase, qvel: numpy.ndarray[numpy.float32]) → None¶
-
set_root_pose
(self: sapien.core.pysapien.ArticulationBase, pose: sapien.core.pysapien.Pose) → None¶
-
property
type
¶
-
-
class
sapien.core.pysapien.
ArticulationBuilder
¶ Bases:
pybind11_builtins.pybind11_object
-
build
(self: sapien.core.pysapien.ArticulationBuilder, fix_root_link: bool = False) → sapien.core.pysapien.Articulation¶
-
build_kinematic
(self: sapien.core.pysapien.ArticulationBuilder) → sapien.core.pysapien.KinematicArticulation¶
-
create_link_builder
(self: sapien.core.pysapien.ArticulationBuilder, parent: sapien.core.pysapien.LinkBuilder = None) → sapien.core.pysapien.LinkBuilder¶
-
get_link_builders
(self: sapien.core.pysapien.ArticulationBuilder) → List[sapien.core.pysapien.LinkBuilder]¶
-
get_scene
(self: sapien.core.pysapien.ArticulationBuilder) → sapien.core.pysapien.Scene¶
-
set_scene
(self: sapien.core.pysapien.ArticulationBuilder, scene: sapien.core.pysapien.Scene) → None¶
-
-
class
sapien.core.pysapien.
ArticulationDrivable
¶ Bases:
sapien.core.pysapien.ArticulationBase
-
get_drive_target
(self: sapien.core.pysapien.ArticulationDrivable) → numpy.ndarray[numpy.float32]¶
-
set_drive_target
(self: sapien.core.pysapien.ArticulationDrivable, drive_target: numpy.ndarray[numpy.float32]) → None¶
-
-
class
sapien.core.pysapien.
BoxGeometry
¶ Bases:
sapien.core.pysapien.CollisionGeometry
-
property
half_lengths
¶
-
property
-
class
sapien.core.pysapien.
CameraEntity
¶ Bases:
sapien.core.pysapien.Entity
-
property
cx
¶
-
property
cy
¶
-
property
far
¶
-
property
fovx
¶
-
property
fovy
¶
-
property
fx
¶
-
property
fy
¶
-
get_albedo_rgba
(self: sapien.core.pysapien.CameraEntity) → numpy.ndarray[numpy.float32]¶
-
get_camera_matrix
(self: sapien.core.pysapien.CameraEntity) → numpy.ndarray[numpy.float32]¶ Get intrinsic camera matrix in OpenCV format.
-
get_color_rgba
(self: sapien.core.pysapien.CameraEntity) → numpy.ndarray[numpy.float32]¶
-
get_dl_tensor
(self: sapien.core.pysapien.CameraEntity, texture_name: str) → capsule¶ Get raw GPU memory for a render target in the dl format. It can be wrapped into PyTorch or Tensorflow using their API
-
get_float_texture
(self: sapien.core.pysapien.CameraEntity, texture_name: str) → numpy.ndarray[numpy.float32]¶
-
get_model_matrix
(self: sapien.core.pysapien.CameraEntity) → numpy.ndarray[numpy.float32]¶ Get model matrix (inverse of extrinsic matrix) used in rendering (Y up, Z back)
-
get_normal_rgba
(self: sapien.core.pysapien.CameraEntity) → numpy.ndarray[numpy.float32]¶
-
get_position_rgba
(self: sapien.core.pysapien.CameraEntity) → numpy.ndarray[numpy.float32]¶
-
get_projection_matrix
(self: sapien.core.pysapien.CameraEntity) → numpy.ndarray[numpy.float32]¶ Get projection matrix in used in rendering (right-handed NDC with [-1,1] XY and [0,1] Z)
-
get_uint32_texture
(self: sapien.core.pysapien.CameraEntity, texture_name: str) → numpy.ndarray[numpy.uint32]¶
-
get_visual_actor_segmentation
(self: sapien.core.pysapien.CameraEntity) → numpy.ndarray[numpy.uint32]¶
-
property
height
¶
-
property
local_pose
¶
-
property
near
¶
-
property
parent
¶
-
set_focal_lengths
(self: sapien.core.pysapien.CameraEntity, fx: float, fy: float) → None¶
-
set_fovx
(self: sapien.core.pysapien.CameraEntity, fov: float, compute_y: bool = True) → None¶
-
set_fovy
(self: sapien.core.pysapien.CameraEntity, fov: float, compute_x: bool = True) → None¶
-
set_local_pose
(self: sapien.core.pysapien.CameraEntity, pose: sapien.core.pysapien.Pose) → None¶
-
set_parent
(self: sapien.core.pysapien.CameraEntity, parent: sapien.core.pysapien.ActorBase, keep_pose: bool) → None¶
-
set_perspective_parameters
(self: sapien.core.pysapien.CameraEntity, near: float, far: float, fx: float, fy: float, cx: float, cy: float, skew: float) → None¶
-
set_principal_point
(self: sapien.core.pysapien.CameraEntity, cx: float, cy: float) → None¶
-
property
skew
¶
-
take_picture
(self: sapien.core.pysapien.CameraEntity) → None¶
-
property
width
¶
-
property
-
class
sapien.core.pysapien.
CapsuleGeometry
¶ Bases:
sapien.core.pysapien.CollisionGeometry
-
property
half_length
¶
-
property
radius
¶
-
property
-
class
sapien.core.pysapien.
CollisionGeometry
¶ Bases:
pybind11_builtins.pybind11_object
-
class
sapien.core.pysapien.
CollisionShape
¶ Bases:
pybind11_builtins.pybind11_object
-
property
actor
¶
-
property
contact_offset
¶
-
property
geometry
¶
-
get_collision_groups
(self: sapien.core.pysapien.CollisionShape) → List[int[4]]¶
-
get_local_pose
(self: sapien.core.pysapien.CollisionShape) → sapien.core.pysapien.Pose¶
-
get_physical_material
(self: sapien.core.pysapien.CollisionShape) → sapien.core.pysapien.PhysicalMaterial¶
-
property
is_trigger
¶
-
property
min_patch_radius
¶
-
property
patch_radius
¶
-
property
rest_offset
¶
-
set_collision_groups
(self: sapien.core.pysapien.CollisionShape, group0: int, group1: int, group2: int, group3: int) → None¶ collision groups determine the collision behavior of objects. Let A.gx denote the collision group x of collision shape A. Collision shape A and B will collide iff the following condition holds:
((A.g0 & B.g1) or (A.g1 & B.g0)) and (not ((A.g2 & B.g2) and ((A.g3 & 0xffff) == (B.g3 & 0xffff))))
Here is some explanation: g2 is the “ignore group” and g3 is the “id group”. The only the lower 16 bits of the id group is used since the upper 16 bits are reserved for other purposes in the future. When 2 collision shapes have the same ID (g3), then if any of their g2 bits match, their collisions are definitely ignored.
If after testing g2 and g3, the objects may collide, g0 and g1 come into play. g0 is the “contact type group” and g1 is the “contact affinity group”. Collision shapes collide only when a bit in the contact type of the first shape matches a bit in the contact affinity of the second shape.
-
set_local_pose
(self: sapien.core.pysapien.CollisionShape, pose: sapien.core.pysapien.Pose) → None¶
-
set_physical_material
(self: sapien.core.pysapien.CollisionShape, material: sapien.core.pysapien.PhysicalMaterial) → None¶
-
property
type
¶
-
property
-
class
sapien.core.pysapien.
Constraint
¶ Bases:
pybind11_builtins.pybind11_object
-
class
sapien.core.pysapien.
Contact
¶ Bases:
pybind11_builtins.pybind11_object
-
property
actor0
¶
-
property
actor1
¶
-
property
collision_shape0
¶
-
property
collision_shape1
¶
-
property
ends
¶
-
property
persists
¶
-
property
points
¶
-
property
starts
¶
-
property
-
class
sapien.core.pysapien.
ContactPoint
¶ Bases:
pybind11_builtins.pybind11_object
-
property
impulse
¶
-
property
normal
¶
-
property
position
¶
-
property
separation
¶
-
property
-
class
sapien.core.pysapien.
ConvexMeshGeometry
¶ Bases:
sapien.core.pysapien.CollisionGeometry
-
property
indices
¶
-
property
rotation
¶
-
property
scale
¶
-
property
vertices
¶
-
property
-
class
sapien.core.pysapien.
DirectionalLightEntity
¶ Bases:
sapien.core.pysapien.LightEntity
-
property
direction
¶
-
set_direction
(self: sapien.core.pysapien.DirectionalLightEntity, direction: numpy.ndarray[numpy.float32]) → None¶
-
set_shadow_parameters
(self: sapien.core.pysapien.DirectionalLightEntity, half_size: float, near: float, far: float) → None¶
-
property
shadow_far
¶
-
property
shadow_half_size
¶
-
property
shadow_near
¶
-
property
-
class
sapien.core.pysapien.
Drive
¶ Bases:
sapien.core.pysapien.Constraint
-
free_motion
(self: sapien.core.pysapien.Drive, tx: bool, ty: bool, tz: bool, rx: bool, ry: bool, rz: bool) → None¶
-
lock_motion
(self: sapien.core.pysapien.Drive, tx: bool, ty: bool, tz: bool, rx: bool, ry: bool, rz: bool) → None¶
-
set_distance_limit
(self: sapien.core.pysapien.Drive, distance: float) → None¶
-
set_slerp_properties
(self: sapien.core.pysapien.Drive, stiffness: float, damping: float, force_limit: float = 3.4028234663852886e+38, is_acceleration: bool = True) → None¶
-
set_target
(self: sapien.core.pysapien.Drive, pose: sapien.core.pysapien.Pose) → None¶
-
set_target_velocity
(self: sapien.core.pysapien.Drive, linear: numpy.ndarray[numpy.float32], angular: numpy.ndarray[numpy.float32]) → None¶
-
set_x_limit
(self: sapien.core.pysapien.Drive, low: float, high: float) → None¶
-
set_x_properties
(self: sapien.core.pysapien.Drive, stiffness: float, damping: float, force_limit: float = 3.4028234663852886e+38, is_acceleration: bool = True) → None¶
-
set_x_twist_limit
(self: sapien.core.pysapien.Drive, low: float, high: float) → None¶
-
set_x_twist_properties
(self: sapien.core.pysapien.Drive, stiffness: float, damping: float, force_limit: float = 3.4028234663852886e+38, is_acceleration: bool = True) → None¶
-
set_y_limit
(self: sapien.core.pysapien.Drive, low: float, high: float) → None¶
-
set_y_properties
(self: sapien.core.pysapien.Drive, stiffness: float, damping: float, force_limit: float = 3.4028234663852886e+38, is_acceleration: bool = True) → None¶
-
set_yz_cone_limit
(self: sapien.core.pysapien.Drive, y: float, z: float) → None¶
-
set_yz_pyramid_limit
(self: sapien.core.pysapien.Drive, ylow: float, yhigh: float, zlow: float, zhigh: float) → None¶
-
set_yz_swing_properties
(self: sapien.core.pysapien.Drive, stiffness: float, damping: float, force_limit: float = 3.4028234663852886e+38, is_acceleration: bool = True) → None¶
-
set_z_limit
(self: sapien.core.pysapien.Drive, low: float, high: float) → None¶
-
set_z_properties
(self: sapien.core.pysapien.Drive, stiffness: float, damping: float, force_limit: float = 3.4028234663852886e+38, is_acceleration: bool = True) → None¶
-
-
class
sapien.core.pysapien.
Engine
¶ Bases:
pybind11_builtins.pybind11_object
-
create_physical_material
(self: sapien.core.pysapien.Engine, static_friction: float, dynamic_friction: float, restitution: float) → sapien.core.pysapien.PhysicalMaterial¶
-
create_scene
(self: sapien.core.pysapien.Engine, config: sapien.core.pysapien.SceneConfig = SceneConfig()) → sapien.core.pysapien.Scene¶
-
get_renderer
(self: sapien.core.pysapien.Engine) → sapien.core.pysapien.IPxrRenderer¶
-
property
renderer
¶
-
set_log_level
(self: sapien.core.pysapien.Engine, level: str) → None¶
-
set_renderer
(self: sapien.core.pysapien.Engine, renderer: sapien.core.pysapien.IPxrRenderer) → None¶
-
-
class
sapien.core.pysapien.
Entity
¶ Bases:
pybind11_builtins.pybind11_object
-
property
classname
¶
-
get_name
(self: sapien.core.pysapien.Entity) → str¶
-
get_pose
(self: sapien.core.pysapien.Entity) → sapien.core.pysapien.Pose¶
-
property
name
¶
-
property
pose
¶
-
set_name
(self: sapien.core.pysapien.Entity, name: str) → None¶
-
property
-
class
sapien.core.pysapien.
IPxrRenderer
¶ Bases:
pybind11_builtins.pybind11_object
-
create_material
(self: sapien.core.pysapien.IPxrRenderer) → sapien.core.pysapien.RenderMaterial¶
-
create_texture_from_file
(self: sapien.core.pysapien.IPxrRenderer, filename: str, mipmap_levels: int = 1, filter_mode: str = 'linear', address_mode: str = 'repeat') → None¶
-
-
class
sapien.core.pysapien.
Joint
¶ Bases:
sapien.core.pysapien.JointBase
-
property
damping
¶
-
property
drive_mode
¶
-
property
force_limit
¶
-
property
friction
¶
-
get_drive_target
(self: sapien.core.pysapien.Joint) → float¶
-
get_drive_velocity_target
(self: sapien.core.pysapien.Joint) → float¶
-
get_global_pose
(self: sapien.core.pysapien.Joint) → sapien.core.pysapien.Pose¶
-
set_drive_property
(self: sapien.core.pysapien.Joint, stiffness: float, damping: float, force_limit: float = 3.4028234663852886e+38, mode: str = 'force') → None¶
-
set_drive_target
(self: sapien.core.pysapien.Joint, target: float) → None¶
-
set_drive_velocity_target
(self: sapien.core.pysapien.Joint, velocity: float) → None¶
-
set_friction
(self: sapien.core.pysapien.Joint, friction: float) → None¶
-
property
stiffness
¶
-
property
-
class
sapien.core.pysapien.
JointBase
¶ Bases:
pybind11_builtins.pybind11_object
-
property
articulation
¶
-
get_child_link
(self: sapien.core.pysapien.JointBase) → sapien.core.pysapien.LinkBase¶
-
get_dof
(self: sapien.core.pysapien.JointBase) → int¶
-
get_limits
(self: sapien.core.pysapien.JointBase) → numpy.ndarray[numpy.float32]¶
-
get_name
(self: sapien.core.pysapien.JointBase) → str¶
-
get_parent_link
(self: sapien.core.pysapien.JointBase) → sapien.core.pysapien.LinkBase¶
-
get_pose_in_child
(self: sapien.core.pysapien.JointBase) → sapien.core.pysapien.Pose¶
-
get_pose_in_parent
(self: sapien.core.pysapien.JointBase) → sapien.core.pysapien.Pose¶
-
property
name
¶
-
set_limits
(self: sapien.core.pysapien.JointBase, limits: numpy.ndarray[numpy.float32]) → None¶
-
set_name
(self: sapien.core.pysapien.JointBase, name: str) → None¶
-
property
type
¶
-
property
-
class
sapien.core.pysapien.
JointRecord
¶ Bases:
pybind11_builtins.pybind11_object
-
property
damping
¶
-
property
friction
¶
-
property
joint_type
¶
-
property
limits
¶
-
property
name
¶
-
property
pose_in_child
¶
-
property
pose_in_parent
¶
-
property
-
class
sapien.core.pysapien.
KinematicArticulation
¶
-
class
sapien.core.pysapien.
KinematicJoint
¶
-
class
sapien.core.pysapien.
KinematicJointFixed
¶
-
class
sapien.core.pysapien.
KinematicJointPrismatic
¶
-
class
sapien.core.pysapien.
KinematicJointRevolute
¶
-
class
sapien.core.pysapien.
KinematicJointSingleDof
¶
-
class
sapien.core.pysapien.
KinematicLink
¶ Bases:
sapien.core.pysapien.LinkBase
-
get_articulation
(self: sapien.core.pysapien.KinematicLink) → sapien.core.pysapien.KinematicArticulation¶
-
-
class
sapien.core.pysapien.
KuafuConfig
¶ Bases:
pybind11_builtins.pybind11_object
-
property
accumulate_frames
¶
-
property
assets_path
¶
-
property
max_bounces
¶
-
property
max_geometries
¶
-
property
max_geometry_instances
¶
-
property
max_materials
¶
-
property
max_textures
¶
-
property
spp
¶
-
property
use_denoiser
¶
-
property
use_viewer
¶
-
property
viewer_height
¶
-
property
viewer_width
¶
-
property
-
class
sapien.core.pysapien.
KuafuRenderer
¶ Bases:
sapien.core.pysapien.IPxrRenderer
-
property
is_running
¶
-
static
set_log_level
(level: str) → None¶
-
property
-
class
sapien.core.pysapien.
LightEntity
¶ Bases:
sapien.core.pysapien.Entity
-
property
color
¶
-
property
pose
¶
-
set_color
(self: sapien.core.pysapien.LightEntity, color: numpy.ndarray[numpy.float32]) → None¶
-
set_pose
(self: sapien.core.pysapien.LightEntity, pose: sapien.core.pysapien.Pose) → None¶
-
property
shadow
¶
-
property
-
class
sapien.core.pysapien.
Link
¶ Bases:
sapien.core.pysapien.LinkBase
-
get_articulation
(self: sapien.core.pysapien.Link) → sapien.core.pysapien.Articulation¶
-
-
class
sapien.core.pysapien.
LinkBase
¶ Bases:
sapien.core.pysapien.ActorDynamicBase
-
get_articulation
(self: sapien.core.pysapien.LinkBase) → sapien.core.pysapien.ArticulationBase¶
-
get_index
(self: sapien.core.pysapien.LinkBase) → int¶
-
-
class
sapien.core.pysapien.
LinkBuilder
¶ Bases:
sapien.core.pysapien.ActorBuilder
-
get_index
(self: sapien.core.pysapien.LinkBuilder) → int¶
-
get_joint
(self: sapien.core.pysapien.LinkBuilder) → sapien.core.pysapien.JointRecord¶
-
get_name
(self: sapien.core.pysapien.LinkBuilder) → str¶
-
get_parent
(self: sapien.core.pysapien.LinkBuilder) → int¶
-
set_joint_name
(self: sapien.core.pysapien.LinkBuilder, arg0: str) → None¶
-
set_joint_properties
(self: sapien.core.pysapien.LinkBuilder, joint_type: str, limits: numpy.ndarray[numpy.float32], pose_in_parent: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), pose_in_child: sapien.core.pysapien.Pose = Pose([0, 0, 0], [1, 0, 0, 0]), friction: float = 0, damping: float = 0) → None¶ Set the properties of the joint.
- Args:
joint_type: [“revolute”, “prismatic”, “fixed”] limits: [[min1, max1], …], the length is the DoF pose_in_parent: joint pose in parent frame.
The x-axis is the rotation axis for revolute, or the translation axis for prismatic.
pose_in_child: joint pose in child frame. See also @pose_in_parent. friction: joint friction damping: joint damping
-
set_name
(self: sapien.core.pysapien.LinkBuilder, arg0: str) → None¶
-
set_parent
(self: sapien.core.pysapien.LinkBuilder, arg0: int) → None¶
-
-
class
sapien.core.pysapien.
NonconvexMeshGeometry
¶ Bases:
sapien.core.pysapien.CollisionGeometry
-
property
indices
¶
-
property
rotation
¶
-
property
scale
¶
-
property
vertices
¶
-
property
-
class
sapien.core.pysapien.
PhysicalMaterial
¶ Bases:
pybind11_builtins.pybind11_object
-
property
dynamic_friction
¶
-
get_dynamic_friction
(self: sapien.core.pysapien.PhysicalMaterial) → float¶
-
get_restitution
(self: sapien.core.pysapien.PhysicalMaterial) → float¶
-
get_static_friction
(self: sapien.core.pysapien.PhysicalMaterial) → float¶
-
property
restitution
¶
-
set_dynamic_friction
(self: sapien.core.pysapien.PhysicalMaterial, coef: float) → None¶
-
set_restitution
(self: sapien.core.pysapien.PhysicalMaterial, coef: float) → None¶
-
set_static_friction
(self: sapien.core.pysapien.PhysicalMaterial, coef: float) → None¶
-
property
static_friction
¶
-
property
-
class
sapien.core.pysapien.
PinocchioModel
¶ Bases:
pybind11_builtins.pybind11_object
-
compute_coriolis_matrix
(self: sapien.core.pysapien.PinocchioModel, qpos: numpy.ndarray[numpy.float64[m, 1]], qvel: numpy.ndarray[numpy.float64[m, 1]]) → numpy.ndarray[numpy.float64[m, n]]¶
-
compute_forward_dynamics
(self: sapien.core.pysapien.PinocchioModel, qpos: numpy.ndarray[numpy.float64[m, 1]], qvel: numpy.ndarray[numpy.float64[m, 1]], qf: numpy.ndarray[numpy.float64[m, 1]]) → numpy.ndarray[numpy.float64[m, 1]]¶
-
compute_forward_kinematics
(self: sapien.core.pysapien.PinocchioModel, qpos: numpy.ndarray[numpy.float64[m, 1]]) → None¶ Compute and cache forward kinematics. After computation, use get_link_pose to retrieve the computed pose for a specific link.
-
compute_full_jacobian
(self: sapien.core.pysapien.PinocchioModel, qpos: numpy.ndarray[numpy.float64[m, 1]]) → None¶ Compute and cache Jacobian for all links
-
compute_generalized_mass_matrix
(self: sapien.core.pysapien.PinocchioModel, qpos: numpy.ndarray[numpy.float64[m, 1]]) → numpy.ndarray[numpy.float64[m, n]]¶
-
compute_inverse_dynamics
(self: sapien.core.pysapien.PinocchioModel, qpos: numpy.ndarray[numpy.float64[m, 1]], qvel: numpy.ndarray[numpy.float64[m, 1]], qacc: numpy.ndarray[numpy.float64[m, 1]]) → numpy.ndarray[numpy.float64[m, 1]]¶
-
compute_inverse_kinematics
(self: sapien.core.pysapien.PinocchioModel, link_index: int, pose: sapien.core.pysapien.Pose, initial_qpos: numpy.ndarray[numpy.float64[m, 1]] = array([], dtype=float64), active_qmask: numpy.ndarray[numpy.int32[m, 1]] = array([], dtype=int32), eps: float = 0.0001, max_iterations: int = 1000, dt: float = 0.1, damp: float = 1e-06) → Tuple[numpy.ndarray[numpy.float64[m, 1]], bool, numpy.ndarray[numpy.float64[6, 1]]]¶ Compute inverse kinematics with CLIK algorithm. Details see https://gepettoweb.laas.fr/doc/stack-of-tasks/pinocchio/master/doxygen-html/md_doc_b-examples_i-inverse-kinematics.html
-
compute_single_link_local_jacobian
(self: sapien.core.pysapien.PinocchioModel, qpos: numpy.ndarray[numpy.float64[m, 1]], link_index: int) → numpy.ndarray[numpy.float64[6, n]]¶ Compute the link(body) Jacobian for a single link. It is faster than compute_full_jacobian followed by get_link_jacobian
-
get_link_jacobian
(self: sapien.core.pysapien.PinocchioModel, link_index: int, local: bool = False) → numpy.ndarray[numpy.float64[6, n]]¶ Given link index, get the Jacobian. Must be called after compute_full_jacobian.
- Args:
link_index: index of the link local: True for world(spatial) frame; False for link(body) frame
-
get_link_pose
(self: sapien.core.pysapien.PinocchioModel, link_index: int) → sapien.core.pysapien.Pose¶ Given link index, get link pose from forward kinematics. Must be called after compute_forward_kinematics.
-
-
class
sapien.core.pysapien.
PlaneGeometry
¶
-
class
sapien.core.pysapien.
PointLightEntity
¶ Bases:
sapien.core.pysapien.LightEntity
-
property
position
¶
-
set_position
(self: sapien.core.pysapien.PointLightEntity, position: numpy.ndarray[numpy.float32]) → None¶
-
set_shadow_parameters
(self: sapien.core.pysapien.PointLightEntity, near: float, far: float) → None¶
-
property
shadow_far
¶
-
property
shadow_near
¶
-
property
-
class
sapien.core.pysapien.
Pose
¶ Bases:
pybind11_builtins.pybind11_object
-
static
from_transformation_matrix
(mat44: numpy.ndarray[numpy.float32]) → sapien.core.pysapien.Pose¶
-
inv
(self: sapien.core.pysapien.Pose) → sapien.core.pysapien.Pose¶
-
property
p
¶
-
property
q
¶
-
set_p
(self: sapien.core.pysapien.Pose, p: numpy.ndarray[numpy.float32]) → None¶
-
set_q
(self: sapien.core.pysapien.Pose, q: numpy.ndarray[numpy.float32]) → None¶
-
set_rotation
(self: sapien.core.pysapien.Pose, arg0: numpy.ndarray[numpy.float32]) → None¶
-
to_transformation_matrix
(self: sapien.core.pysapien.Pose) → numpy.ndarray[numpy.float32[4, 4]]¶
-
transform
(self: sapien.core.pysapien.Pose, arg0: sapien.core.pysapien.Pose) → sapien.core.pysapien.Pose¶
-
static
-
class
sapien.core.pysapien.
RenderBody
¶ Bases:
pybind11_builtins.pybind11_object
-
property
actor_id
¶
-
get_actor_id
(self: sapien.core.pysapien.RenderBody) → int¶
-
get_name
(self: sapien.core.pysapien.RenderBody) → str¶
-
get_render_shapes
(self: sapien.core.pysapien.RenderBody) → List[sapien.core.pysapien.RenderShape]¶
-
get_visual_id
(self: sapien.core.pysapien.RenderBody) → int¶
-
property
half_length
¶
-
property
half_lengths
¶
-
property
local_pose
¶
-
property
name
¶
-
property
radius
¶
-
property
scale
¶
-
set_custom_data
(self: sapien.core.pysapien.RenderBody, custom_data: List[float]) → None¶
-
set_name
(self: sapien.core.pysapien.RenderBody, name: str) → None¶
-
set_pose
(self: sapien.core.pysapien.RenderBody, pose: sapien.core.pysapien.Pose) → None¶
-
set_visibility
(self: sapien.core.pysapien.RenderBody, visibility: float) → None¶
-
set_visible
(self: sapien.core.pysapien.RenderBody, is_visible: bool) → None¶
-
set_visual_id
(self: sapien.core.pysapien.RenderBody, id: int) → None¶
-
property
type
¶
-
property
visual_id
¶
-
property
-
class
sapien.core.pysapien.
RenderGeometry
¶ Bases:
pybind11_builtins.pybind11_object
-
property
bitangents
¶
-
property
indices
¶
-
property
normals
¶
-
property
tangents
¶
-
property
uvs
¶
-
property
vertices
¶
-
property
-
class
sapien.core.pysapien.
RenderMaterial
¶ Bases:
pybind11_builtins.pybind11_object
-
property
base_color
¶
-
property
diffuse_texture
¶
-
property
diffuse_texture_filename
¶
-
property
emission
¶
-
property
emission_texture
¶
-
property
emission_texture_filename
¶
-
property
ior
¶
-
property
metallic
¶
-
property
metallic_texture
¶
-
property
metallic_texture_filename
¶
-
property
normal_texture
¶
-
property
normal_texture_filename
¶
-
property
roughness
¶
-
property
roughness_texture
¶
-
property
roughness_texture_filename
¶
-
set_base_color
(self: sapien.core.pysapien.RenderMaterial, rgba: numpy.ndarray[numpy.float32]) → None¶
-
set_diffuse_texture
(self: sapien.core.pysapien.RenderMaterial, texture: sapien.core.pysapien.RenderTexture) → None¶
-
set_diffuse_texture_from_file
(self: sapien.core.pysapien.RenderMaterial, path: str) → None¶
-
set_emission
(self: sapien.core.pysapien.RenderMaterial, rgbs: numpy.ndarray[numpy.float32]) → None¶
-
set_emission_texture
(self: sapien.core.pysapien.RenderMaterial, texture: sapien.core.pysapien.RenderTexture) → None¶
-
set_emission_texture_from_file
(self: sapien.core.pysapien.RenderMaterial, path: str) → None¶
-
set_ior
(self: sapien.core.pysapien.RenderMaterial, ior: float) → None¶
-
set_metallic
(self: sapien.core.pysapien.RenderMaterial, metallic: float) → None¶
-
set_metallic_texture
(self: sapien.core.pysapien.RenderMaterial, texture: sapien.core.pysapien.RenderTexture) → None¶
-
set_metallic_texture_from_file
(self: sapien.core.pysapien.RenderMaterial, path: str) → None¶
-
set_normal_texture
(self: sapien.core.pysapien.RenderMaterial, texture: sapien.core.pysapien.RenderTexture) → None¶
-
set_normal_texture_from_file
(self: sapien.core.pysapien.RenderMaterial, path: str) → None¶
-
set_roughness
(self: sapien.core.pysapien.RenderMaterial, roughness: float) → None¶
-
set_roughness_texture
(self: sapien.core.pysapien.RenderMaterial, texture: sapien.core.pysapien.RenderTexture) → None¶
-
set_roughness_texture_from_file
(self: sapien.core.pysapien.RenderMaterial, path: str) → None¶
-
set_specular
(self: sapien.core.pysapien.RenderMaterial, specular: float) → None¶
-
set_transmission
(self: sapien.core.pysapien.RenderMaterial, transmission: float) → None¶
-
set_transmission_texture
(self: sapien.core.pysapien.RenderMaterial, texture: sapien.core.pysapien.RenderTexture) → None¶
-
set_transmission_texture_from_file
(self: sapien.core.pysapien.RenderMaterial, path: str) → None¶
-
property
specular
¶
-
property
transmission
¶
-
property
transmission_texture
¶
-
property
transmission_texture_filename
¶
-
property
-
class
sapien.core.pysapien.
RenderScene
¶ Bases:
pybind11_builtins.pybind11_object
-
add_mesh_from_file
(self: sapien.core.pysapien.RenderScene, mesh_file: str, scale: numpy.ndarray[numpy.float32]) → sapien.core.pysapien.RenderBody¶
-
add_primitive_mesh
(self: sapien.core.pysapien.RenderScene, type: str, scale: numpy.ndarray[numpy.float32] = array([1.0, 1.0, 1.0], dtype=float32), material: sapien.core.pysapien.RenderMaterial = None) → sapien.core.pysapien.RenderBody¶
-
property
ambient_light
¶
-
remove_mesh
(self: sapien.core.pysapien.RenderScene, mesh: sapien.core.pysapien.RenderBody) → None¶
-
-
class
sapien.core.pysapien.
RenderShape
¶ Bases:
pybind11_builtins.pybind11_object
-
property
material
¶
-
property
mesh
¶
-
property
-
class
sapien.core.pysapien.
RenderTexture
¶ Bases:
pybind11_builtins.pybind11_object
-
property
address_mode
¶
-
property
channels
¶
-
property
dtype
¶
-
property
filename
¶
-
property
filter_mode
¶
-
property
height
¶
-
property
mipmap_levels
¶
-
property
width
¶
-
property
-
class
sapien.core.pysapien.
Scene
¶ Bases:
pybind11_builtins.pybind11_object
-
add_active_light
(self: sapien.core.pysapien.Scene, pose: sapien.core.pysapien.Pose, color: numpy.ndarray[numpy.float32], fov: float, tex_path: str) → sapien.core.pysapien.ActiveLightEntity¶
-
add_camera
(self: sapien.core.pysapien.Scene, name: str, width: int, height: int, fovy: float, near: float, far: float) → sapien.core.pysapien.CameraEntity¶
-
add_directional_light
(self: sapien.core.pysapien.Scene, direction: numpy.ndarray[numpy.float32], color: numpy.ndarray[numpy.float32], shadow: bool = False, position: numpy.ndarray[numpy.float32] = array([0.0, 0.0, 0.0], dtype=float32), scale: float = 10.0, near: float = - 10.0, far: float = 10.0) → sapien.core.pysapien.DirectionalLightEntity¶
-
add_ground
(self: sapien.core.pysapien.Scene, altitude: float, render: bool = True, material: sapien.core.pysapien.PhysicalMaterial = None, render_material: sapien.core.pysapien.RenderMaterial = None) → sapien.core.pysapien.ActorStatic¶
-
add_mounted_camera
(*args, **kwargs)¶ Overloaded function.
add_mounted_camera(self: sapien.core.pysapien.Scene, name: str, actor: sapien.core.pysapien.ActorBase, pose: sapien.core.pysapien.Pose, width: int, height: int, fovy: float, near: float, far: float) -> sapien.core.pysapien.CameraEntity
add_mounted_camera(self: sapien.core.pysapien.Scene, name: str, actor: sapien.core.pysapien.ActorBase, pose: sapien.core.pysapien.Pose, width: int, height: int, fovx: float, fovy: float, near: float, far: float) -> sapien.core.pysapien.CameraEntity
-
add_point_light
(self: sapien.core.pysapien.Scene, position: numpy.ndarray[numpy.float32], color: numpy.ndarray[numpy.float32], shadow: bool = False, near: float = 0.1, far: float = 10) → sapien.core.pysapien.PointLightEntity¶
-
add_spot_light
(self: sapien.core.pysapien.Scene, position: numpy.ndarray[numpy.float32], direction: numpy.ndarray[numpy.float32], inner_fov: float, outer_fov: float, color: numpy.ndarray[numpy.float32], shadow: bool = False, near: float = 0.10000000149011612, far: float = 10.0) → sapien.core.pysapien.SpotLightEntity¶
-
property
ambient_light
¶
-
create_actor_builder
(self: sapien.core.pysapien.Scene) → sapien.core.pysapien.ActorBuilder¶
-
create_articulation_builder
(self: sapien.core.pysapien.Scene) → sapien.core.pysapien.ArticulationBuilder¶
-
create_drive
(self: sapien.core.pysapien.Scene, actor1: sapien.core.pysapien.ActorBase, pose1: sapien.core.pysapien.Pose, actor2: sapien.core.pysapien.ActorBase, pose2: sapien.core.pysapien.Pose) → sapien.core.pysapien.Drive¶
-
create_physical_material
(self: sapien.core.pysapien.Scene, static_friction: float, dynamic_friction: float, restitution: float) → sapien.core.pysapien.PhysicalMaterial¶
-
create_urdf_loader
(self: sapien.core.pysapien.Scene) → sapien.core.pysapien.URDFLoader¶
-
property
default_physical_material
¶
-
property
engine
¶
-
find_actor_by_id
(self: sapien.core.pysapien.Scene, id: int) → sapien.core.pysapien.ActorBase¶
-
find_articulation_link_by_link_id
(self: sapien.core.pysapien.Scene, id: int) → sapien.core.pysapien.LinkBase¶
-
generate_unique_render_id
(self: sapien.core.pysapien.Scene) → int¶
-
get_all_actors
(self: sapien.core.pysapien.Scene) → List[sapien.core.pysapien.ActorBase]¶
-
get_all_articulations
(self: sapien.core.pysapien.Scene) → List[sapien.core.pysapien.ArticulationBase]¶
-
get_all_lights
(self: sapien.core.pysapien.Scene) → List[sapien.core.pysapien.LightEntity]¶
-
get_cameras
(self: sapien.core.pysapien.Scene) → List[sapien.core.pysapien.CameraEntity]¶
-
get_contacts
(self: sapien.core.pysapien.Scene) → List[sapien.core.pysapien.Contact]¶
-
get_mounted_cameras
(self: sapien.core.pysapien.Scene) → List[sapien.core.pysapien.CameraEntity]¶
-
get_renderer_scene
(self: sapien.core.pysapien.Scene) → sapien.core.pysapien.RenderScene¶
-
get_timestep
(self: sapien.core.pysapien.Scene) → float¶
-
property
name
¶
-
pack
(self: sapien.core.pysapien.Scene) → Dict[str, Dict[int, List[float]]]¶
-
remove_actor
(self: sapien.core.pysapien.Scene, actor: sapien.core.pysapien.ActorBase) → None¶
-
remove_articulation
(self: sapien.core.pysapien.Scene, articulation: sapien.core.pysapien.Articulation) → None¶
-
remove_camera
(self: sapien.core.pysapien.Scene, camera: sapien.core.pysapien.CameraEntity) → None¶
-
remove_drive
(self: sapien.core.pysapien.Scene, drive: sapien.core.pysapien.Constraint) → None¶
-
remove_kinematic_articulation
(self: sapien.core.pysapien.Scene, kinematic_articulation: sapien.core.pysapien.KinematicArticulation) → None¶
-
remove_light
(self: sapien.core.pysapien.Scene, light: sapien.core.pysapien.LightEntity) → None¶
-
property
render_id_to_visual_name
¶
-
property
renderer_scene
¶
-
set_ambient_light
(self: sapien.core.pysapien.Scene, color: numpy.ndarray[numpy.float32]) → None¶
-
set_environment_map
(self: sapien.core.pysapien.Scene, filename: str) → None¶
-
set_environment_map_from_files
(self: sapien.core.pysapien.Scene, px: str, nx: str, py: str, ny: str, pz: str, nz: str) → None¶
-
set_timestep
(self: sapien.core.pysapien.Scene, second: float) → None¶
-
step
(self: sapien.core.pysapien.Scene) → None¶
-
step_async
(self: sapien.core.pysapien.Scene) → None¶
-
step_wait
(self: sapien.core.pysapien.Scene) → None¶
-
property
timestep
¶
-
unpack
(self: sapien.core.pysapien.Scene, data: Dict[str, Dict[int, List[float]]]) → None¶
-
update_render
(self: sapien.core.pysapien.Scene) → None¶
-
-
class
sapien.core.pysapien.
SceneConfig
¶ Bases:
pybind11_builtins.pybind11_object
-
property
bounce_threshold
¶
-
property
contact_offset
¶
-
property
default_dynamic_friction
¶
-
property
default_restitution
¶
-
property
default_static_friction
¶
-
property
enable_adaptive_force
¶
-
property
enable_ccd
¶
-
property
enable_enhanced_determinism
¶
-
property
enable_friction_every_iteration
¶
-
property
enable_pcm
¶
-
property
enable_tgs
¶
-
property
gravity
¶
-
property
sleep_threshold
¶
-
property
solver_iterations
¶
-
property
solver_velocity_iterations
¶
-
property
-
class
sapien.core.pysapien.
ShapeRecord
¶ Bases:
pybind11_builtins.pybind11_object
-
property
density
¶
-
property
filename
¶
-
property
length
¶
-
property
material
¶
-
property
pose
¶
-
property
radius
¶
-
property
scale
¶
-
property
type
¶
-
property
-
class
sapien.core.pysapien.
SphereGeometry
¶ Bases:
sapien.core.pysapien.CollisionGeometry
-
property
radius
¶
-
property
-
class
sapien.core.pysapien.
SpotLightEntity
¶ Bases:
sapien.core.pysapien.LightEntity
-
property
direction
¶
-
property
fov
¶
-
property
position
¶
-
set_direction
(self: sapien.core.pysapien.SpotLightEntity, direction: numpy.ndarray[numpy.float32]) → None¶
-
set_fov
(self: sapien.core.pysapien.SpotLightEntity, arg0: float) → None¶
-
set_position
(self: sapien.core.pysapien.SpotLightEntity, position: numpy.ndarray[numpy.float32]) → None¶
-
set_shadow_parameters
(self: sapien.core.pysapien.SpotLightEntity, near: float, far: float) → None¶
-
property
shadow_far
¶
-
property
shadow_near
¶
-
property
-
class
sapien.core.pysapien.
Subscription
¶ Bases:
pybind11_builtins.pybind11_object
-
unsubscribe
(self: sapien.core.pysapien.Subscription) → None¶
-
-
class
sapien.core.pysapien.
Trigger
¶ Bases:
pybind11_builtins.pybind11_object
-
property
actor_other
¶
-
property
actor_trigger
¶
-
property
ends
¶
-
property
starts
¶
-
property
-
class
sapien.core.pysapien.
URDFLoader
¶ Bases:
pybind11_builtins.pybind11_object
-
property
collision_is_visual
¶
-
property
fix_root_link
¶
-
load
(self: sapien.core.pysapien.URDFLoader, filename: str, config: dict = {}) → sapien.core.pysapien.Articulation¶ Load articulation from URDF. Gazebo cameras are also loaded.
- Args:
filename: path to URDF config: a dict to specify any on-the-fly modification of articulation
It follows the following schema (the inner parameter overrides the outer one): - material: PhysicalMaterial - density: float - link: dict[str, dict]
${link_name}: dict - material: PhysicalMaterial - density: float - patch_radius: float - min_patch_radius: float - collision: dict[int, dict]
${collision_index}: dict - material: PhysicalMaterial - density: float - patch_radius: float - min_patch_radius: float
-
load_file_as_articulation_builder
(self: sapien.core.pysapien.URDFLoader, filename: str, config: dict = {}) → sapien.core.pysapien.ArticulationBuilder¶
-
load_from_string
(self: sapien.core.pysapien.URDFLoader, urdf_string: str, srdf_string: str, config: dict = {}) → sapien.core.pysapien.Articulation¶
-
load_kinematic
(self: sapien.core.pysapien.URDFLoader, filename: str, config: dict = {}) → sapien.core.pysapien.KinematicArticulation¶
-
property
load_multiple_collisions_from_file
¶
-
property
scale
¶
-
property
-
class
sapien.core.pysapien.
VisualRecord
¶ Bases:
pybind11_builtins.pybind11_object
-
property
filename
¶
-
property
length
¶
-
property
material
¶
-
property
pose
¶
-
property
radius
¶
-
property
scale
¶
-
property
type
¶
-
property
-
class
sapien.core.pysapien.
VulkanRenderer
¶ Bases:
sapien.core.pysapien.IPxrRenderer
-
clear_cached_resources
(self: sapien.core.pysapien.VulkanRenderer) → None¶
-
create_window
(self: sapien.core.pysapien.VulkanRenderer, width: int = 800, height: int = 600, shader_dir: str = '') → sapien.core.pysapien.VulkanWindow¶
-
set_camera_shader_dir
()¶
-
static
set_log_level
(level: str) → None¶
-
set_viewer_shader_dir
()¶
-
-
class
sapien.core.pysapien.
VulkanRigidbody
¶
-
class
sapien.core.pysapien.
VulkanScene
¶
-
class
sapien.core.pysapien.
VulkanWindow
¶ Bases:
pybind11_builtins.pybind11_object
-
property
alt
¶
-
property
ctrl
¶
-
property
cursor
¶
-
property
display_target_names
¶ Names for available display targets that can be displayed in the render function
-
property
fps
¶
-
get_camera_position
(self: sapien.core.pysapien.VulkanWindow) → numpy.ndarray[numpy.float32]¶
-
get_camera_projection_matrix
(self: sapien.core.pysapien.VulkanWindow) → numpy.ndarray[numpy.float32]¶
-
get_camera_rotation
(self: sapien.core.pysapien.VulkanWindow) → numpy.ndarray[numpy.float32]¶
-
get_float_texture
(self: sapien.core.pysapien.VulkanWindow, name: str) → numpy.ndarray[numpy.float32]¶
-
get_float_texture_pixel
(self: sapien.core.pysapien.VulkanWindow, name: str, x: int, y: int) → numpy.ndarray[numpy.float32]¶
-
get_target_size
(self: sapien.core.pysapien.VulkanWindow, name: str) → List[int[2]]¶
-
get_uint32_texture
(self: sapien.core.pysapien.VulkanWindow, name: str) → numpy.ndarray[numpy.uint32]¶
-
get_uint32_texture_pixel
(self: sapien.core.pysapien.VulkanWindow, name: str, x: int, y: int) → numpy.ndarray[numpy.uint32]¶
-
hide
(self: sapien.core.pysapien.VulkanWindow) → None¶
-
key_down
(self: sapien.core.pysapien.VulkanWindow, key: str) → bool¶
-
key_press
(self: sapien.core.pysapien.VulkanWindow, key: str) → bool¶
-
mouse_click
(self: sapien.core.pysapien.VulkanWindow, key: int) → bool¶
-
property
mouse_delta
¶
-
mouse_down
(self: sapien.core.pysapien.VulkanWindow, key: int) → bool¶
-
property
mouse_position
¶
-
property
mouse_wheel_delta
¶
-
render
(self: sapien.core.pysapien.VulkanWindow, target_name: str, ui_windows: List[sapien.core.pysapien.renderer.UIWindow] = []) → None¶
-
resize
(self: sapien.core.pysapien.VulkanWindow, width: int, height: int) → None¶
-
set_camera_parameters
(self: sapien.core.pysapien.VulkanWindow, near: float, far: float, fovy: float) → None¶
-
set_camera_position
(self: sapien.core.pysapien.VulkanWindow, position: numpy.ndarray[numpy.float32]) → None¶
-
set_camera_rotation
(self: sapien.core.pysapien.VulkanWindow, quat: numpy.ndarray[numpy.float32]) → None¶
-
set_scene
(self: sapien.core.pysapien.VulkanWindow, scene: sapien.core.pysapien.Scene) → None¶
-
property
shift
¶
-
property
should_close
¶
-
show
(self: sapien.core.pysapien.VulkanWindow) → None¶
-
property
size
¶
-
property
super
¶
-
property