esp::scene::SemanticRegion class

Represents a region (typically room) in a level of a house.

Constructors, destructors, conversion operators

~SemanticRegion() defaulted virtual

Public functions

auto id() const -> std::string virtual
auto getIndex() const -> int
auto level() const -> SemanticLevel::ptr
auto objects() const -> const std::vector<std::shared_ptr<SemanticObject>>&
auto contains(const Mn::Vector3& point) const -> bool virtual
Test whether this region contains the passed point.
void setBBox(const Mn::Vector3& min, const Mn::Vector3& max)
auto aabb() const -> box3f
auto getPolyLoopPoints() const -> const std::vector<Mn::Vector2>&
auto getVisEdges() const -> const std::vector<std::vector<Mn::Vector3>>&
Return a list of the semantic region's bounding volume edges.
auto getExtrusionHeight() const -> double
auto getFloorHeight() const -> double
auto category() const -> SemanticCategory::ptr
auto getArea() const -> double
Returns the area of the polyloop forming the base of the region extrusion.
auto getVolume() const -> double
Returns the volume of the polyloop-based extrusion defining the bounds of this region.

Protected variables

int index_
int parentIndex_
std::shared_ptr<SemanticCategory> category_
vec3f position_
box3f bbox_
std::string name_
double area_
double extrusionHeight_
double floorHeight_
std::vector<Mn::Vector2> polyLoopPoints_
std::vector<std::vector<Mn::Vector3>> visEdges_
std::vector<std::shared_ptr<SemanticObject>> objects_
std::shared_ptr<SemanticLevel> level_
friend SemanticScene