habitat_sim.physics.ManagedRigidObject class

Methods

def apply_force(self, force: magnum.Vector3, relative_position: magnum.Vector3) -> None
Apply an external force to this Rigid Object at a specific point relative to the Rigid Object’s center of mass in global coordinates. Only applies to MotionType::DYNAMIC objects.
def apply_impulse(self, impulse: magnum.Vector3, relative_position: magnum.Vector3) -> None
Apply an external impulse to this Rigid Object at a specific point relative to the Rigid Object’s center of mass in global coordinates. Only applies to MotionType::DYNAMIC objects.
def apply_impulse_torque(self, impulse: magnum.Vector3) -> None
Apply torque impulse to this Rigid Object. Only applies to MotionType::DYNAMIC objects.
def apply_torque(self, torque: magnum.Vector3) -> None
Apply torque to this Rigid Object. Only applies to MotionType::DYNAMIC objects.
def contact_test(self, /) -> bool
Discrete collision check for contact between an object and the collision world.
def override_collision_group(self, group: CollisionGroups) -> None
Manually set the collision group for an object. Setting a new MotionType will override this change.
def rotate(self, angle_in_rad: magnum.Rad, norm_axis: magnum.Vector3) -> None
Rotate this Rigid Object by passed angle_in_rad around passed 3-element normalized norm_axis.
def rotate_local(self, angle_in_rad: magnum.Rad, norm_axis: magnum.Vector3) -> None
Rotate this Rigid Object by passed angle_in_rad around passed 3-element normalized norm_axis in the local frame.
def rotate_x(self, angle_in_rad: magnum.Rad) -> None
Rotate this Rigid Object by passed angle_in_rad around the x-axis in global frame.
def rotate_x_local(self, angle_in_rad: magnum.Rad) -> None
Rotate this Rigid Object by passed angle_in_rad around the x-axis in local frame.
def rotate_y(self, angle_in_rad: magnum.Rad) -> None
Rotate this Rigid Object by passed angle_in_rad around the y-axis in global frame.
def rotate_y_local(self, angle_in_rad: magnum.Rad) -> None
Rotate this Rigid Object by passed angle_in_rad around the y-axis in local frame.
def rotate_z(self, angle_in_rad: magnum.Rad) -> None
Rotate this Rigid Object by passed angle_in_rad around the z-axis in global frame.
def rotate_z_local(self, angle_in_rad: magnum.Rad) -> None
Rotate this Rigid Object by passed angle_in_rad around the z-axis in local frame.
def set_light_setup(self, light_setup_key: str) -> None
Set this Rigid Object’s light setup using passed light_setup_key.
def translate(self, vector: magnum.Vector3) -> None
Move this Rigid Object using passed translation vector

Properties

angular_damping: float get set
Get or set this Rigid Object’s scalar angular damping coefficient. Only applies to MotionType::DYNAMIC objects.
angular_velocity: magnum.Vector3 get set
Get or set this Rigid Object’s scalar angular velocity vector. Only applies to MotionType::DYNAMIC objects.
awake: bool get set
Get or set whether this Rigid Object is actively being simulated, or is sleeping.
collidable: bool get set
Get or set whether this Rigid Object has collisions enabled.
com: magnum.Vector3 get set
Get or set this Rigid Object’s center of mass (COM) in global coordinate frame.
com_correction: magnum.Vector3 get
Get the COM correction vector for this Rigid Object. This tracks the local change in translation from the original frame to center the COM locally.
creation_attributes: attributes.ObjectAttributes get
Get a copy of the attributes used to create this Rigid Object.
csv_info: str get
Comma-separated informational string describing this Rigid Object.
friction_coefficient: float get set
Get or set this Rigid Object’s scalar coefficient of friction. Only applies to MotionType::DYNAMIC objects.
handle: str get
Name of this Rigid Object
inertia_matrix: magnum.Matrix3 get
Get the inertia matrix for this Rigid Object. To change the values, use the object’s ‘intertia_diagonal’ property.
intertia_diagonal: magnum.Vector3 get set
Get or set the inertia matrix’s diagonal for this Rigid Object. If an object is aligned with its principle axii of inertia, the 3x3 inertia matrix can be reduced to a diagonal. Only applies to MotionType::DYNAMIC objects.
is_alive: bool get
Whether this Rigid Object still exists and is still valid.
linear_damping: float get set
Get or set this Rigid Object’s scalar linear damping coefficient. Only applies to MotionType::DYNAMIC objects.
linear_velocity: magnum.Vector3 get set
Get or set this Rigid Object’s vector linear velocity. Only applies to MotionType::DYNAMIC objects.
mass: float get set
Get or set this Rigid Object’s mass. Only applies to MotionType::DYNAMIC objects.
motion_type: MotionType get set
Get or set the MotionType of this Rigid Object. Changing MotionType will override any custom collision group.
object_id: int get
System-generated ID for this Rigid Object construct. Will be unique among Rigid Objects.
restitution_coefficient: float get set
Get or set this Rigid Object’s scalar coefficient of restitution. Only applies to MotionType::DYNAMIC objects.
rigid_state: habitat_sim._ext.habitat_sim_bindings.RigidState get set
Get or set this Rigid Object’s transformation as a Rigid State (i.e. vector, quaternion). If modified, sim state will be updated.
rolling_friction_coefficient: float get set
Get or set this Rigid Object’s scalar rolling coefficient of friction. Damps angular velocity about axis orthogonal to the contact normal to prevent rounded shapes from rolling forever. Only applies to MotionType::DYNAMIC objects.
root_scene_node: scene.SceneNode get
Get a reference to the root SceneNode of this Rigid Object’s SceneGraph subtree.
rotation: magnum.Quaternion get set
Get or set the rotation quaternion of this Rigid Object’s root SceneNode. If modified, sim state will be updated.
scale: magnum.Vector3 get
Get the scale of the Rigid Object
semantic_id: int get set
Get or set this Rigid Object’s semantic ID.
spinning_friction_coefficient: float get set
Get or set this Rigid Object’s scalar spinning coefficient of friction. Damps angular velocity about the contact normal. Only applies to MotionType::DYNAMIC objects.
template_class: str get
Class name of this Rigid Object
transformation: magnum.Matrix4 get set
Get or set the transformation matrix of this Rigid Object’s root SceneNode. If modified, sim state will be updated.
translation: magnum.Vector3 get set
Get or set the translation vector of this Rigid Object’s root SceneNode. If modified, sim state will be updated.
user_attributes: habitat_sim._ext.habitat_sim_bindings.Configuration get
User-defined Rigid Object attributes. These are not used internally by Habitat in any capacity, but are available for a user to consume how they wish.
velocity_control: VelocityControl get
Retrieves a reference to the VelocityControl struct for this Rigid Object.
visual_scene_nodes: typing.List[scene.SceneNode] get
Get a list of references to the SceneNodes with this Rigid Object’ render assets attached. Use this to manipulate this Rigid Object’s visual state. Changes to these nodes will not affect physics simulation.