esp/scene/SceneNode.h file

Namespaces

namespace esp
Root namespace.
namespace esp::sensor
namespace esp::scene

Classes

class esp::scene::SceneNode

Enums

enum class SceneNodeType { Empty = 0, Sensor = 1, Agent = 2, Camera = 3, Object = 4, EndSceneNodeType }
enum class SceneNodeSemanticDataIDX { SemanticID = 0, ObjectID = 1, DrawableID = 2, EndSemanticDataIDXs }
This enum holds the idx values for the vector of various types of IDs that can be rendered via semantic sensors.
enum class SceneNodeTag: Magnum::UnsignedShort { Leaf = 1 << 0 }

Typedefs

using SceneNodeTags = Corrade::Containers::EnumSet<SceneNodeTag>
SceneNodeTags.

Functions

template<typename Callable>
void preOrderTraversalWithCallback(const SceneNode& node, Callable&& cb)
Perform a pre-order traversal and invoke a callback at each node.
template<typename Callable>
void preOrderTraversalWithCallback(SceneNode& node, Callable&& cb)
template<typename Feature, typename Callable>
void preOrderFeatureTraversalWithCallback(const SceneNode& node, Callable&& cb)
Perform a pre-order traversal and invoke a callback on features of the desired type.
template<typename Feature, typename Callable>
void preOrderFeatureTraversalWithCallback(SceneNode& node, Callable&& cb)
void setSemanticIdForSubtree(SceneNode* node, int semanticId)
Set the semantic ID of a scene graph subtree.
void setSemanticInfoForSubtree(SceneNode* node, const std::vector<int>& _semanticIDs)
Set the semantic and instance IDs of a scene graph subtree.

Enum documentation

enum class SceneNodeSemanticDataIDX

This enum holds the idx values for the vector of various types of IDs that can be rendered via semantic sensors.

Enumerators
SemanticID

The semantic ID corresponding to the object represented by this scene node. The semantic category of a node. This value is used to render attached Drawables with Semantic sensor when no perVertexObjectIds are present.

ObjectID

The object ID of the object represented by this scene node. This value will be set to ID_UNDEFINED if the object is deleted without removing the scene node/drawable.

DrawableID

The drawable ID that draws this scene node.

EndSemanticDataIDXs

Insert the index of a new ID to represent in semantic observations above this entry.

enum class SceneNodeTag: Magnum::UnsignedShort

Enumerators
Leaf

Set node as Leaf node, so no children nodes are allowed

Function documentation

template<typename Callable>
void preOrderTraversalWithCallback(const SceneNode& node, Callable&& cb)

Perform a pre-order traversal and invoke a callback at each node.

Parameters
node Root node for this traversal
cb Callback which will be called with each SceneNode

template<typename Callable>
void preOrderTraversalWithCallback(SceneNode& node, Callable&& cb)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<typename Feature, typename Callable>
void preOrderFeatureTraversalWithCallback(const SceneNode& node, Callable&& cb)

Perform a pre-order traversal and invoke a callback on features of the desired type.

Template parameters
Feature Feature type to invoke callback on
Callable
Parameters
node Root node for this traversal
cb Callback which will be called with each feature

template<typename Feature, typename Callable>
void preOrderFeatureTraversalWithCallback(SceneNode& node, Callable&& cb)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

void setSemanticIdForSubtree(SceneNode* node, int semanticId)

Set the semantic ID of a scene graph subtree.

Parameters
node Root node of the subtree.
semanticId Semantic ID to apply to the subtree.

void setSemanticInfoForSubtree(SceneNode* node, const std::vector<int>& _semanticIDs)

Set the semantic and instance IDs of a scene graph subtree.

Parameters
node Root node of the subtree.
_semanticIDs