Discover Learn Reference Get OpenPLX Search Contact

Sensors/Signals

CameraColorOutput

CameraColorOutput is Physics.Signals.Output:
    .doc: """
    An uncompressed camera color output. Each element of the output is specified using the given
    output remapping matrix, and gamma correction (after remapping) can optionally be enabled by
    setting the gamma value.
    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
    channel_type is Int: CameraOutputChannelType.U8
    matrix is CameraColorOutputMatrix: CameraColorOutputMatrices.RGB_OUTPUT
    optional gamma is Real
    optional framerate is Real

    capture is CameraCaptureInput:
        source: this

    source is CameraLogic reference
    marshalling: marshalling_from_type_and_matrix(channel_type, matrix)

    static fn marshalling_from_type_and_matrix(channel_type: Int, matrix: CameraColorOutputMatrix) -> 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