/// Camera transform matrix against world coordinate system. Camera coordinate system and world coordinate system are all right-handed. For the camera coordinate system, the origin is the optical center, x-right, y-up, and z in the direction of light going into camera. (The right and up, on mobile devices, is the right and up when the device is in the natural orientation.) The data arrangement is row-major, not like OpenGL's column-major.
voideasyar_InputFrame_create(easyar_Image*image,easyar_CameraParameters*cameraParameters,doubletimestamp,easyar_Matrix44FcameraTransform,easyar_MotionTrackingStatustrackingStatus,/* OUT */easyar_InputFrame**Return);
/// <summary>
/// Creates an instance with image, camera parameters, and timestamp.
/// </summary>
voideasyar_InputFrame_createWithImageAndCameraParametersAndTemporal(easyar_Image*image,easyar_CameraParameters*cameraParameters,doubletimestamp,/* OUT */easyar_InputFrame**Return);
/// <summary>
/// Creates an instance with image and camera parameters.
/// </summary>
voideasyar_InputFrame_createWithImageAndCameraParameters(easyar_Image*image,easyar_CameraParameters*cameraParameters,/* OUT */easyar_InputFrame**Return);
/// <summary>
/// Creates an instance with image.
/// </summary>
voideasyar_InputFrame_createWithImage(easyar_Image*image,/* OUT */easyar_InputFrame**Return);
voideasyar_ListOfOptionalOfFrameFilterResult__ctor(easyar_OptionalOfFrameFilterResultconst*begin,easyar_OptionalOfFrameFilterResultconst*end,/* OUT */easyar_ListOfOptionalOfFrameFilterResult**Return);
voideasyar_ListOfOptionalOfFrameFilterResult_copy(consteasyar_ListOfOptionalOfFrameFilterResult*This,/* OUT */easyar_ListOfOptionalOfFrameFilterResult**Return);
/// It includes image, camera parameters, timestamp, camera transform matrix against world coordinate system, and tracking status,
/// among which, camera parameters, timestamp, camera transform matrix and tracking status are all optional, but specific algorithms may have special requirements on the input.
/// Index, an automatic incremental value, which is different for every input frame.
/// </summary>
intindex();
/// <summary>
/// Gets image.
/// </summary>
voidimage(/* OUT */Image**Return);
/// <summary>
/// Checks if there are camera parameters.
/// </summary>
boolhasCameraParameters();
/// <summary>
/// Gets camera parameters.
/// </summary>
voidcameraParameters(/* OUT */CameraParameters**Return);
/// <summary>
/// Checks if there is temporal information (timestamp).
/// </summary>
boolhasTemporalInformation();
/// <summary>
/// Timestamp. In seconds.
/// </summary>
doubletimestamp();
/// <summary>
/// Checks if there is spatial information (cameraTransform and trackingStatus).
/// </summary>
boolhasSpatialInformation();
/// <summary>
/// Camera transform matrix against world coordinate system. Camera coordinate system and world coordinate system are all right-handed. For the camera coordinate system, the origin is the optical center, x-right, y-up, and z in the direction of light going into camera. (The right and up, on mobile devices, is the right and up when the device is in the natural orientation.) The data arrangement is row-major, not like OpenGL's column-major.
staticvoidcreate(Image*image,CameraParameters*cameraParameters,doubletimestamp,Matrix44FcameraTransform,MotionTrackingStatustrackingStatus,/* OUT */InputFrame**Return);
/// <summary>
/// Creates an instance with image, camera parameters, and timestamp.
/// </summary>
staticvoidcreateWithImageAndCameraParametersAndTemporal(Image*image,CameraParameters*cameraParameters,doubletimestamp,/* OUT */InputFrame**Return);
/// <summary>
/// Creates an instance with image and camera parameters.
/// </summary>
staticvoidcreateWithImageAndCameraParameters(Image*image,CameraParameters*cameraParameters,/* OUT */InputFrame**Return);
/// <summary>
/// Creates an instance with image.
/// </summary>
staticvoidcreateWithImage(Image*image,/* OUT */InputFrame**Return);
};
/// <summary>
/// FrameFilterResult is the base class for result classes of all synchronous algorithm components.
/// It includes image, camera parameters, timestamp, camera transform matrix against world coordinate system, and tracking status,
/// among which, camera parameters, timestamp, camera transform matrix and tracking status are all optional, but specific algorithms may have special requirements on the input.
/// </summary>
@interfaceeasyar_InputFrame:easyar_RefBase
+(instancetype)newNS_UNAVAILABLE;
-(instancetype)initNS_UNAVAILABLE;
/// <summary>
/// Index, an automatic incremental value, which is different for every input frame.
/// </summary>
-(int)index;
/// <summary>
/// Gets image.
/// </summary>
-(easyar_Image*)image;
/// <summary>
/// Checks if there are camera parameters.
/// </summary>
-(bool)hasCameraParameters;
/// <summary>
/// Gets camera parameters.
/// </summary>
-(easyar_CameraParameters*)cameraParameters;
/// <summary>
/// Checks if there is temporal information (timestamp).
/// </summary>
-(bool)hasTemporalInformation;
/// <summary>
/// Timestamp. In seconds.
/// </summary>
-(double)timestamp;
/// <summary>
/// Checks if there is spatial information (cameraTransform and trackingStatus).
/// </summary>
-(bool)hasSpatialInformation;
/// <summary>
/// Camera transform matrix against world coordinate system. Camera coordinate system and world coordinate system are all right-handed. For the camera coordinate system, the origin is the optical center, x-right, y-up, and z in the direction of light going into camera. (The right and up, on mobile devices, is the right and up when the device is in the natural orientation.) The data arrangement is row-major, not like OpenGL's column-major.
voideasyar_InputFrameRecorder_output(easyar_InputFrameRecorder*This,/* OUT */easyar_InputFrameSource**Return);
/// <summary>
/// Creates an instance.
/// </summary>
voideasyar_InputFrameRecorder_create(/* OUT */easyar_InputFrameRecorder**Return);
/// <summary>
/// Starts frame recording. initialScreenRotation is the initial screen rotation when recording data, and it will be used in rendering for playback. The definition of screen rotation is the same as in `CameraParameters`_ .
/// There is an input frame input port and an input frame output port. It can be used to record input frames into an EIF file. Refer to `Overview <Overview.html>`__ .
staticvoidcreate(/* OUT */InputFrameRecorder**Return);
/// <summary>
/// Starts frame recording. initialScreenRotation is the initial screen rotation when recording data, and it will be used in rendering for playback. The definition of screen rotation is the same as in `CameraParameters`_ .
/// There is an input frame input port and an input frame output port. It can be used to record input frames into an EIF file. Refer to `Overview <Overview.html>`__ .
/// Starts frame recording. initialScreenRotation is the initial screen rotation when recording data, and it will be used in rendering for playback. The definition of screen rotation is the same as in `CameraParameters`_ .
voideasyar_Image__ctor(easyar_Buffer*buffer,easyar_PixelFormatformat,intwidth,intheight,/* OUT */easyar_Image**Return);
/// <summary>
/// Returns buffer inside image. It can be used to access internal data of image. The content of `Buffer`_ shall not be modified, as they may be accessed from other threads.
/// </summary>
voideasyar_Image_buffer(consteasyar_Image*This,/* OUT */easyar_Buffer**Return);
/// Returns buffer inside image. It can be used to access internal data of image. The content of `Buffer`_ shall not be modified, as they may be accessed from other threads.
/// Returns buffer inside image. It can be used to access internal data of image. The content of `Buffer`_ shall not be modified, as they may be accessed from other threads.