Table of Contents

Class OutputFrameJoin

Namespace
easyar

Output Frame Merger. Used to merge the output frames of multiple components into a single output frame. All members of this class are thread-safe. Note that the connection and disconnection of its multiple inputs should not be performed while data is flowing in, otherwise it may get stuck in a state where it cannot output. (It is recommended to complete the data flow connection before the Camera starts.)

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 merging function, whose implementation is to take the input frame of the first input and take the first result of each input. For each input, if there is no result, take an empty result. The first result of 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 merging 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