esp::metadata::attributes::StageAttributes class

Specific Attributes instance describing a rigid stage, constructed with a default set of stage-specific required attributes.

Base classes

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

Constructors, destructors, conversion operators

StageAttributes(const std::string& handle = "") explicit

Public functions

void setOrigin(const Magnum::Vector3& origin)
auto getOrigin() const -> Magnum::Vector3
void setGravity(const Magnum::Vector3& gravity)
auto getGravity() const -> Magnum::Vector3
void setSemanticOrientUp(const Magnum::Vector3& semanticOrientUp)
Set default up orientation for semantic mesh. This is to support stage aligning semantic meshes that have different orientations than the stage render mesh.
auto getSemanticOrientUp() const -> Magnum::Vector3
get default up orientation for semantic mesh. This is to support stage aligning semantic meshes that have different orientations than the stage render mesh. Returns render asset up if no value for semantic asset was specifically set.
void setSemanticOrientFront(const Magnum::Vector3& semanticOrientFront)
Set default forward orientation for semantic mesh. This is to support stage aligning semantic meshes that have different orientations than the stage render mesh.
auto getSemanticOrientFront() const -> Magnum::Vector3
get default forward orientation for semantic mesh. This is to support stage aligning semantic meshes that have different orientations than the stage render mesh. Returns render asset front if no value for semantic asset was specifically set.
void setSemanticDescriptorFilename(const std::string& semantic_descriptor_filename)
Text file that describes the hierharchy of semantic information embedded in the Semantic Asset mesh. May be overridden by value specified in Scene Instance Attributes.
auto getSemanticDescriptorFilename() const -> std::string
Text file that describes the hierharchy of semantic information embedded in the Semantic Asset mesh. May be overridden by value specified in Scene Instance Attributes.
void setSemanticDescriptorFullPath(const std::string& semanticDescriptorHandle)
Sets the fully-qualified filepath for the semantic asset to be used to semantic the construct this attributes describes. This is only used internally and should not be saved to disk.
auto getSemanticDescriptorFullPath() const -> std::string
Gets the fully-qualified filepath for the semantic asset to be used to semantic the construct this attributes describes. This is only used internally and should not be saved to disk.
void setSemanticAssetHandle(const std::string& semanticAssetHandle)
Sets the relative path/filename for the semantic asset to be used to render the semantics for the stage this attributes describes. This is relative to the on-disk location of the file responsible for this configuration.
auto getSemanticAssetHandle() const -> std::string
Gets the relative path/filename for the semantic asset to be used to render the semantics for the stage this attributes describes. This is relative to the on-disk location of the file responsible for this configuration.
void setSemanticAssetFullPath(const std::string& semanticAssetHandle)
Sets the fully-qualified filepath for the semantic asset to be used to render the semantics for the stage this attributes describes. This is only used internally and should not be saved to disk.
auto getSemanticAssetFullPath() const -> std::string
Gets the fully-qualified filepath for the semantic asset to be used to render the semantics for the stage this attributes describes. This is only used internally and should not be saved to disk.
void setSemanticAssetType(const std::string& semanticAssetType)
Sets the semantic asset type, as specified by AssetType. This specification was generally intended for specifying certain criteria such as orientation for the loaded asset based on file name, which was in turn queried for type. This is an artifact of a very early version of Habitat-Sim and effort should be spent to remove this entirely, as more accurate and thorough mechanisms have been implemented in its place.
void initSemanticAssetType(const std::string& semanticAssetType)
Initalize the semantic asset type, as specified by AssetType. This specification was generally intended for specifying certain criteria such as orientation for the loaded asset based on file name, which was in turn queried for type. This is an artifact of a very early version of Habitat-Sim and effort should be spent to remove this entirely, as more accurate and thorough mechanisms have been implemented in its place.
void setSemanticAssetTypeEnum(AssetType assetTypeEnum)
Sets the semantic asset type, as specified by AssetType, by first translating from provided enum. This specification was generally intended for specifying certain criteria such as orientation for the loaded asset based on file name, which was in turn queried for type. This is an artifact of a very early version of Habitat-Sim and effort should be spent to remove this entirely, as more accurate and thorough mechanisms have been implemented in its place.
void initSemanticAssetTypeEnum(AssetType assetTypeEnum)
Initialize the semantic asset type, as specified by AssetType, by first translating from provided enum. This specification was generally intended for specifying certain criteria such as orientation for the loaded asset based on file name, which was in turn queried for type. This is an artifact of a very early version of Habitat-Sim and effort should be spent to remove this entirely, as more accurate and thorough mechanisms have been implemented in its place.
auto getSemanticAssetType() const -> AssetType
Gets the semantic asset type, as specified by AssetType. This specification was generally intended for specifying certain criteria such as orientation for the loaded asset based on file name, which was in turn queried for type. This is an artifact of a very early version of Habitat-Sim and effort should be spent to remove this entirely, as more accurate and thorough mechanisms have been implemented in its place.
void setHasSemanticTextures(bool hasSemanticTextures)
Set whether or not the semantic asset for this stage supports texture semantics.
auto getHasSemanticTextures() const -> bool
auto useSemanticTextures() const -> bool
Only set internally if we should use semantic textures for semantic asset loading/rendering. Should only be true if "has_semantic_textures" is true and user has specified to use semantic textures via SimulatorConfiguration.
void setUseSemanticTextures(bool useSemanticTextures)
Only should be called when simulator::reconfigure is called, based on setting.
void setLoadSemanticMesh(bool loadSemanticMesh)
auto getLoadSemanticMesh() -> bool
void setNavmeshAssetHandle(const std::string& nav_asset)
auto getNavmeshAssetHandle() const -> std::string
void setNavmeshAssetFullPath(const std::string& navmeshAssetHandle)
Sets the fully-qualified filepath for the navmesh asset to be used with the stage this attributes describes. This is only used internally and should not be saved to disk.
auto getNavmeshAssetFullPath() const -> std::string
Gets the fully-qualified filepath for the navmesh asset to be used with the stage this attributes describes. This is only used internally and should not be saved to disk.
void setLightSetupKey(const std::string& light_setup_key)
Set lighting setup for stage. Default value comes from esp::sim::SimulatorConfiguration, is overridden by any value set in json, if exists.
auto getLightSetupKey() const -> std::string
void setFrustumCulling(bool frustumCulling)
Set frustum culling for stage. Default value comes from esp::sim::SimulatorConfiguration, is overridden by any value set in json, if exists. Currently only set from SimulatorConfiguration.
auto getFrustumCulling() const -> bool

Protected functions

void writeValuesToJsonInternal(io::JsonGenericValue& jsonObj, io::JsonAllocator& allocator) const override
Write stage-specific values to json object.
auto getAbstractObjectInfoHeaderInternal() const -> std::string override
get AbstractObject specific info header
auto getAbstractObjectInfoInternal() const -> std::string override
get AbstractObject specific info for csv string