esp::metadata::attributes namespace

Metadata Attributes library.

Classes

class AbstractAttributes
Base class for all implemented attributes. Inherits from esp::core::managedContainers::AbstractFileBasedManagedObject so the attributes can be managed by a esp::core::managedContainers::ManagedContainer.
class AbstractObjectAttributes
base attributes object holding attributes shared by all esp::metadata::attributes::ObjectAttributes and esp::metadata::attributes::StageAttributes objects; Should be treated as abstract - should never be instanced directly
class AbstractPrimitiveAttributes
class ArticulatedObjectAttributes
attributes class describing essential and default quantities used to instantiate an Articulated object
class CapsulePrimitiveAttributes
attributes describing primitive capsule objects
class ConePrimitiveAttributes
class CubePrimitiveAttributes
class CylinderPrimitiveAttributes
class IcospherePrimitiveAttributes
class LightInstanceAttributes
This class describes an instance of a light - its template name, location/direction, color, intensity, type and other parameters if appropriate.
class LightLayoutAttributes
This class describes a lighting layout, consisting of a series of lights.
class ObjectAttributes
Specific Attributes instance describing a rigid object, constructed with a default set of object-specific required attributes.
class PbrShaderAttributes
attributes class describing essential and default quantities and settings for configuring PBR shader calculations.
class PhysicsManagerAttributes
attributes class describing essential and default quantities used to instantiate a physics manager.
class SceneAOInstanceAttributes
This class describes an instance of an articulated object in a scene.
class SceneDatasetAttributes
class SceneInstanceAttributes
class SceneObjectInstanceAttributes
This class describes an instance of a stage, object or articulated object in a scene - its template name, translation from the origin, rotation, motiontype, and other values required to instantiate the construct described.
class SemanticAttributes
This class describes the semantic attributes for a specific scene. This includes semantic region description and annotation.
class SemanticVolumeAttributes
This class describes the attributes describing some Semantic Volume. Currently only used for region annotations.
class StageAttributes
Specific Attributes instance describing a rigid stage, constructed with a default set of stage-specific required attributes.
class UVSpherePrimitiveAttributes

Enums

enum class ArticulatedObjectBaseType { Unspecified = ID_UNDEFINED, Free, Fixed, EndAOBaseType }
This enum class defines possible options for the type of joint that connects the base of the Articulated Object to the world (the root 6 dofs)
enum class ArticulatedObjectInertiaSource { Unspecified = ID_UNDEFINED, Computed, URDF, EndAOInertiaSource }
This enum class defines the source of the interia values to use for the Articulated Object.
enum class ArticulatedObjectLinkOrder { Unspecified = ID_UNDEFINED, URDFOrder, TreeTraversal, EndAOLinkOrder }
This enum class defines how the links in the Articulated Object should be ordered.
enum class ArticulatedObjectRenderMode { Unspecified = ID_UNDEFINED, Default, Skin, LinkVisuals, None, Both, EndAORenderMode }
This enum class defines the possible options for what will be rendered for a particular Articulated Object.
enum class ObjectInstanceShaderType { Unspecified = ID_UNDEFINED, Material, Flat, Phong, PBR, EndShaderType }
This enum class defines the possible shader options for rendering instances of objects or stages in Habitat-sim.
enum class SceneInstanceTranslationOrigin { Unknown = ID_UNDEFINED, AssetLocal, COM, EndTransOrigin }
This enum class describes whether an object instance position is relative to its COM or the asset's local origin. Depending on this value, we may take certain actions when instantiating a scene described by a scene instance. For example, scene instances exported from Blender will have no conception of an object's configured COM, and so will require adjustment to translations to account for COM location when the object is placed.

Functions

