org.artoolkitx.arx.arxj

## Class ARX_jni

- java.lang.Object
- - org.artoolkitx.arx.arxj.ARX_jni

-     public class ARX_jni
      extends java.lang.Object

  The ARX_jni class contains the JNI function signatures for native artoolkitX functions. These functions should be accessed via the `ARController` class rather than called directly.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `AR_IMAGE_PROC_FIELD_IMAGE`
    `static int` | `AR_IMAGE_PROC_FRAME_IMAGE`
    `static int` | `AR_LABELING_BLACK_REGION`
    `static int` | `AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE`
    `static int` | `AR_LABELING_THRESH_MODE_AUTO_BRACKETING`
    `static int` | `AR_LABELING_THRESH_MODE_AUTO_MEDIAN`
    `static int` | `AR_LABELING_THRESH_MODE_AUTO_OTSU`
    `static int` | `AR_LABELING_THRESH_MODE_MANUAL`
    `static int` | `AR_LABELING_WHITE_REGION`
    `static int` | `AR_LOG_LEVEL_DEBUG`
    `static int` | `AR_LOG_LEVEL_ERROR`
    `static int` | `AR_LOG_LEVEL_INFO`
    `static int` | `AR_LOG_LEVEL_REL_INFO`
    `static int` | `AR_LOG_LEVEL_WARN`
    `static int` | `AR_MATRIX_CODE_3x3`
    `static int` | `AR_MATRIX_CODE_3x3_HAMMING63`
    `static int` | `AR_MATRIX_CODE_3x3_PARITY65`
    `static int` | `AR_MATRIX_CODE_4x4`
    `static int` | `AR_MATRIX_CODE_4x4_BCH_13_5_5`
    `static int` | `AR_MATRIX_CODE_4x4_BCH_13_9_3`
    `static int` | `AR_MATRIX_CODE_5x5`
    `static int` | `AR_MATRIX_CODE_5x5_BCH_22_12_5`
    `static int` | `AR_MATRIX_CODE_5x5_BCH_22_7_7`
    `static int` | `AR_MATRIX_CODE_6x6`
    `static int` | `AR_MATRIX_CODE_DETECTION`
    `static int` | `AR_MATRIX_CODE_GLOBAL_ID`
    `static int` | `AR_PIXEL_FORMAT_2vuy`
    `static int` | `AR_PIXEL_FORMAT_420f`
    `static int` | `AR_PIXEL_FORMAT_420v`
    `static int` | `AR_PIXEL_FORMAT_ABGR`
    `static int` | `AR_PIXEL_FORMAT_ARGB`
    `static int` | `AR_PIXEL_FORMAT_BGR`
    `static int` | `AR_PIXEL_FORMAT_BGRA`
    `static int` | `AR_PIXEL_FORMAT_INVALID`
    `static int` | `AR_PIXEL_FORMAT_MONO`
    `static int` | `AR_PIXEL_FORMAT_NV21`
    `static int` | `AR_PIXEL_FORMAT_RGB`
    `static int` | `AR_PIXEL_FORMAT_RGB_565`
    `static int` | `AR_PIXEL_FORMAT_RGBA`
    `static int` | `AR_PIXEL_FORMAT_RGBA_4444`
    `static int` | `AR_PIXEL_FORMAT_RGBA_5551`
    `static int` | `AR_PIXEL_FORMAT_yuvs`
    `static int` | `AR_TEMPLATE_MATCHING_COLOR`
    `static int` | `AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX`
    `static int` | `AR_TEMPLATE_MATCHING_MONO`
    `static int` | `AR_TEMPLATE_MATCHING_MONO_AND_MATRIX`
    `static int` | `ARW_H_ALIGN_CENTRE` Specifies desired horizontal alignment of video frames in drawing graphics context.
    `static int` | `ARW_H_ALIGN_LEFT` Specifies desired horizontal alignment of video frames in drawing graphics context.
    `static int` | `ARW_H_ALIGN_RIGHT` Specifies desired horizontal alignment of video frames in drawing graphics context.
    `static int` | `ARW_SCALE_MODE_1_TO_1` Specifies desired scaling of video frames to drawing graphics context.
    `static int` | `ARW_SCALE_MODE_FILL` Specifies desired scaling of video frames to drawing graphics context.
    `static int` | `ARW_SCALE_MODE_FIT` Specifies desired scaling of video frames to drawing graphics context.
    `static int` | `ARW_SCALE_MODE_STRETCH` Specifies desired scaling of video frames to drawing graphics context.
    `static int` | `ARW_TRACKABLE_OPTION_FILTER_CUTOFF_FREQ`
    `static int` | `ARW_TRACKABLE_OPTION_FILTER_SAMPLE_RATE`
    `static int` | `ARW_TRACKABLE_OPTION_FILTERED`
    `static int` | `ARW_TRACKABLE_OPTION_MULTI_MIN_CONF_MATRIX`
    `static int` | `ARW_TRACKABLE_OPTION_MULTI_MIN_CONF_PATTERN`
    `static int` | `ARW_TRACKABLE_OPTION_MULTI_MIN_SUBMARKERS`
    `static int` | `ARW_TRACKABLE_OPTION_NFT_SCALE`
    `static int` | `ARW_TRACKABLE_OPTION_SQUARE_CONFIDENCE`
    `static int` | `ARW_TRACKABLE_OPTION_SQUARE_CONFIDENCE_CUTOFF`
    `static int` | `ARW_TRACKABLE_OPTION_SQUARE_USE_CONT_POSE_ESTIMATION`
    `static int` | `ARW_TRACKER_OPTION_NFT_MULTIMODE`
    `static int` | `ARW_TRACKER_OPTION_SQUARE_BORDER_SIZE`
    `static int` | `ARW_TRACKER_OPTION_SQUARE_DEBUG_MODE`
    `static int` | `ARW_TRACKER_OPTION_SQUARE_IMAGE_PROC_MODE`
    `static int` | `ARW_TRACKER_OPTION_SQUARE_LABELING_MODE`
    `static int` | `ARW_TRACKER_OPTION_SQUARE_MATRIX_CODE_TYPE`
    `static int` | `ARW_TRACKER_OPTION_SQUARE_PATTERN_COUNT_MAX`
    `static int` | `ARW_TRACKER_OPTION_SQUARE_PATTERN_DETECTION_MODE`
    `static int` | `ARW_TRACKER_OPTION_SQUARE_PATTERN_SIZE`
    `static int` | `ARW_TRACKER_OPTION_SQUARE_THRESHOLD`
    `static int` | `ARW_TRACKER_OPTION_SQUARE_THRESHOLD_MODE`
    `static int` | `ARW_V_ALIGN_BOTTOM` Specifies desired vertical alignment of video frames in drawing graphics context.
    `static int` | `ARW_V_ALIGN_CENTRE` Specifies desired vertical alignment of video frames in drawing graphics context.
    `static int` | `ARW_V_ALIGN_TOP` Specifies desired vertical alignment of video frames in drawing graphics context.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ARX_jni()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static int` | `arwAddTrackable(java.lang.String cfg)` Adds a marker to be detected.
    `static boolean` | `arwCapture()` Checks if a new video frame is available.
    `static boolean` | `arwChangeToResourcesDir(java.lang.String resourcesDirectoryPath)` Changes the working directory to the resources directory used by artoolkitX.
    `static boolean` | `arwDrawVideo(int videoSourceIndex)` Draws the latest frame from the video source in the active graphics context.
    `static boolean` | `arwDrawVideoFinal(int videoSourceIndex)` Finalise drawing of video frames in a graphics context.
    `static boolean` | `arwDrawVideoInit(int videoSourceIndex)` Initialise drawing of video frames in a graphics context.
    `static boolean` | `arwDrawVideoSettings(int videoSourceIndex, int width, int height, boolean rotate90, boolean flipH, boolean flipV, int hAlign, int vAlign, int scalingMode, int[] viewport)` Specify the layout of the graphics context in which drawing of video frames will occur.
    `static java.lang.String` | `arwGetARToolKitVersion()` Gets the version of the underlying artoolkitX library.
    `static float[]` | `arwGetProjectionMatrix(float nearPlane, float farPlane)` Retrieves the artoolkitX projection matrix.
    `static boolean` | `arwGetProjectionMatrixStereo(float nearPlane, float farPlane, float[] projL, float[] projR)` Retrieves the artoolkitX projection matrix for the cameras of a stereo camera pair.
    `static boolean` | `arwGetTrackableOptionBool(int trackableUID, int option)`
    `static float` | `arwGetTrackableOptionFloat(int trackableUID, int option)`
    `static int` | `arwGetTrackableOptionInt(int trackableUID, int option)`
    `static boolean` | `arwGetTrackerOptionBool(int option)`
    `static float` | `arwGetTrackerOptionFloat(int option)`
    `static int` | `arwGetTrackerOptionInt(int option)`
    `static boolean` | `arwGetVideoParams(int[] width, int[] height, int[] pixelSize, java.lang.String[] pixelFormatStringBuffer)` Returns the parameters of the video source frame.
    `static boolean` | `arwGetVideoParamsStereo(int[] widthL, int[] heightL, int[] pixelSizeL, java.lang.String[] pixelFormatStringL, int[] widthR, int[] heightR, int[] pixelSizeR, java.lang.String[] pixelFormatStringR)` Returns the parameters of the video source frames.
    `static boolean` | `arwInitialiseAR()` Initialises the basic artoolkitX functions.
    `static boolean` | `arwIsInited()` Queries whether artoolkitX is initialized.
    `static boolean` | `arwIsRunning()` Queries whether tracking is up and running.
    `static boolean` | `arwQueryTrackableVisibilityAndTransformation(int trackableUID, float[] matrix)` Returns the visibility and pose of the specified marker.
    `static boolean` | `arwQueryTrackableVisibilityAndTransformationStereo(int trackableUID, float[] matrixL, float[] matrixR)` Returns the visibility and stereo pose of the specified marker.
    `static int` | `arwRemoveAllTrackables()` Removes all loaded markers.
    `static boolean` | `arwRemoveTrackable(int trackableUID)` Removes the specified marker.
    `static void` | `arwSetLogLevel(int logLevel)` Sets the severity level.
    `static void` | `arwSetTrackableOptionBool(int trackableUID, int option, boolean value)`
    `static void` | `arwSetTrackableOptionFloat(int trackableUID, int option, float value)`
    `static void` | `arwSetTrackableOptionInt(int trackableUID, int option, int value)`
    `static void` | `arwSetTrackerOptionBool(int option, boolean value)`
    `static void` | `arwSetTrackerOptionFloat(int option, float value)`
    `static void` | `arwSetTrackerOptionInt(int option, int value)`
    `static boolean` | `arwShutdownAR()` Shuts down the basic artoolkitX functions.
    `static boolean` | `arwStartRunning(java.lang.String vconf, java.lang.String cparaName)` Initialises video capture.
    `static boolean` | `arwStartRunningStereo(java.lang.String vconfL, java.lang.String cparaNameL, java.lang.String vconfR, java.lang.String cparaNameR, java.lang.String transL2RName)` Initialises stereo video capture.
    `static boolean` | `arwStopRunning()` Stops tracking and closes the video source.
    `static boolean` | `arwUpdateAR()` Performs an update, runs tracking if in the running state.
    `static boolean` | `arwUpdateTexture32(byte[] image)`
    `static boolean` | `arwUpdateTextureStereo32(byte[] imageL, byte[] imageR)`
    `static int` | `arwVideoPush(int videoSourceIndex, java.nio.ByteBuffer buf0, int buf0PixelStride, int buf0RowStride, java.nio.ByteBuffer buf1, int buf1PixelStride, int buf1RowStride, java.nio.ByteBuffer buf2, int buf2PixelStride, int buf2RowStride, java.nio.ByteBuffer buf3, int buf3PixelStride, int buf3RowStride)` Pushes a video frame to the native library.
    `static int` | `arwVideoPushFinal(int videoSourceIndex)` Tells the native library that no further frames will be pushed.
    `static int` | `arwVideoPushInit(int videoSourceIndex, int width, int height, java.lang.String pixelFormat, int camera_index, int camera_face)` Tells the native library the source and size and format in which video frames will be pushed.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### AR_LOG_LEVEL_DEBUG

          public static final int AR_LOG_LEVEL_DEBUG

      See Also:
        Constant Field Values

    - #### AR_LOG_LEVEL_INFO

          public static final int AR_LOG_LEVEL_INFO

      See Also:
        Constant Field Values

    - #### AR_LOG_LEVEL_WARN

          public static final int AR_LOG_LEVEL_WARN

      See Also:
        Constant Field Values

    - #### AR_LOG_LEVEL_ERROR

          public static final int AR_LOG_LEVEL_ERROR

      See Also:
        Constant Field Values

    - #### AR_LOG_LEVEL_REL_INFO

          public static final int AR_LOG_LEVEL_REL_INFO

      See Also:
        Constant Field Values

    - #### ARW_H_ALIGN_LEFT

          public static final int ARW_H_ALIGN_LEFT

      Specifies desired horizontal alignment of video frames in drawing graphics context.
      See Also:
        Constant Field Values

    - #### ARW_H_ALIGN_CENTRE

          public static final int ARW_H_ALIGN_CENTRE

      Specifies desired horizontal alignment of video frames in drawing graphics context.
      See Also:
        Constant Field Values

    - #### ARW_H_ALIGN_RIGHT

          public static final int ARW_H_ALIGN_RIGHT

      Specifies desired horizontal alignment of video frames in drawing graphics context.
      See Also:
        Constant Field Values

    - #### ARW_V_ALIGN_TOP

          public static final int ARW_V_ALIGN_TOP

      Specifies desired vertical alignment of video frames in drawing graphics context.
      See Also:
        Constant Field Values

    - #### ARW_V_ALIGN_CENTRE

          public static final int ARW_V_ALIGN_CENTRE

      Specifies desired vertical alignment of video frames in drawing graphics context.
      See Also:
        Constant Field Values

    - #### ARW_V_ALIGN_BOTTOM

          public static final int ARW_V_ALIGN_BOTTOM

      Specifies desired vertical alignment of video frames in drawing graphics context.
      See Also:
        Constant Field Values

    - #### ARW_SCALE_MODE_FIT

          public static final int ARW_SCALE_MODE_FIT

      Specifies desired scaling of video frames to drawing graphics context.
      See Also:
        Constant Field Values

    - #### ARW_SCALE_MODE_FILL

          public static final int ARW_SCALE_MODE_FILL

      Specifies desired scaling of video frames to drawing graphics context.
      See Also:
        Constant Field Values

    - #### ARW_SCALE_MODE_STRETCH

          public static final int ARW_SCALE_MODE_STRETCH

      Specifies desired scaling of video frames to drawing graphics context.
      See Also:
        Constant Field Values

    - #### ARW_SCALE_MODE_1_TO_1

          public static final int ARW_SCALE_MODE_1_TO_1

      Specifies desired scaling of video frames to drawing graphics context.
      See Also:
        Constant Field Values

    - #### ARW_TRACKER_OPTION_NFT_MULTIMODE

          public static final int ARW_TRACKER_OPTION_NFT_MULTIMODE

      See Also:
        Constant Field Values

    - #### ARW_TRACKER_OPTION_SQUARE_THRESHOLD

          public static final int ARW_TRACKER_OPTION_SQUARE_THRESHOLD

      See Also:
        Constant Field Values

    - #### ARW_TRACKER_OPTION_SQUARE_THRESHOLD_MODE

          public static final int ARW_TRACKER_OPTION_SQUARE_THRESHOLD_MODE

      See Also:
        Constant Field Values

    - #### ARW_TRACKER_OPTION_SQUARE_LABELING_MODE

          public static final int ARW_TRACKER_OPTION_SQUARE_LABELING_MODE

      See Also:
        Constant Field Values

    - #### ARW_TRACKER_OPTION_SQUARE_PATTERN_DETECTION_MODE

          public static final int ARW_TRACKER_OPTION_SQUARE_PATTERN_DETECTION_MODE

      See Also:
        Constant Field Values

    - #### ARW_TRACKER_OPTION_SQUARE_BORDER_SIZE

          public static final int ARW_TRACKER_OPTION_SQUARE_BORDER_SIZE

      See Also:
        Constant Field Values

    - #### ARW_TRACKER_OPTION_SQUARE_MATRIX_CODE_TYPE

          public static final int ARW_TRACKER_OPTION_SQUARE_MATRIX_CODE_TYPE

      See Also:
        Constant Field Values

    - #### ARW_TRACKER_OPTION_SQUARE_IMAGE_PROC_MODE

          public static final int ARW_TRACKER_OPTION_SQUARE_IMAGE_PROC_MODE

      See Also:
        Constant Field Values

    - #### ARW_TRACKER_OPTION_SQUARE_DEBUG_MODE

          public static final int ARW_TRACKER_OPTION_SQUARE_DEBUG_MODE

      See Also:
        Constant Field Values

    - #### ARW_TRACKER_OPTION_SQUARE_PATTERN_SIZE

          public static final int ARW_TRACKER_OPTION_SQUARE_PATTERN_SIZE

      See Also:
        Constant Field Values

    - #### ARW_TRACKER_OPTION_SQUARE_PATTERN_COUNT_MAX

          public static final int ARW_TRACKER_OPTION_SQUARE_PATTERN_COUNT_MAX

      See Also:
        Constant Field Values

    - #### AR_LABELING_THRESH_MODE_MANUAL

          public static final int AR_LABELING_THRESH_MODE_MANUAL

      See Also:
        Constant Field Values

    - #### AR_LABELING_THRESH_MODE_AUTO_MEDIAN

          public static final int AR_LABELING_THRESH_MODE_AUTO_MEDIAN

      See Also:
        Constant Field Values

    - #### AR_LABELING_THRESH_MODE_AUTO_OTSU

          public static final int AR_LABELING_THRESH_MODE_AUTO_OTSU

      See Also:
        Constant Field Values

    - #### AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE

          public static final int AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE

      See Also:
        Constant Field Values

    - #### AR_LABELING_THRESH_MODE_AUTO_BRACKETING

          public static final int AR_LABELING_THRESH_MODE_AUTO_BRACKETING

      See Also:
        Constant Field Values

    - #### AR_LABELING_WHITE_REGION

          public static final int AR_LABELING_WHITE_REGION

      See Also:
        Constant Field Values

    - #### AR_LABELING_BLACK_REGION

          public static final int AR_LABELING_BLACK_REGION

      See Also:
        Constant Field Values

    - #### AR_TEMPLATE_MATCHING_COLOR

          public static final int AR_TEMPLATE_MATCHING_COLOR

      See Also:
        Constant Field Values

    - #### AR_TEMPLATE_MATCHING_MONO

          public static final int AR_TEMPLATE_MATCHING_MONO

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_DETECTION

          public static final int AR_MATRIX_CODE_DETECTION

      See Also:
        Constant Field Values

    - #### AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX

          public static final int AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX

      See Also:
        Constant Field Values

    - #### AR_TEMPLATE_MATCHING_MONO_AND_MATRIX

          public static final int AR_TEMPLATE_MATCHING_MONO_AND_MATRIX

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_3x3

          public static final int AR_MATRIX_CODE_3x3

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_3x3_PARITY65

          public static final int AR_MATRIX_CODE_3x3_PARITY65

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_3x3_HAMMING63

          public static final int AR_MATRIX_CODE_3x3_HAMMING63

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_4x4

          public static final int AR_MATRIX_CODE_4x4

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_4x4_BCH_13_9_3

          public static final int AR_MATRIX_CODE_4x4_BCH_13_9_3

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_4x4_BCH_13_5_5

          public static final int AR_MATRIX_CODE_4x4_BCH_13_5_5

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_5x5_BCH_22_12_5

          public static final int AR_MATRIX_CODE_5x5_BCH_22_12_5

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_5x5_BCH_22_7_7

          public static final int AR_MATRIX_CODE_5x5_BCH_22_7_7

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_5x5

          public static final int AR_MATRIX_CODE_5x5

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_6x6

          public static final int AR_MATRIX_CODE_6x6

      See Also:
        Constant Field Values

    - #### AR_MATRIX_CODE_GLOBAL_ID

          public static final int AR_MATRIX_CODE_GLOBAL_ID

      See Also:
        Constant Field Values

    - #### AR_IMAGE_PROC_FRAME_IMAGE

          public static final int AR_IMAGE_PROC_FRAME_IMAGE

      See Also:
        Constant Field Values

    - #### AR_IMAGE_PROC_FIELD_IMAGE

          public static final int AR_IMAGE_PROC_FIELD_IMAGE

      See Also:
        Constant Field Values

    - #### ARW_TRACKABLE_OPTION_FILTERED

          public static final int ARW_TRACKABLE_OPTION_FILTERED

      See Also:
        Constant Field Values

    - #### ARW_TRACKABLE_OPTION_FILTER_SAMPLE_RATE

          public static final int ARW_TRACKABLE_OPTION_FILTER_SAMPLE_RATE

      See Also:
        Constant Field Values

    - #### ARW_TRACKABLE_OPTION_FILTER_CUTOFF_FREQ

          public static final int ARW_TRACKABLE_OPTION_FILTER_CUTOFF_FREQ

      See Also:
        Constant Field Values

    - #### ARW_TRACKABLE_OPTION_SQUARE_USE_CONT_POSE_ESTIMATION

          public static final int ARW_TRACKABLE_OPTION_SQUARE_USE_CONT_POSE_ESTIMATION

      See Also:
        Constant Field Values

    - #### ARW_TRACKABLE_OPTION_SQUARE_CONFIDENCE

          public static final int ARW_TRACKABLE_OPTION_SQUARE_CONFIDENCE

      See Also:
        Constant Field Values

    - #### ARW_TRACKABLE_OPTION_SQUARE_CONFIDENCE_CUTOFF

          public static final int ARW_TRACKABLE_OPTION_SQUARE_CONFIDENCE_CUTOFF

      See Also:
        Constant Field Values

    - #### ARW_TRACKABLE_OPTION_NFT_SCALE

          public static final int ARW_TRACKABLE_OPTION_NFT_SCALE

      See Also:
        Constant Field Values

    - #### ARW_TRACKABLE_OPTION_MULTI_MIN_SUBMARKERS

          public static final int ARW_TRACKABLE_OPTION_MULTI_MIN_SUBMARKERS

      See Also:
        Constant Field Values

    - #### ARW_TRACKABLE_OPTION_MULTI_MIN_CONF_MATRIX

          public static final int ARW_TRACKABLE_OPTION_MULTI_MIN_CONF_MATRIX

      See Also:
        Constant Field Values

    - #### ARW_TRACKABLE_OPTION_MULTI_MIN_CONF_PATTERN

          public static final int ARW_TRACKABLE_OPTION_MULTI_MIN_CONF_PATTERN

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_INVALID

          public static final int AR_PIXEL_FORMAT_INVALID

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_RGB

          public static final int AR_PIXEL_FORMAT_RGB

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_BGR

          public static final int AR_PIXEL_FORMAT_BGR

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_RGBA

          public static final int AR_PIXEL_FORMAT_RGBA

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_BGRA

          public static final int AR_PIXEL_FORMAT_BGRA

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_ABGR

          public static final int AR_PIXEL_FORMAT_ABGR

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_MONO

          public static final int AR_PIXEL_FORMAT_MONO

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_ARGB

          public static final int AR_PIXEL_FORMAT_ARGB

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_2vuy

          public static final int AR_PIXEL_FORMAT_2vuy

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_yuvs

          public static final int AR_PIXEL_FORMAT_yuvs

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_RGB_565

          public static final int AR_PIXEL_FORMAT_RGB_565

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_RGBA_5551

          public static final int AR_PIXEL_FORMAT_RGBA_5551

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_RGBA_4444

          public static final int AR_PIXEL_FORMAT_RGBA_4444

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_420v

          public static final int AR_PIXEL_FORMAT_420v

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_420f

          public static final int AR_PIXEL_FORMAT_420f

      See Also:
        Constant Field Values

    - #### AR_PIXEL_FORMAT_NV21

          public static final int AR_PIXEL_FORMAT_NV21

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ARX_jni

          public ARX_jni()

  - ### Method Detail

    - #### arwGetARToolKitVersion

          public static java.lang.String arwGetARToolKitVersion()

      Gets the version of the underlying artoolkitX library.
      Returns:
        artoolkitX version

    - #### arwSetLogLevel

          public static void arwSetLogLevel(int logLevel)

      Sets the severity level. Log messages below the set severity level are not logged. All calls to artoolkitX's logging facility include a "log level" parameter, which specifies the severity of the log message. (The severities are defined in %lt;ARX/AR/config.h>.) Setting this allows for filtering of log messages. All log messages lower than the set level will not be logged. Note that debug log messages created using the native ARLOGd() macro will be logged only in debug builds, irrespective of the log level.
      Parameters:
        `logLevel` - The log level below which log messages should be ignored.

    - #### arwInitialiseAR

          public static boolean arwInitialiseAR()

      Initialises the basic artoolkitX functions. After this function has been successfully called, markers can be added and removed, but marker detection is not yet running.
      Returns:
        true on success, false if an error occurred
      See Also:
        `#arwShutdownAR()}`

    - #### arwChangeToResourcesDir

          public static boolean arwChangeToResourcesDir(java.lang.String resourcesDirectoryPath)

      Changes the working directory to the resources directory used by artoolkitX. Normally, this would be called immediately after arwInitialiseAR()
      Returns:
        true if successful, false if an error occurred
      See Also:
        `#arwInitialiseAR()}`

    - #### arwStartRunning

          public static boolean arwStartRunning(java.lang.String vconf,
                                                java.lang.String cparaName)

      Initialises video capture. The native library will start to expect video frames.
      Parameters:
        `vconf` - The video configuration string. Can be left empty.
        `cparaName` - Either: null to search for camera parameters specific to the device, or a path (in the filesystem) to a camera parameter file. The path may be an absolute path, or relative to the resourcesDirectoryPath set with arwChangeToResourcesDir.
      Returns:
        true on success, false if an error occurred.

    - #### arwStartRunningStereo

          public static boolean arwStartRunningStereo(java.lang.String vconfL,
                                                      java.lang.String cparaNameL,
                                                      java.lang.String vconfR,
                                                      java.lang.String cparaNameR,
                                                      java.lang.String transL2RName)

      Initialises stereo video capture. The native library will start to expect video frames.
      Parameters:
        `vconfL` - The video configuration string for the left camera. Can be left empty.
        `cparaNameL` - The camera parameter file to load for the left camera.
        `vconfR` - The video configuration string for the right camera. Can be left empty.
        `cparaNameR` - The camera parameter file to load for the right camera.
        `transL2RName` - The stereo calibration file to load.
      Returns:
        true on success, false if an error occurred

    - #### arwIsInited

          public static boolean arwIsInited()

      Queries whether artoolkitX is initialized. This will be true after a call to `arwInitialiseAR()`. At this point `#arwStartRunning(String, String, float, float)` can be called.
      Returns:
        true artoolkitX has been initialized

    - #### arwIsRunning

          public static boolean arwIsRunning()

      Queries whether tracking is up and running. This will be true after a call to arwStartRunning, and frames are being sent through. At this point, marker visibility and transformations can be queried.
      Returns:
        true if tracking is running, false if not

    - #### arwStopRunning

          public static boolean arwStopRunning()

      Stops tracking and closes the video source.
      Returns:
        true on success, false if an error occurred

    - #### arwShutdownAR

          public static boolean arwShutdownAR()

      Shuts down the basic artoolkitX functions.
      Returns:
        true on success, false if an error occurred

    - #### arwGetProjectionMatrix

          public static float[] arwGetProjectionMatrix(float nearPlane,
                                                       float farPlane)

      Retrieves the artoolkitX projection matrix. The projection will not be available until arwIsRunning() is true.
      Parameters:
        `nearPlane` - The value to use for the near OpenGL clipping plane.
        `farPlane` - The value to use for the far OpenGL clipping plane.
      Returns:
        A float array containing the OpenGL compatible projection matrix, or null if an error occurred.

    - #### arwGetProjectionMatrixStereo

          public static boolean arwGetProjectionMatrixStereo(float nearPlane,
                                                             float farPlane,
                                                             float[] projL,
                                                             float[] projR)

      Retrieves the artoolkitX projection matrix for the cameras of a stereo camera pair. The projections will not be available until arwIsRunning() is true.
      Parameters:
        `nearPlane` - The value to use for the near OpenGL clipping plane.
        `farPlane` - The value to use for the far OpenGL clipping plane.
        `projL` - A float array, which will be filled with the OpenGL compatible projection matrix for the left camera.
        `projR` - An float array, which will be filled with the OpenGL compatible projection matrix for the right camera.
      Returns:
        true if the projections were successfully retrieved, or false if an error occurred.

    - #### arwGetVideoParams

          public static boolean arwGetVideoParams(int[] width,
                                                  int[] height,
                                                  int[] pixelSize,
                                                  java.lang.String[] pixelFormatStringBuffer)

      Returns the parameters of the video source frame.
      Usage example: int[] width = new int[1]; int[] height = new int[1]; int[] pixelSize = new int[1]; String[] pixelFormatString = new String[1]; boolean ok = ARX_jni.arwGetVideoParams(width, height, pixelSize, pixelFormatString);
      Parameters:
        `width` - An int array, the first element of which will be filled with the width (in pixels) of the video frame, or null if this information is not required.
        `height` - An int array, the first element of which will be filled with the height (in pixels) of the video frame, or null if this information is not required.
        `pixelSize` - An int array, the first element of which will be filled with the numbers of bytes per pixel of the source frame, or null if this information is not required.
        `pixelFormatStringBuffer` - A String array, the first element of which will be filled with the symbolic name of the pixel format of the video frame, or null if this information is not required. The name will be of the form "AR_PIXEL_FORMAT_xxx".
      Returns:
        True if the values were returned OK, false if there is currently no video source or an error int[] .
      See Also:
        `#arwGetVideoParamsStereo}`

    - #### arwGetVideoParamsStereo

          public static boolean arwGetVideoParamsStereo(int[] widthL,
                                                        int[] heightL,
                                                        int[] pixelSizeL,
                                                        java.lang.String[] pixelFormatStringL,
                                                        int[] widthR,
                                                        int[] heightR,
                                                        int[] pixelSizeR,
                                                        java.lang.String[] pixelFormatStringR)

      Returns the parameters of the video source frames.
      Usage example: int[] widthL = new int[1]; int[] heightL = new int[1]; int[] pixelSizeL = new int[1]; String[] pixelFormatStringL = new String[1]; int[] widthR = new int[1]; int[] heightR = new int[1]; int[] pixelSizeR = new int[1]; String[] pixelFormatStringR = new String[1]; boolean ok = ARX_jni.arwGetVideoParams(widthL, heightL, pixelSizeL, pixelFormatStringL, widthR, heightR, pixelSizeR, pixelFormatStringR);
      Parameters:
        `widthL` - An int array, the first element of which will be filled with the width (in pixels) of the video frame, or null if this information is not required.
        `widthR` - An int array, the first element of which will be filled with the width (in pixels) of the video frame, or null if this information is not required.
        `heightL` - An int array, the first element of which will be filled with the height (in pixels) of the video frame, or null if this information is not required.
        `heightR` - An int array, the first element of which will be filled with the height (in pixels) of the video frame, or null if this information is not required.
        `pixelSizeL` - An int array, the first element of which will be filled with the numbers of bytes per pixel of the source frame, or null if this information is not required.
        `pixelSizeR` - An int array, the first element of which will be filled with the numbers of bytes per pixel of the source frame, or null if this information is not required.
        `pixelFormatStringL` - A String array, the first element of which will be filled with the symbolic name of the pixel format of the video frame, or null if this information is not required. The name will be of the form "AR_PIXEL_FORMAT_xxx".
        `pixelFormatStringR` - A String array, the first element of which will be filled with the symbolic name of the pixel format of the video frame, or null if this information is not required. The name will be of the form "AR_PIXEL_FORMAT_xxx".
      Returns:
        True if the values were returned OK, false if there is currently no stereo video source or an error occurred.
      See Also:
        `#arwGetVideoParams(int[], int[], int[], String[])}`

    - #### arwCapture

          public static boolean arwCapture()

      Checks if a new video frame is available.
      Returns:
        true if a new frame is available.

    - #### arwUpdateAR

          public static boolean arwUpdateAR()

      Performs an update, runs tracking if in the running state.
      Returns:
        true if no error occurred, otherwise false

    - #### arwUpdateTexture32

          public static boolean arwUpdateTexture32(byte[] image)

    - #### arwUpdateTextureStereo32

          public static boolean arwUpdateTextureStereo32(byte[] imageL,
                                                         byte[] imageR)

    - #### arwDrawVideoInit

          public static boolean arwDrawVideoInit(int videoSourceIndex)

      Initialise drawing of video frames in a graphics context. If drawing of video frames into a graphics context is desired, this function must be called from the rendering thread to initialise graphics library structures for future drawing of video frames. This function must be called only with a valid graphics context active (typically from the rendering thread) and only when the function arwIsRunning() returns true. When drawing of video frames is no longer required, the function arwDrawVideoFinal must be called to clean up structures allocated by this call.
      Parameters:
        `videoSourceIndex` - The 0-based index of the video source which will supply frames for drawing. Normally 0, but for the second camera in a stereo pair, 1.
      Returns:
        true if successful, false if an error occurred.
      See Also:
        `#arwIsRunning()}`, `#arwDrawVideoFinal(int)}`

    - #### arwDrawVideoSettings

          public static boolean arwDrawVideoSettings(int videoSourceIndex,
                                                     int width,
                                                     int height,
                                                     boolean rotate90,
                                                     boolean flipH,
                                                     boolean flipV,
                                                     int hAlign,
                                                     int vAlign,
                                                     int scalingMode,
                                                     int[] viewport)

      Specify the layout of the graphics context in which drawing of video frames will occur. As the layout of the graphics context (e.g. size, orientation) may differ widely from the format of the video frames which are to be drawn, this function specifies the layout of the graphics context and the desired scaling and positioning of the video frames within this context. Optionally, a calculated OpenGL-style viewport can be returned to the caller. This function must only be called with a graphics context active (typically from the rendering thread) and only while arwIsRunning is true and only between calls to arwDrawVideoInit and arwDrawVideoFinal.
      Parameters:
        `videoSourceIndex` - The 0-based index of the video source which is supplying frames for drawing. Normally 0, but for the second camera in a stereo pair, 1.
        `width` - The width in pixels of the graphics context.
        `height` - The height in pixels of the graphics context.
        `rotate90` - If true, content should be rendered in the graphics context rotated 90-degrees.
        `flipH` - If true, content should be rendered in the graphics context mirrored (flipped) in the horizontal dimension.
        `flipV` - If true, content should be rendered in the graphics context mirrored (flipped) in the vertical dimension.
        `hAlign` - An enum ARW_H_ALIGN_* specifying the desired horizontal alignment of video frames in the graphics context. If unsure, pass ARW_H_ALIGN_CENTRE.
        `vAlign` - An enum ARW_V_ALIGN_* specifying the desired vertical alignment of video frames in the graphics context. If unsure, pass ARW_V_ALIGN_CENTRE.
        `scalingMode` - An enum ARW_SCALE_MODE_* specifying the desired scaling of the video frames to the graphics context. If unsure, pass ARW_SCALE_MODE_FIT.
        `viewport` - If non-null, must be an array of 4 32-bit signed integers, in which the calculated OpenGL-style viewport parameters will be returned. The order of the parameters is: x-coordinate of the left edge of the viewport (may be negative), the y-coordinate of the bottom edge of the viewport (may be negative), the width of the viewport in the x-axis in pixels, and the height of the viewport in the y-axis in pixels.
      Returns:
        true if successful, false if an error occurred.
      See Also:
        `#arwIsRunning}`, `#arwDrawVideoInit}`, `#arwDrawVideoFinal}`

    - #### arwDrawVideo

          public static boolean arwDrawVideo(int videoSourceIndex)

      Draws the latest frame from the video source in the active graphics context. This function performs actual drawing of the latest video frame. This function must only be called with a graphics context active (typically from the rendering thread) and only while arwIsRunning is true and only between calls to arwDrawVideoInit and arwDrawVideoFinal, and after at least one call to arwDrawVideoSettings.
      Parameters:
        `videoSourceIndex` - The 0-based index of the video source which is supplying frames for drawing.
      Returns:
        true if successful, false if an error occurred.
      See Also:
        `#arwIsRunning}`, `#arwDrawVideoInit}`, `#arwDrawVideoFinal}`, `#arwDrawVideoSettings}`

    - #### arwDrawVideoFinal

          public static boolean arwDrawVideoFinal(int videoSourceIndex)

      Finalise drawing of video frames in a graphics context. When drawing of video frames is no longer required, this function must be called to clean up structures allocated by the call to arwDrawVideoInit. This function must only be called with a graphics context active (typically from the rendering thread).
      Parameters:
        `videoSourceIndex` - The 0-based index of the video source which supplied frames for drawing.
      Returns:
        true if successful, false if an error occurred.
      See Also:
        `#arwDrawVideoInit(int)}`

    - #### arwAddTrackable

          public static int arwAddTrackable(java.lang.String cfg)

      Adds a marker to be detected.
      Parameters:
        `cfg` - Marker configuration string
      Returns:
        A unique identifier (UID) of the new marker, or -1 if the marker was not added due to an error.

    - #### arwRemoveTrackable

          public static boolean arwRemoveTrackable(int trackableUID)

      Removes the specified marker.
      Parameters:
        `trackableUID` - The unique identifier (UID) of the trackable to remove
      Returns:
        true if the marker was removed, otherwise false

    - #### arwRemoveAllTrackables

          public static int arwRemoveAllTrackables()

      Removes all loaded markers.
      Returns:
        The number of markers removed

    - #### arwQueryTrackableVisibilityAndTransformation

          public static boolean arwQueryTrackableVisibilityAndTransformation(int trackableUID,
                                                                             float[] matrix)

      Returns the visibility and pose of the specified marker.
      Parameters:
        `trackableUID` - The unique identifier (UID) of the trackable to check
        `matrix` - A float array to populate with an OpenGL-compatible transformation matrix.
      Returns:
        true if the marker is currently visible, otherwise false

    - #### arwQueryTrackableVisibilityAndTransformationStereo

          public static boolean arwQueryTrackableVisibilityAndTransformationStereo(int trackableUID,
                                                                                   float[] matrixL,
                                                                                   float[] matrixR)

      Returns the visibility and stereo pose of the specified marker.
      Parameters:
        `trackableUID` - The unique identifier (UID) of the trackable to check
        `matrixL` - A float array to populate with an OpenGL-compatible transformation matrix for the left camera.
        `matrixR` - A float array to populate with an OpenGL-compatible transformation matrix for the right camera.
      Returns:
        true if the marker is currently visible, otherwise false.

    - #### arwSetTrackerOptionBool

          public static void arwSetTrackerOptionBool(int option,
                                                     boolean value)

    - #### arwSetTrackerOptionInt

          public static void arwSetTrackerOptionInt(int option,
                                                    int value)

    - #### arwSetTrackerOptionFloat

          public static void arwSetTrackerOptionFloat(int option,
                                                      float value)

    - #### arwGetTrackerOptionBool

          public static boolean arwGetTrackerOptionBool(int option)

    - #### arwGetTrackerOptionInt

          public static int arwGetTrackerOptionInt(int option)

    - #### arwGetTrackerOptionFloat

          public static float arwGetTrackerOptionFloat(int option)

    - #### arwSetTrackableOptionBool

          public static void arwSetTrackableOptionBool(int trackableUID,
                                                       int option,
                                                       boolean value)

    - #### arwSetTrackableOptionInt

          public static void arwSetTrackableOptionInt(int trackableUID,
                                                      int option,
                                                      int value)

    - #### arwSetTrackableOptionFloat

          public static void arwSetTrackableOptionFloat(int trackableUID,
                                                        int option,
                                                        float value)

    - #### arwGetTrackableOptionBool

          public static boolean arwGetTrackableOptionBool(int trackableUID,
                                                          int option)

    - #### arwGetTrackableOptionInt

          public static int arwGetTrackableOptionInt(int trackableUID,
                                                     int option)

    - #### arwGetTrackableOptionFloat

          public static float arwGetTrackableOptionFloat(int trackableUID,
                                                         int option)

    - #### arwVideoPushInit

          public static int arwVideoPushInit(int videoSourceIndex,
                                             int width,
                                             int height,
                                             java.lang.String pixelFormat,
                                             int camera_index,
                                             int camera_face)

      Tells the native library the source and size and format in which video frames will be pushed. N.B.: Pushing of video from Java to native is no longer required since artoolkitX v1.1.10 introduced native video capture. This amended API was added in artoolkitX v1.2 to support tracking from external video sources. This call may only be made after a call to arwStartRunning or arwStartRunningStereo.
      Parameters:
        `videoSourceIndex` - Zero-based index of the video source which is being initialized for pushing. Normally 0, but for the second camera in a stereo pair, 1.
        `width` - Width of the video frame in pixels.
        `height` - Height of the video frame in pixels.
        `pixelFormat` - string with format in which buffers will be pushed. Supported values include "NV21", "NV12", "YUV_420_888", "RGBA", "RGB_565", and "MONO".
        `camera_index` - Zero-based index into the devices's list of cameras. If only one camera is present on the device, will be 0.
        `camera_face` - 0 if camera is rear-facing (the default) or 1 if camera is facing toward the user.
      Returns:
        0 if no error occurred, otherwise an error value less than 0.

    - #### arwVideoPush

          public static int arwVideoPush(int videoSourceIndex,
                                         java.nio.ByteBuffer buf0,
                                         int buf0PixelStride,
                                         int buf0RowStride,
                                         java.nio.ByteBuffer buf1,
                                         int buf1PixelStride,
                                         int buf1RowStride,
                                         java.nio.ByteBuffer buf2,
                                         int buf2PixelStride,
                                         int buf2RowStride,
                                         java.nio.ByteBuffer buf3,
                                         int buf3PixelStride,
                                         int buf3RowStride)

      Pushes a video frame to the native library. N.B.: Pushing of video from Java to native is no longer required since artoolkitX v1.1.10 introduced native video capture. This amended API was added in artoolkitX v1.2 to support tracking from external video sources. May only be made after calling arwVideoPushInit and may not be made after a call to arwVideoPushFinal.
      Parameters:
        `videoSourceIndex` - Zero-based index of the video source which is being pushed. Normally 0, but for the second camera in a stereo pair, 1.
        `buf0` - For interleaved formats (e.g. RGBA), reference to a byte buffer holding the frame data. For interleaved formats this will be the only plane. For planar formats, reference to a byte buffer holding plane 0 of the frame. For planar NV21 and YUV_420_888 formats, this will be the luma plane.
        `buf0PixelStride` - The number of bytes between pixels in adjacent columns in buf0
        `buf0RowStride` - The number of bytes between pixels in adjacent rows in buf0
        `buf1` - For planar formats consisting of 2 or more planes, reference to a byte buffer holding plane 1 of the frame. For planar NV21 image format, this will be the chroma plane. For planar YUV_420_888 format, this will be the Cb chroma plane.
        `buf1PixelStride` - The number of bytes between pixels in adjacent columns in buf1
        `buf1RowStride` - The number of bytes between pixels in adjacent rows in buf1
        `buf2` - For planar formats consisting 3 or more planes, reference to a byte buffer holding plane 2 of the frame. For planar YUV_420_888 format, this will be the Cr chroma plane.
        `buf2PixelStride` - The number of bytes between pixels in adjacent columns in buf2
        `buf2RowStride` - The number of bytes between pixels in adjacent rows in buf2
        `buf3` - For planar formats consisting of 4 planes, reference to a byte buffer holding plane 3 of the frame.
        `buf3PixelStride` - The number of bytes between pixels in adjacent columns in buf3
        `buf3RowStride` - The number of bytes between pixels in adjacent rows in buf3
      Returns:
        0 if no error occurred, otherwise an error value less than 0.

    - #### arwVideoPushFinal

          public static int arwVideoPushFinal(int videoSourceIndex)

      Tells the native library that no further frames will be pushed. N.B.: Pushing of video from Java to native is no longer required since artoolkitX v1.1.10 introduced native video capture. This amended API was added in artoolkitX v1.2 to support tracking from external video sources. This call may only be made before a call to arwStopRunning.
      Parameters:
        `videoSourceIndex` - Zero-based index of the video source which is being finalized for pushing. Normally 0, but for the second camera in a stereo pair, 1.
      Returns:
        0 if no error occurred, otherwise an error value less than 0.