Table of Contents

Class OutputFrameJoin

Namespace
easyar

Output frame merger. Used to merge output frames from multiple components into a single output frame. All members of this class are thread-safe. Note that connecting and disconnecting multiple inputs should not be done while data is flowing in, otherwise it may enter a state where it cannot output. (It is recommended to complete data stream connections before starting the Camera.)

OutputFrameJoin

Methods

input

Input port.

void easyar_OutputFrameJoin_input(easyar_OutputFrameJoin * This, int index, easyar_OutputFrameSink * * Return)
std::shared_ptr<OutputFrameSink> input(int index)
public @Nonnull OutputFrameSink input(int index)
fun input(index: Int): OutputFrameSink
- (easyar_OutputFrameSink *)input:(int)index
public func input(_ index: Int32) -> OutputFrameSink
public virtual OutputFrameSink input(int index)

Parameters

index Int32

Returns

OutputFrameSink

output

Output port.

void easyar_OutputFrameJoin_output(easyar_OutputFrameJoin * This, easyar_OutputFrameSource * * Return)
std::shared_ptr<OutputFrameSource> output()
public @Nonnull OutputFrameSource output()
fun output(): OutputFrameSource
- (easyar_OutputFrameSource *)output
public func output() -> OutputFrameSource
public virtual OutputFrameSource output()

Returns

OutputFrameSource

inputCount

Number of inputs.

int easyar_OutputFrameJoin_inputCount(easyar_OutputFrameJoin * This)
int inputCount()
public int inputCount()
fun inputCount(): Int
- (int)inputCount
public func inputCount() -> Int32
public virtual int inputCount()

Returns

Int32

create

Create. Use the default merger function. Its implementation takes the input frame from the first input, and takes the first result from each input. For each input, if there is no result, it takes an empty result. The first result from each input will be placed at the corresponding input index in the results of the final output frame.

void easyar_OutputFrameJoin_create(int inputCount, easyar_OutputFrameJoin * * Return)
static std::shared_ptr<OutputFrameJoin> create(int inputCount)
public static @Nonnull OutputFrameJoin create(int inputCount)
companion object fun create(inputCount: Int): OutputFrameJoin
+ (easyar_OutputFrameJoin *)create:(int)inputCount
public static func create(_ inputCount: Int32) -> OutputFrameJoin
public static OutputFrameJoin create(int inputCount)

Parameters

inputCount Int32

Returns

OutputFrameJoin

createWithJoiner

Create. Use a custom merger function.

void easyar_OutputFrameJoin_createWithJoiner(int inputCount, easyar_FunctorOfOutputFrameFromListOfOutputFrame joiner, easyar_OutputFrameJoin * * Return)
static std::shared_ptr<OutputFrameJoin> createWithJoiner(int inputCount, std::function<std::shared_ptr<OutputFrame>(std::vector<std::shared_ptr<OutputFrame>>)> joiner)
public static @Nonnull OutputFrameJoin createWithJoiner(int inputCount, @Nonnull FunctorOfOutputFrameFromListOfOutputFrame joiner)
companion object fun createWithJoiner(inputCount: Int, joiner: FunctorOfOutputFrameFromListOfOutputFrame): OutputFrameJoin
+ (easyar_OutputFrameJoin *)createWithJoiner:(int)inputCount joiner:(easyar_OutputFrame * (^)(NSArray<easyar_OutputFrame *> *))joiner
public static func createWithJoiner(_ inputCount: Int32, _ joiner: @escaping ([OutputFrame]) -> OutputFrame) -> OutputFrameJoin
public static OutputFrameJoin createWithJoiner(int inputCount, Func<List<OutputFrame>, OutputFrame> joiner)

Parameters

inputCount Int32
joiner Func<List<OutputFrame>,>

Returns

OutputFrameJoin