Program Listing for File Cast.hpp

Return to documentation for file (include/depthai/pipeline/node/Cast.hpp)

#pragma once

#include <depthai/pipeline/Node.hpp>

// shared
#include <depthai-shared/properties/CastProperties.hpp>

namespace dai {
namespace node {

class Cast : public NodeCRTP<Node, Cast, CastProperties> {
   public:
    constexpr static const char* NAME = "Cast";

    Cast(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId);
    Cast(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId, std::unique_ptr<Properties> props);

    Input input{*this, "input", Input::Type::SReceiver, false, 4, true, {{DatatypeEnum::ImgFrame, false}, {DatatypeEnum::NNData, false}}};

    Output output{*this, "output", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}};

    Output passthroughInput{*this, "passthroughInput", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}, {DatatypeEnum::NNData, false}}};

    Cast& setNumFramesPool(int numFramesPool);

    Cast& setOutputFrameType(dai::RawImgFrame::Type outputType);

    Cast& setScale(float scale);

    Cast& setOffset(float offset);
};

}  // namespace node
}  // namespace dai