auto getMeshTypeName(esp::assets::AssetType meshTypeEnum) -> std::string
Get a string name representing the specified esp::assets::AssetType enum value.
auto getAOBaseTypeName(ArticulatedObjectBaseType aoBaseType) -> std::string
This method will convert a ArticulatedObjectBaseType value to the string key that maps to it in the AOBaseTypeMap.
auto getAOInertiaSourceName(ArticulatedObjectInertiaSource aoInertiaSource) -> std::string
This method will convert a ArticulatedObjectInertiaSource value to the string key that maps to it in the AOInertiaSourceMap.
auto getAOLinkOrderName(ArticulatedObjectLinkOrder aoLinkOrder) -> std::string
This method will convert a ArticulatedObjectLinkOrder value to the string key that maps to it in the AOLinkOrderMap.
auto getAORenderModeName(ArticulatedObjectRenderMode aoRenderMode) -> std::string
This method will convert a ArticulatedObjectRenderMode value to the string key that maps to it in the AORenderModesMap.
auto getShaderTypeName(ObjectInstanceShaderType shaderTypeVal) -> std::string
This method will convert a ObjectInstanceShaderType value to the string key that maps to it in the ShaderTypeNamesMap.
auto getTranslationOriginName(SceneInstanceTranslationOrigin translationOrigin) -> std::string
This method will convert a SceneInstanceTranslationOrigin value to the string key that maps to it in the InstanceTranslationOriginMap.
auto getLightTypeName(esp::gfx::LightType lightTypeEnum) -> std::string
This method will convert a esp::gfx::LightType value to the string key it maps to in the LightTypeNamesMap.
auto getLightPositionModelName(esp::gfx::LightPositionModel lightPositionEnum) -> std::string
This method will convert a esp::gfx::LightPositionModel value to the string key it maps to in the LightPositionNamesMap.
auto getMotionTypeName(esp::physics::MotionType motionTypeEnum) -> std::string
This method will convert a esp::gfx::LightPositionModel value to the string key it maps to in the LightPositionNamesMap.

Variables

const std::map<std::string, esp::assets::AssetType> AssetTypeNamesMap
Constant static map to provide mappings from string tags to esp::assets::AssetType values. This will be used to map values set in json for mesh type to esp::assets::AssetType. Keys must be lowercase.
const std::map<std::string, ArticulatedObjectBaseType> AOBaseTypeMap
Constant map to provide mappings from string tags to ArticulatedObjectBaseType values. This will be used to map values set in json for AO base_type to ArticulatedObjectBaseType. Keys must be lowercase.
const std::map<std::string, ArticulatedObjectInertiaSource> AOInertiaSourceMap
Constant map to provide mappings from string tags to ArticulatedObjectInertiaSource values. This will be used to map values set in json for AO inertia_source to ArticulatedObjectInertiaSource. Keys must be lowercase.
const std::map<std::string, ArticulatedObjectLinkOrder> AOLinkOrderMap
Constant map to provide mappings from string tags to ArticulatedObjectLinkOrder values. This will be used to map values set in json for AO link_order to ArticulatedObjectLinkOrder. Keys must be lowercase.
const std::map<std::string, ArticulatedObjectRenderMode> AORenderModesMap
Constant map to provide mappings from string tags to ArticulatedObjectRenderMode values. This will be used to map values set in json for AO render_mode to ArticulatedObjectRenderMode. Keys must be lowercase.
const std::map<std::string, ObjectInstanceShaderType> ShaderTypeNamesMap
Constant map to provide mappings from string tags to ObjectInstanceShaderType values. This will be used to map values set in json for shader type to ObjectInstanceShaderType. Keys must be lowercase.
const std::map<std::string, SceneInstanceTranslationOrigin> InstanceTranslationOriginMap
Constant map to provide mappings from string tags to SceneInstanceTranslationOrigin values. This will be used to map values set in json for translation origin to SceneInstanceTranslationOrigin. Keys must be lowercase.
const std::map<std::string, esp::gfx::LightType> LightTypeNamesMap
Constant static map to provide mappings from string tags to esp::gfx::LightType values. This will be used to map values set in json for light type to esp::gfx::LightType. Keys must be lowercase - will support any case values in JSON.
const std::map<std::string, esp::gfx::LightPositionModel> LightPositionNamesMap
Constant static map to provide mappings from string tags to esp::gfx::LightPositionModel values. This will be used to map values set in json to specify what translations are measured from for a lighting instance.
const std::map<std::string, esp::physics::MotionType> MotionTypeNamesMap
Constant static map to provide mappings from string tags to esp::physics::MotionType values. This will be used to map values set in json for mesh type to esp::physics::MotionType. Keys must be lowercase.

Enum documentation

enum class esp::metadata::attributes::ArticulatedObjectBaseType

This enum class defines possible options for the type of joint that connects the base of the Articulated Object to the world (the root 6 dofs)

Enumerators
Unspecified

Represents the user not specifying the type of base/root joint. Resorts to any previously known/set value.

