Class Node
Defined in File Node.hpp
Nested Relationships
Nested Types
Inheritance Relationships
Derived Types
public dai::NodeCRTP< Node, SPIOut, SPIOutProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, DetectionParser, DetectionParserProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, Cast, CastProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, PointCloud, PointCloudProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, AprilTag, AprilTagProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, ToF, ToFProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, SystemLogger, SystemLoggerProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, SPIIn, SPIInProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, UVC, UVCProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, ObjectTracker, ObjectTrackerProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, MonoCamera, MonoCameraProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, FeatureTracker, FeatureTrackerProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, ColorCamera, ColorCameraProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, Camera, CameraProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, Warp, WarpProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, SpatialLocationCalculator, SpatialLocationCalculatorProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, NeuralNetwork, NeuralNetworkProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, ImageManip, ImageManipProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, XLinkIn, XLinkInProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, Script, ScriptProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, IMU, IMUProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, EdgeDetector, EdgeDetectorProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, VideoEncoder, VideoEncoderProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, StereoDepth, StereoDepthProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, XLinkOut, XLinkOutProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, ImageAlign, ImageAlignProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, Sync, SyncProperties >(Template Class NodeCRTP)public dai::NodeCRTP< Node, MessageDemux, MessageDemuxProperties >(Template Class NodeCRTP)
Class Documentation
-
class Node
Abstract Node.
Subclassed by dai::NodeCRTP< Node, SPIOut, SPIOutProperties >, dai::NodeCRTP< Node, DetectionParser, DetectionParserProperties >, dai::NodeCRTP< Node, Cast, CastProperties >, dai::NodeCRTP< Node, PointCloud, PointCloudProperties >, dai::NodeCRTP< Node, AprilTag, AprilTagProperties >, dai::NodeCRTP< Node, ToF, ToFProperties >, dai::NodeCRTP< Node, SystemLogger, SystemLoggerProperties >, dai::NodeCRTP< Node, SPIIn, SPIInProperties >, dai::NodeCRTP< Node, UVC, UVCProperties >, dai::NodeCRTP< Node, ObjectTracker, ObjectTrackerProperties >, dai::NodeCRTP< Node, MonoCamera, MonoCameraProperties >, dai::NodeCRTP< Node, FeatureTracker, FeatureTrackerProperties >, dai::NodeCRTP< Node, ColorCamera, ColorCameraProperties >, dai::NodeCRTP< Node, Camera, CameraProperties >, dai::NodeCRTP< Node, Warp, WarpProperties >, dai::NodeCRTP< Node, SpatialLocationCalculator, SpatialLocationCalculatorProperties >, dai::NodeCRTP< Node, NeuralNetwork, NeuralNetworkProperties >, dai::NodeCRTP< Node, ImageManip, ImageManipProperties >, dai::NodeCRTP< Node, XLinkIn, XLinkInProperties >, dai::NodeCRTP< Node, Script, ScriptProperties >, dai::NodeCRTP< Node, IMU, IMUProperties >, dai::NodeCRTP< Node, EdgeDetector, EdgeDetectorProperties >, dai::NodeCRTP< Node, VideoEncoder, VideoEncoderProperties >, dai::NodeCRTP< Node, StereoDepth, StereoDepthProperties >, dai::NodeCRTP< Node, XLinkOut, XLinkOutProperties >, dai::NodeCRTP< Node, ImageAlign, ImageAlignProperties >, dai::NodeCRTP< Node, Sync, SyncProperties >, dai::NodeCRTP< Node, MessageDemux, MessageDemuxProperties >
Public Types
Public Functions
-
virtual const char *getName() const = 0
Retrieves nodes name.
Constructs Node.
-
virtual ~Node() = default
-
const AssetManager &getAssetManager() const
Get node AssetManager as a const reference.
-
AssetManager &getAssetManager()
Get node AssetManager as a reference.
Protected Functions
-
virtual Properties &getProperties()
Protected Attributes
-
std::weak_ptr<PipelineImpl> parent
-
AssetManager assetManager
-
copyable_unique_ptr<Properties> propertiesHolder
-
struct Connection
Connection between an Input and Output.
Public Members
-
std::string outputName
-
std::string outputGroup
-
std::string inputName
-
std::string inputGroup
Friends
- friend struct std::hash< Connection >
-
std::string outputName
-
class Input
-
Public Functions
-
inline Input(Node &par, std::string n, Type t, std::vector<DatatypeHierarchy> types)
Constructs Input with default blocking and queueSize options.
-
inline Input(Node &par, std::string n, Type t, bool blocking, int queueSize, std::vector<DatatypeHierarchy> types)
Constructs Input with specified blocking and queueSize options.
-
inline Input(Node &par, std::string n, Type t, bool blocking, int queueSize, bool waitForMessage, std::vector<DatatypeHierarchy> types)
Constructs Input with specified blocking and queueSize as well as additional options.
-
inline Input(Node &par, std::string group, std::string n, Type t, bool blocking, int queueSize, bool waitForMessage, std::vector<DatatypeHierarchy> types)
Constructs Input with specified blocking and queueSize as well as additional options.
-
void setBlocking(bool blocking)
Overrides default input queue behavior.
- Parameters:
blocking – True blocking, false overwriting
-
bool getBlocking() const
Get input queue behavior
- Returns:
True blocking, false overwriting
-
void setQueueSize(int size)
Overrides default input queue size. If queue size fills up, behavior depends on
blockingattribute- Parameters:
size – Maximum input queue size
-
int getQueueSize() const
Get input queue size.
- Returns:
Maximum input queue size
-
void setWaitForMessage(bool waitForMessage)
Overrides default wait for message behavior. Applicable for nodes with multiple inputs. Specifies behavior whether to wait for this input when a Node processes certain data or not.
- Parameters:
waitForMessage – Whether to wait for message to arrive to this input or not
-
bool getWaitForMessage() const
Get behavior whether to wait for this input when a Node processes certain data or not
- Returns:
Whether to wait for message to arrive to this input or not
-
void setReusePreviousMessage(bool reusePreviousMessage)
Equivalent to setWaitForMessage but with inverted logic.
-
bool getReusePreviousMessage() const
Equivalent to getWaitForMessage but with inverted logic.
Public Members
-
std::string group = ""
-
std::string name
-
bool defaultBlocking = {true}
-
int defaultQueueSize = {8}
-
tl::optional<bool> blocking
-
tl::optional<int> queueSize
-
tl::optional<bool> waitForMessage
-
bool defaultWaitForMessage = {false}
-
std::vector<DatatypeHierarchy> possibleDatatypes
Friends
- friend class Output
-
inline Input(Node &par, std::string n, Type t, std::vector<DatatypeHierarchy> types)
-
class InputMap : public std::unordered_map<std::string, Input>
Input map which keeps track of inputs assigned to a node Extends std::unordered_map<std::string, dai::Node::Input>
Public Functions
Public Members
-
std::string name
-
std::string name
-
class Output
-
Public Functions
-
inline Output(Node &par, std::string n, Type t, std::vector<DatatypeHierarchy> types)
-
inline Output(Node &par, std::string group, std::string n, Type t, std::vector<DatatypeHierarchy> types)
-
bool isSamePipeline(const Input &in)
Check if this output and given input are on the same pipeline.
See also
canConnect for checking if connection is possible
- Returns:
True if output and input are on the same pipeline
-
bool canConnect(const Input &in)
Check if connection is possible
- Parameters:
in – Input to connect to
- Returns:
True if connection is possible, false otherwise
-
std::vector<Connection> getConnections()
Retrieve all connections from this output
- Returns:
Vector of connections
-
inline Output(Node &par, std::string n, Type t, std::vector<DatatypeHierarchy> types)
-
virtual const char *getName() const = 0