habitat_sim.attributes.StageAttributes class

A metadata template for stages pre-instantiation. Defines asset paths, collision properties, gravity direction, shader type overrides, semantic asset information, and user defined metadata. Consumed to instantiate the static background of a scene (e.g. the building architecture). Can be imported from .stage_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.ConfigStoredType]
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.ConfigStoredType) -> typing.List[str]
Retrieves a list of all the keys of values of the specified types. Takes ConfigStoredType enum value as argument.
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, /) -> typing.List[str]
Retrieves a list of the keys of this configuration’s subconfigurations
def get_type(self, arg0: str, /) -> habitat_sim._ext.habitat_sim_bindings.ConfigStoredType
Retrieves the ConfigStoredType 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.ConfigStoredType) -> bool
Returns whether passed key points to a value of specified ConfigStoredType
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 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 change values for this object.
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 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 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 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 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 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 change values for this object.

Special methods

def __init__(self, /) -> None
def __init__(self, arg0: str, /) -> None

Properties

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: int get set
Type of the mesh asset used for collision calculations for constructions built from this template.
csv_info: str get
Comma-separated informational string describing this Attributes template
file_directory: str get
Directory where file-based templates were loaded from.
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.
frustum_culling: bool get set
Whether frustum culling should be enabled for constructions built by this template.
gravity: magnum.Vector3 get set
The 3-vector representation of gravity to use for physically-based simulations on stages built from this template.
handle: str get set
Name of attributes template.
house_filename: str get set
Handle for file containing semantic type maps and hierarchy for constructions built from this template.
is_collidable: bool get set
Whether constructions built from this template are collidable upon initialization.
is_dirty: bool get
Whether values in this attributes have been changed requiring re-registration before they can be used an object can be created.
margin: float get set
Collision margin for constructions built from this template.
Handle of the navmesh asset used for constructions built from this template.
num_user_configs: int get
The number of currently specified user-defined configuration values.
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.
origin: magnum.Vector3 get set
The desired location of the origin of stages built from this template.
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: int get set
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_asset_handle: str get set
Handle of the asset used for semantic segmentation of stages built from this template.
semantic_asset_type: int get set
Type of asset used for collision calculations for constructions built from this template.
semantic_orient_front: magnum.Vector3 get set
Forward direction for semantic stage meshes built from this template.
semantic_orient_up: magnum.Vector3 get set
Up direction for semantic stage meshes built from this template.
shader_type 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.
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.