Discover Learn Reference Get OpenPLX Search Contact

Sensors/Signals

CameraDepthOutput

CameraDepthOutput is Physics.Signals.Output:
    .doc: """
    An uncompressed camera depth output.
    A depth unit value can be set to scale the depth readings from the SI unit of one meter per
    unit value to any other distance per unit value. This value is set to the distance in meter that
    one output unit depth corresponds to.
    The output can optionally be specified as an image-by-image video stream if the framerate is set
    to a value greater than zero.
    """
    type: 0
    horizontal_resolution is Int
    vertical_resolution is Int
    depth_unit is Real: 1.0
    channel_type is Int: CameraOutputChannelType.U16
    optional framerate is Real

    capture is CameraCaptureInput:
        source: this

    source is CameraLogic reference
    marshalling: marshalling_from_type(channel_type)

    static fn marshalling_from_type(channel_type: Int) -> Physics.Signals.Marshalling

    # C++ extensions
    .extend_public: "std::vector readChannelValuesU8(const std::shared_ptr& signal) const;"
    .extend_public: "std::vector readChannelValuesI8(const std::shared_ptr& signal) const;"
    .extend_public: "std::vector readChannelValuesU16(const std::shared_ptr& signal) const;"
    .extend_public: "std::vector readChannelValuesI16(const std::shared_ptr& signal) const;"
    .extend_public: "std::vector readChannelValuesU32(const std::shared_ptr& signal) const;"
    .extend_public: "std::vector readChannelValuesI32(const std::shared_ptr& signal) const;"
    .extend_public: "std::vector readChannelValuesF32(const std::shared_ptr& signal) const;"
    .extend_public: "std::vector readChannelValuesU64(const std::shared_ptr& signal) const;"
    .extend_public: "std::vector readChannelValuesI64(const std::shared_ptr& signal) const;"
    .extend_public: "std::vector readChannelValuesF64(const std::shared_ptr& signal) const;"

    .extend_public: "std::shared_ptr createSignal(const std::vector& channelValues) const;"
    .extend_public: "std::shared_ptr createSignal(const std::vector& channelValues) const;"
    .extend_public: "std::shared_ptr createSignal(const std::vector& channelValues) const;"
    .extend_public: "std::shared_ptr createSignal(const std::vector& channelValues) const;"
    .extend_public: "std::shared_ptr createSignal(const std::vector& channelValues) const;"
    .extend_public: "std::shared_ptr createSignal(const std::vector& channelValues) const;"
    .extend_public: "std::shared_ptr createSignal(const std::vector& channelValues) const;"
    .extend_public: "std::shared_ptr createSignal(const std::vector& channelValues) const;"
    .extend_public: "std::shared_ptr createSignal(const std::vector& channelValues) const;"
    .extend_public: "std::shared_ptr createSignal(const std::vector& channelValues) const;"

OpenPLX is a work in progress. This draft version will evolve with user feedback and experience. We welcome your input and collaboration.
X