# habitat_sim.scene.SceneNode class

SceneNode: a node in the scene graph.

Cannot apply a smart pointer to a SceneNode object. You can “create it and forget it”. Simulator backend will handle the memory.

## Methods

self, /) -> magnum.Matrix4
Transformation relative to the root object
self, /) -> magnum.Matrix4
Transformation matrix relative to the root object
self, /) -> magnum.Range3D
Recursively compute the approximate axis aligned bounding boxes of the SceneGraph sub-tree rooted at this node.
def create_child(self, /) -> SceneNode
Creates a child node, and sets its parent to the current node.
self, /) -> None
Reset the transformation
def rotate(self, angle: magnum.Rad, normalized_axis: magnum.Vector3) -> None
Rotate the object as a local transformation
def rotate_local(self, angle: magnum.Rad, normalized_axis: magnum.Vector3) -> None
Rotate the object as a local transformation
def rotate_x(self, arg0: magnum.Rad, /) -> None
Rotate the object around X axis
def rotate_x_local(self, arg0: magnum.Rad, /) -> None
Rotate the object around X axis as a local transformation
def rotate_y(self, arg0: magnum.Rad, /) -> None
Rotate the object around Y axis
def rotate_y_local(self, arg0: magnum.Rad, /) -> None
Rotate the object around Y axis as a local transformation
def rotate_z(self, arg0: magnum.Rad, /) -> None
Rotate the object around Z axis
def rotate_z_local(self, arg0: magnum.Rad, /) -> None
Rotate the object around Z axis as a local transformation
def scale(self, arg0: magnum.Vector3, /) -> None
Scale the object
def scale_local(self, arg0: magnum.Vector3, /) -> None
Scale the object as a local transformation
def set_parent(self, arg0: SceneNode, /) -> SceneNode
Sets parent to parentNode, and updates ancestors’ SensorSuites
self, /) -> magnum.Matrix4
Transformation matrix
def translate(self, arg0: magnum.Vector3, /) -> None
Translate the object
def translate_local(self, arg0: magnum.Vector3, /) -> None
Translate the object as a local transformation

## Special methods

def __init__(self, arg0: SceneNode, /) -> None
Constructor: creates a scene node, and sets its parent.

## Properties

absolute_translation: magnum.Vector3 get
cumulative_bb: magnum.Range3D get
The approximate axis aligned bounding box of the SceneGraph sub-tree rooted at this node.
drawable_semantic_id: int get set
This node’s drawable’s ID, for instance-based semantics
mesh_bb: magnum.Range3D get
The axis aligned bounding box of the mesh drawables attached to this node.
node_sensor_suite: habitat_sim._ext.habitat_sim_bindings.SensorSuite get
Get node SensorSuite of this SceneNode
node_sensors: typing.Dict[str, sensor.Sensor] get
Get node sensors of this SceneNode
object_semantic_id: int get set
This node’s owning object’s ID, for instance-based semantics
parent: magnum.scenegraph.trs.Object3D get set
Parent object or None if this is the root object
rotation: magnum.Quaternion get set
Object rotation
scaling: magnum.Vector3 get set
Object scaling
scene: magnum.scenegraph.trs.Scene3D get
Scene or None if the object is not a part of any scene
semantic_id: int get set
subtree_sensor_suite: habitat_sim._ext.habitat_sim_bindings.SensorSuite get
Get subtree SensorSuite of this SceneNode
subtree_sensors: typing.Dict[str, sensor.Sensor] get
Get subtree sensors of this SceneNode
transformation: magnum.Matrix4 get set
Object transformation
translation: magnum.Vector3 get set
Object translation
type: SceneNodeType get set