esp::scene::SemanticScene class

Represents a scene with containing semantically annotated levels, regions and objects

Public static functions

static auto loadGibsonHouse(const std::string& filename, SemanticScene& scene, const quatf& rotation = quatf::FromTwoVectors(-vec3f::UnitZ(), geo::ESP_GRAVITY)) -> bool
load SemanticScene from a Gibson house format file
static auto loadMp3dHouse(const std::string& filename, SemanticScene& scene, const quatf& rotation = quatf::FromTwoVectors(-vec3f::UnitZ(), geo::ESP_GRAVITY)) -> bool
load SemanticScene from a Matterport3D House format filename
static auto loadReplicaHouse(const std::string& filename, SemanticScene& scene, const quatf& rotation = quatf::FromTwoVectors(-vec3f::UnitZ(), geo::ESP_GRAVITY)) -> bool
load SemanticScene from a SUNCG house format file
static auto loadSuncgHouse(const std::string& filename, SemanticScene& scene, const quatf& rotation = quatf::Identity()) -> bool
load SemanticScene from a SUNCG house format file

Constructors, destructors, conversion operators

~SemanticScene()

Public functions

auto aabb() const -> box3f
return axis aligned bounding box of this House
auto count(const std::string& element) const -> int
return total number of given element type
auto categories() const -> const std::vector<std::shared_ptr<SemanticCategory>>&
return all SemanticCategories of objects in this House
auto levels() const -> const std::vector<std::shared_ptr<SemanticLevel>>&
return all Levels in this House
auto regions() const -> const std::vector<std::shared_ptr<SemanticRegion>>&
return all Regions in this House
auto objects() const -> const std::vector<std::shared_ptr<SemanticObject>>&
return all Objects in this House
auto getSemanticIndexMap() const -> const std::unordered_map<int, int>&
auto semanticIndexToObjectIndex(int maskIndex) const -> int

Protected variables

std::string name_
std::string label_
box3f bbox_
std::map<std::string, int> elementCounts_
std::vector<std::shared_ptr<SemanticCategory>> categories_
std::vector<std::shared_ptr<SemanticLevel>> levels_
std::vector<std::shared_ptr<SemanticRegion>> regions_
std::vector<std::shared_ptr<SemanticObject>> objects_
std::unordered_map<int, int> segmentToObjectIndex_
map from combined region-segment id to objectIndex for semantic mesh

Function documentation

int esp::scene::SemanticScene::semanticIndexToObjectIndex(int maskIndex) const

convert semantic mesh mask index to object index or ID_UNDEFINED if not mapped