habitat_sim.attributes.ObjectAttributes class

A metadata template for rigid objects pre-instantiation. Defines asset paths, physical properties, scale, semantic ids, shader type overrides, and user defined metadata. ManagedRigidObjects are instantiated from these blueprints. Is imported from .object_config.json files.

Methods

def find_value_location(self, key: str) -> typing.List[str]
Returns a list of keys, in order, for the traversal of the nested subconfigurations in this Configuration to get the requested key’s value or subconfig. Key is not found if list is empty.
def get(self, arg0: str, /) -> object
Retrieve the requested value referenced by key argument, if it exists
def get_as_string(self, arg0: str, /) -> str
Retrieves a string representation of the value referred to by the passed key.
def get_keys_and_types(self, /) -> typing.Dict[str, habitat_sim._ext.habitat_sim_bindings.ConfigValType]
Returns a dictionary where the keys are the names of the values this configuration holds and the values are the types of these values.
def get_keys_by_type(self, value_type: habitat_sim._ext.habitat_sim_bindings.ConfigValType, sorted: bool = False) -> typing.List[str]
Retrieves a list of all the keys of values of the specified types. Takes ConfigValType enum value as argument, and whether the keys should be sorted or not.
def get_marker_sets(self, /) -> MarkerSets
Returns a reference to the marker-sets configuration object for constructs built using this template, so that it can be viewed or modified. Any changes to this configuration will require the owning attributes to be re-registered.
def get_subconfig(self, name: str) -> habitat_sim._ext.habitat_sim_bindings.Configuration
Get the subconfiguration with the given name.
def get_subconfig_copy(self, name: str) -> habitat_sim._ext.habitat_sim_bindings.Configuration
Get a copy of the subconfiguration with the given name.
def get_subconfig_keys(self, sorted: bool = False) -> typing.List[str]
Retrieves a list of the keys of this configuration’s subconfigurations, specifying whether the keys should be sorted or not
def get_type(self, arg0: str, /) -> habitat_sim._ext.habitat_sim_bindings.ConfigValType
Retrieves the ConfigValType of the value referred to by the passed key.
def get_user_config(self, /) -> habitat_sim._ext.habitat_sim_bindings.Configuration
Returns a reference to the User Config object for this attributes, so that it can be viewed or modified. Any changes to the user_config will require the owning attributes to be re-registered.
def has_key_to_type(self, key: str, value_type: habitat_sim._ext.habitat_sim_bindings.ConfigValType) -> bool
Returns whether passed key points to a value of specified ConfigValType
def has_subconfig(self, arg0: str, /) -> bool
Returns true if specified key references an existing subconfiguration within this configuration.
def has_value(self, key: str) -> bool
Returns whether or not this Configuration has the passed key. Does not check subconfigurations.
def init(self, key: str, value: str) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def init(self, key: str, value: int) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def init(self, key: str, value: bool) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def init(self, key: str, value: float) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def init(self, key: str, value: magnum.Vector2) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def init(self, key: str, value: magnum.Vector3) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def init(self, key: str, value: magnum.Vector4) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def init(self, key: str, value: magnum.Color4) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def init(self, key: str, value: magnum.Quaternion) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def init(self, key: str, value: magnum.Matrix3) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def init(self, key: str, value: magnum.Matrix4) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def init(self, key: str, value: magnum.Rad) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the expected type of a required variable. Use the provided Attributes instead to initialize values for this object.
def remove(self, arg0: str, /) -> object
Retrieve and remove the requested value, if it exists
def remove_subconfig(self, arg0: str, /) -> habitat_sim._ext.habitat_sim_bindings.Configuration
Removes and returns subconfiguration corresponding to passed key, if found. Gives warning otherwise.
def save_subconfig(self, name: str, subconfig: habitat_sim._ext.habitat_sim_bindings.Configuration) -> None
Save a subconfiguration with the given name.
def set(self, key: str, value: str) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.
def set(self, key: str, value: int) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.
def set(self, key: str, value: bool) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.
def set(self, key: str, value: float) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.
def set(self, key: str, value: magnum.Vector2) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.
def set(self, key: str, value: magnum.Vector3) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.
def set(self, key: str, value: magnum.Vector4) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.
def set(self, key: str, value: magnum.Color4) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.
def set(self, key: str, value: magnum.Quaternion) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.
def set(self, key: str, value: magnum.Matrix3) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.
def set(self, key: str, value: magnum.Matrix4) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.
def set(self, key: str, value: magnum.Rad) -> None
This method is inherited from Configuration, but should not be used with Attributes due to the possibility of changing the type of a required variable. Use the provided Attributes instead to set or change values for this object.

Special methods

def __init__(self, /) -> None
def __init__(self, arg0: str, /) -> None
def __repr__(self, new_line: str = '\n') -> str

