stillleben.Object class

An instantiated mesh with associated pose and other instance properties.

Contents

Methods

def pose(self, /) -> at::Tensor
Pose matrix. This 4x4 matrix transforms object points to global points.
def set_pose(self, pose: at::Tensor) -> None
Pose matrix. This 4x4 matrix transforms object points to global points.

Special methods

def __init__(self, mesh: Mesh, options: dict = {}) -> None
Constructor

Properties

angular_velocity: at::Tensor get set
Angular velocity in rad/s (in global frame).
casts_shadows: bool get set
Enable/disable shadow casting (default True).
density: float get set
Density of the object in kg / m^3.
dynamic_friction: float get set
Dynamic friction coefficient (should be in range 0-1).
inertia: at::Tensor get
Inertia around the axes of the inertial frame (see inertial_frame).
inertial_frame: at::Tensor get
Inertial frame. The center of mass is at the origin in the intertial frame, and its axes are aligned with the principal axes of inertia (see inertia).
instance_index: int get set
Instance index for training semantic segmentation. This is automatically set by Scene.add_object() but can also be set manually. A manual assignment always takes precedence.
linear_velocity: at::Tensor get set
Linear velocity in m/s (in global frame).
linear_velocity_limit: float get set
Linear velocity limit in m/s.
mass: float get set
Mass of the object in kg.
mesh: Mesh get
The associated Mesh instance.
metallic: float get set
Metallic parameter for PBR shading (0-1).
restitution: float get set
Coefficient of restitution. A coefficient of 0 makes the object bounce as little as possible, higher values up to 1.0 result in more bounce.
roughness: float get set
Roughness parameter for PBR shading (0-1).
separation: float get
After physics simulation, this contains the minimum separation of this object to other objects in the scene. If the separation is negative, the two objects intersect.
shininess: float get set
Shininess parameter for Phong shading. Low values result in very spread out specular highlights, high values in very small, sharp highlights. Default value is 80 (pretty sharp).
specular_color: at::Tensor get set
Specular color for Phong shading. This is multiplied with the calculated specular intensity. Set to white for a fully-specular object, set to black for a fully diffuse object.
static: bool get set
If set to true, the object is marked as static for physics simulation. This is a good choice for containers or supporting planes.
static_friction: float get set
Static friction coefficient (should be in range 0-1).
sticker_range: at::Tensor get set
Sticker range.
sticker_rotation: at::Tensor get set
Sticker rotation quaternion.
sticker_texture: Texture get set
Sticker texture.
volume: float get
Volume of the object in m^3.

Method documentation

def stillleben.Object.pose(self, /) -> at::Tensor

Pose matrix. This 4x4 matrix transforms object points to global points.

Note: This is implemented as separate getter/setter methods since in-place operations on the returned pose do not work.

def stillleben.Object.set_pose(self, pose: at::Tensor) -> None

Pose matrix. This 4x4 matrix transforms object points to global points.

Note: This is implemented as separate getter/setter methods since in-place operations on the returned pose do not work.

obj = Object(Mesh("mesh.gltf"))
p = obj.pose()
p[:3,3] = torch.tensor([0, 1, 0])
obj.set_pose(p)

def stillleben.Object.__init__(self, mesh: Mesh, options: dict = {}) -> None

Constructor

Parameters
mesh Mesh to instantiate
options Dictionary of instantiation options (see below)

Property documentation

stillleben.Object.inertial_frame: at::Tensor get

Inertial frame. The center of mass is at the origin in the intertial frame, and its axes are aligned with the principal axes of inertia (see inertia).

The pose is given relative to the object's coordinate system.

stillleben.Object.metallic: float get set

Metallic parameter for PBR shading (0-1).

A negative value (default) means that the metallic parameter of the mesh is used.

stillleben.Object.roughness: float get set

Roughness parameter for PBR shading (0-1).

A negative value (default) means that the roughness parameter of the mesh is used.

stillleben.Object.separation: float get

After physics simulation, this contains the minimum separation of this object to other objects in the scene. If the separation is negative, the two objects intersect.