Free

The Articulated Object is joined to the world with a free joint and is free to move around in the world.

Fixed

The Articulated Object is connected to the world with a fixed joint at a specific location in the world and is unable to move within the world.

EndAOBaseType

End cap value - no Articulated Object base type enums should be defined at or past this enum.

enum class esp::metadata::attributes::ArticulatedObjectInertiaSource

This enum class defines the source of the interia values to use for the Articulated Object.

Enumerators
Unspecified

Represents the user not specifying the source of the inertia values to use. Resorts to any previously known/set value.

Computed

Use inertia values computed from the collision shapes when the model is loaded. This is usually more stable and is the default value.

URDF

Use the interia values specified in the URDF file.

EndAOInertiaSource

End cap value - no Articulated Object intertia source enums should be defined at or past this enum.

enum class esp::metadata::attributes::ArticulatedObjectLinkOrder

This enum class defines how the links in the Articulated Object should be ordered.

Enumerators
Unspecified

Represents the user not specifying which link ordering to use. Resorts to any previously known/set value.

URDFOrder

Use the link order specified in the source URDF file.

TreeTraversal

Use the link order derived from a tree traversal of the Articulated Object.

EndAOLinkOrder

End cap value - no Articulated Object link order enums should be defined at or past this enum.

enum class esp::metadata::attributes::ArticulatedObjectRenderMode

This enum class defines the possible options for what will be rendered for a particular Articulated Object.

Enumerators
Unspecified

Represents the user not specifying which rendering mode to use. Resorts to any previously known/set value.

Default

Render the Articulated Object using its skin if it has one, otherwise render it using the urdf-defined link meshes/primitives.

Skin

Render the Articulated Object using its skin.

LinkVisuals

Render the Articulated Object using urdf-defined meshes/primitives to respresent each link.

None

Do not render the Articulated Object.

Both

Render the Articulated Object using both the skin and the urdf-defined link meshes/primitives.

EndAORenderMode

End cap value - no Articulated Object render mode enums should be defined at or past this enum.

enum class esp::metadata::attributes::ObjectInstanceShaderType

This enum class defines the possible shader options for rendering instances of objects or stages in Habitat-sim.

Enumerators
Unspecified

Represents the user not specifying which shader type choice to use. Resort to defaults for object type.

Material

Override any config-specified or default shader-type values to use the material-specified shader.

Flat

Refers to flat shading, pure color and no lighting. This is often used for textured objects.

Phong

Refers to phong shading with pure diffuse color.

PBR

Refers to using a shader built with physically-based rendering models.

EndShaderType

End cap value - no shader type enums should be defined at or past this enum.

enum class esp::metadata::attributes::SceneInstanceTranslationOrigin

This enum class describes whether an object instance position is relative to its COM or the asset's local origin. Depending on this value, we may take certain actions when instantiating a scene described by a scene instance. For example, scene instances exported from Blender will have no conception of an object's configured COM, and so will require adjustment to translations to account for COM location when the object is placed.

Enumerators
Unknown

Default value - in the case of object instances, this means use the specified scene instance default; in the case of a scene instance, this means do not correct for COM.

AssetLocal

Indicates scene instance objects were placed without knowledge of their COM location, and so need to be corrected when placed in scene in Habitat. For example, they were exported from an external editor like Blender.

COM

Indicates scene instance objects' location were recorded at their COM location, and so do not need correction. For example they were exported from Habitat-sim.

EndTransOrigin

End cap value - no instance translation origin type enums should be defined at or past this enum.

Function documentation

std::string esp::metadata::attributes::getMeshTypeName(esp::assets::AssetType meshTypeEnum)

Get a string name representing the specified esp::assets::AssetType enum value.

std::string esp::metadata::attributes::getAOBaseTypeName(ArticulatedObjectBaseType aoBaseType)

This method will convert a ArticulatedObjectBaseType value to the string key that maps to it in the AOBaseTypeMap.

std::string esp::metadata::attributes::getAOInertiaSourceName(ArticulatedObjectInertiaSource aoInertiaSource)

This method will convert a ArticulatedObjectInertiaSource value to the string key that maps to it in the AOInertiaSourceMap.

std::string esp::metadata::attributes::getAOLinkOrderName(ArticulatedObjectLinkOrder aoLinkOrder)