Properties

angular_damping: float get set
The damping of angular velocity for objects constructed from this template.
bounding_box_collisions: bool get set
Whether objects constructed from this template should use bounding box for collisions or designated mesh.
collision_asset_fullpath: str get
Fully qualified filepath of the asset used to calculate collsions for constructions built from this template. This filepath will only be available/accurate after the owning attributes is registered
collision_asset_handle: str get set
Handle of the asset used to calculate collsions for constructions built from this template.
collision_asset_is_primitive: bool get
Whether collisions involving constructions built from this template should be solved using an internally sourced primitive.
collision_asset_size: magnum.Vector3 get set
Size of collsion assets for constructions built from this template in x,y,z. Default is [1.0,1.0,1.0]. This is used to resize a collision asset to match a render asset if necessary, such as when using a primitive.
collision_asset_type: habitat_sim._ext.habitat_sim_bindings.AssetType get
Type of the mesh asset used for collision calculations for constructions built from this template.
com: magnum.Vector3 get set
The Center of Mass for objects built from this template.
compute_COM_from_shape: bool get set
Whether the COM should be calculated when an object is created based on its bounding box
csv_info: str get
Comma-separated informational string describing this Attributes template
file_directory: str get
Directory where file-based templates were loaded from.
filenames_are_dirty: bool get
Whether filenames or paths in this attributes have been changed requiring re-registration before they can be used to create an object.
force_flat_shading: bool get set
If true, this object will be rendered flat, ignoring shader type settings.
friction_coefficient: float get set
Friction coefficient for constructions built from this template.
handle: str get set
Name of attributes template.
inertia: magnum.Vector3 get set
The diagonal of the Intertia matrix for objects constructed from this template.
is_collidable: bool get set
Whether constructions built from this template are collidable upon initialization.
is_visibile: bool get set
Whether objects constructed from this template are visible.
join_collision_meshes: bool get set
Whether collision meshes for objects constructed from this template should be joined into a convex hull or kept separate.
linear_damping: float get set
The damping of the linear velocity for objects constructed from this template.
margin: float get set
Collision margin for constructions built from this template.
mass: float get set
The mass of objects constructed from this template.
num_user_configs: int get
The number of currently specified user-defined configuration values and subconfigs (does not recurse subordinate subconfigs).
orient_front: magnum.Vector3 get set
Forward direction for constructions built from this template.
orient_up: magnum.Vector3 get set
Up direction for constructions built from this template.
render_asset_fullpath: str get
Fully qualified filepath of the asset used to render constructions built from this template. This filepath will only be available/accurate after the owning attributes is registered
render_asset_handle: str get set
Handle of the asset used to render constructions built from this template.
render_asset_is_primitive: bool get
Whether constructions built from this template should be rendered using an internally sourced primitive.
render_asset_type: habitat_sim._ext.habitat_sim_bindings.AssetType get
Type of the mesh asset used to render constructions built from this template.
restitution_coefficient: float get set
Coefficient of restitution for constructions built from this template.
rolling_friction_coefficient: float get set
Rolling friction coefficient for constructions built from this template. Damps angular velocity about axis orthogonal to the contact normal to prevent rounded shapes from rolling forever.
scale: magnum.Vector3 get set
Scale multiplier for constructions built from this template in x,y,z
semantic_id: int get set
The semantic ID for objects constructed from this template.
shader_type: habitat_sim._ext.habitat_sim_bindings.ObjectInstanceShaderType get set
The shader type [0=material, 1=flat, 2=phong, 3=pbr] to use for this construction
spinning_friction_coefficient: float get set
Spinning friction coefficient for constructions built from this template. Damps angular velocity about the contact normal.
template_class: str get
Class name of Attributes template.
template_id: int get
System-generated ID for template. Will be unique among templates of same type.
top_level_num_configs: int get
Holds the total number of subconfigs this Configuration holds at the base level (does not recurse subconfigs).
top_level_num_entries: int get
Holds the total number of values and subconfigs this Configuration holds at the base level (does not recurse subconfigs).
top_level_num_values: int get
Holds the total number of values this Configuration holds at the base level (does not recurse subconfigs).
total_num_configs: int get
Holds the total number of subconfigs this Configuration holds across all levels (recurses subconfigs).
total_num_entries: int get
Holds the total number of values and subconfigs this Configuration holds across all levels (recurses subconfigs).
total_num_user_configs: int get
The total number of currently specified user-defined configuration values and subconfigs found by also recursing all subordinate subconfigs.
total_num_values: int get
Holds the total number of values this Configuration holds across all levels (recurses subconfigs).
units_to_meters: float get set
Conversion ratio for given units to meters.
use_mesh_for_collision: bool get
Whether collisions involving constructions built from this template should be solved using the collision mesh or a primitive.