This method will convert a ArticulatedObjectLinkOrder value to the string key that maps to it in the AOLinkOrderMap.

std::string esp::metadata::attributes::getAORenderModeName(ArticulatedObjectRenderMode aoRenderMode)

This method will convert a ArticulatedObjectRenderMode value to the string key that maps to it in the AORenderModesMap.

std::string esp::metadata::attributes::getShaderTypeName(ObjectInstanceShaderType shaderTypeVal)

This method will convert a ObjectInstanceShaderType value to the string key that maps to it in the ShaderTypeNamesMap.

std::string esp::metadata::attributes::getTranslationOriginName(SceneInstanceTranslationOrigin translationOrigin)

This method will convert a SceneInstanceTranslationOrigin value to the string key that maps to it in the InstanceTranslationOriginMap.

std::string esp::metadata::attributes::getLightTypeName(esp::gfx::LightType lightTypeEnum)

This method will convert a esp::gfx::LightType value to the string key it maps to in the LightTypeNamesMap.

std::string esp::metadata::attributes::getLightPositionModelName(esp::gfx::LightPositionModel lightPositionEnum)

This method will convert a esp::gfx::LightPositionModel value to the string key it maps to in the LightPositionNamesMap.

std::string esp::metadata::attributes::getMotionTypeName(esp::physics::MotionType motionTypeEnum)

This method will convert a esp::gfx::LightPositionModel value to the string key it maps to in the LightPositionNamesMap.

Variable documentation

const std::map<std::string, esp::assets::AssetType> esp::metadata::attributes::AssetTypeNamesMap

Constant static map to provide mappings from string tags to esp::assets::AssetType values. This will be used to map values set in json for mesh type to esp::assets::AssetType. Keys must be lowercase.

const std::map<std::string, ArticulatedObjectBaseType> esp::metadata::attributes::AOBaseTypeMap

Constant map to provide mappings from string tags to ArticulatedObjectBaseType values. This will be used to map values set in json for AO base_type to ArticulatedObjectBaseType. Keys must be lowercase.

const std::map<std::string, ArticulatedObjectInertiaSource> esp::metadata::attributes::AOInertiaSourceMap

Constant map to provide mappings from string tags to ArticulatedObjectInertiaSource values. This will be used to map values set in json for AO inertia_source to ArticulatedObjectInertiaSource. Keys must be lowercase.

const std::map<std::string, ArticulatedObjectLinkOrder> esp::metadata::attributes::AOLinkOrderMap

Constant map to provide mappings from string tags to ArticulatedObjectLinkOrder values. This will be used to map values set in json for AO link_order to ArticulatedObjectLinkOrder. Keys must be lowercase.

const std::map<std::string, ArticulatedObjectRenderMode> esp::metadata::attributes::AORenderModesMap

Constant map to provide mappings from string tags to ArticulatedObjectRenderMode values. This will be used to map values set in json for AO render_mode to ArticulatedObjectRenderMode. Keys must be lowercase.

const std::map<std::string, ObjectInstanceShaderType> esp::metadata::attributes::ShaderTypeNamesMap

Constant map to provide mappings from string tags to ObjectInstanceShaderType values. This will be used to map values set in json for shader type to ObjectInstanceShaderType. Keys must be lowercase.

const std::map<std::string, SceneInstanceTranslationOrigin> esp::metadata::attributes::InstanceTranslationOriginMap

Constant map to provide mappings from string tags to SceneInstanceTranslationOrigin values. This will be used to map values set in json for translation origin to SceneInstanceTranslationOrigin. Keys must be lowercase.

const std::map<std::string, esp::gfx::LightType> esp::metadata::attributes::LightTypeNamesMap

Constant static map to provide mappings from string tags to esp::gfx::LightType values. This will be used to map values set in json for light type to esp::gfx::LightType. Keys must be lowercase - will support any case values in JSON.

const std::map<std::string, esp::gfx::LightPositionModel> esp::metadata::attributes::LightPositionNamesMap

Constant static map to provide mappings from string tags to esp::gfx::LightPositionModel values. This will be used to map values set in json to specify what translations are measured from for a lighting instance.

const std::map<std::string, esp::physics::MotionType> esp::metadata::attributes::MotionTypeNamesMap

Constant static map to provide mappings from string tags to esp::physics::MotionType values. This will be used to map values set in json for mesh type to esp::physics::MotionType. Keys must be lowercase.