package com.jme3.system.osvr.osvrdisplay; import com.jme3.system.osvr.osvrclientkit.OsvrClientKitLibrary; import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.NativeLibrary; import com.sun.jna.Pointer; import com.sun.jna.PointerType; import com.sun.jna.ptr.DoubleByReference; import com.sun.jna.ptr.FloatByReference; import com.sun.jna.ptr.IntByReference; import com.sun.jna.ptr.PointerByReference; import java.nio.ByteBuffer; import java.nio.DoubleBuffer; import java.nio.FloatBuffer; import java.nio.IntBuffer; /** * JNA Wrapper for library <b>osvrDisplay</b><br> * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br> * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br> * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>. */ public class OsvrDisplayLibrary implements Library { public static final String JNA_LIBRARY_NAME = "osvrClientKit"; public static final NativeLibrary JNA_NATIVE_LIB = NativeLibrary.getInstance(OsvrDisplayLibrary.JNA_LIBRARY_NAME); static { Native.register(OsvrDisplayLibrary.class, OsvrDisplayLibrary.JNA_NATIVE_LIB); } /** * @brief Allocates a display configuration object populated with data from the<br> * OSVR system.<br> * Before this call will succeed, your application will need to be correctly<br> * and fully connected to an OSVR server. You may consider putting this call in<br> * a loop alternating with osvrClientUpdate() until this call succeeds.<br> * Data provided by a display configuration object:<br> * - The logical display topology (number and relationship of viewers, eyes,<br> * and surfaces), which remains constant throughout the life of the<br> * configuration object. (A method of notification of change here is TBD).<br> * - Pose data for viewers (not required for rendering) and pose/view data for<br> * eyes (used for rendering) which is based on tracker data: if used, these<br> * should be queried every frame.<br> * - Projection matrix data for surfaces, which while in current practice may<br> * be relatively unchanging, we are not guaranteeing them to be constant:<br> * these should be queried every frame.<br> * - Video-input-relative viewport size/location for a surface: would like this<br> * to be variable, but probably not feasible. If you have input, please<br> * comment on the dev mailing list.<br> * - Per-surface distortion strategy priorities/availabilities: constant. Note<br> * the following, though...<br> * - Per-surface distortion strategy parameters: variable, request each frame.<br> * (Could make constant with a notification if needed?)<br> * Important note: While most of this data is immediately available if you are<br> * successful in getting a display config object, the pose-based data (viewer<br> * pose, eye pose, eye view matrix) needs tracker state, so at least one (and in<br> * practice, typically more) osvrClientUpdate() must be performed before a new<br> * tracker report is available to populate that state. See<br> * osvrClientCheckDisplayStartup() to query if all startup data is available.<br> * @todo Decide if relative viewport should be constant in a display config,<br> * and update docs accordingly.<br> * @todo Decide if distortion params should be constant in a display config,<br> * and update docs accordingly.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed or some other<br> * error occurred, in which case the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetDisplay(OSVR_ClientContext, OSVR_DisplayConfig*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetDisplay(osvrdisplay.OsvrDisplayLibrary.OSVR_ClientContext, com.sun.jna.ptr.PointerByReference)} and {@link #osvrClientGetDisplay(com.sun.jna.Pointer, com.sun.jna.ptr.PointerByReference)} instead */ @Deprecated public static native byte osvrClientGetDisplay(Pointer ctx, Pointer disp); /** * @brief Allocates a display configuration object populated with data from the<br> * OSVR system.<br> * Before this call will succeed, your application will need to be correctly<br> * and fully connected to an OSVR server. You may consider putting this call in<br> * a loop alternating with osvrClientUpdate() until this call succeeds.<br> * Data provided by a display configuration object:<br> * - The logical display topology (number and relationship of viewers, eyes,<br> * and surfaces), which remains constant throughout the life of the<br> * configuration object. (A method of notification of change here is TBD).<br> * - Pose data for viewers (not required for rendering) and pose/view data for<br> * eyes (used for rendering) which is based on tracker data: if used, these<br> * should be queried every frame.<br> * - Projection matrix data for surfaces, which while in current practice may<br> * be relatively unchanging, we are not guaranteeing them to be constant:<br> * these should be queried every frame.<br> * - Video-input-relative viewport size/location for a surface: would like this<br> * to be variable, but probably not feasible. If you have input, please<br> * comment on the dev mailing list.<br> * - Per-surface distortion strategy priorities/availabilities: constant. Note<br> * the following, though...<br> * - Per-surface distortion strategy parameters: variable, request each frame.<br> * (Could make constant with a notification if needed?)<br> * Important note: While most of this data is immediately available if you are<br> * successful in getting a display config object, the pose-based data (viewer<br> * pose, eye pose, eye view matrix) needs tracker state, so at least one (and in<br> * practice, typically more) osvrClientUpdate() must be performed before a new<br> * tracker report is available to populate that state. See<br> * osvrClientCheckDisplayStartup() to query if all startup data is available.<br> * @todo Decide if relative viewport should be constant in a display config,<br> * and update docs accordingly.<br> * @todo Decide if distortion params should be constant in a display config,<br> * and update docs accordingly.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed or some other<br> * error occurred, in which case the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetDisplay(OSVR_ClientContext, OSVR_DisplayConfig*)</code> */ public static native byte osvrClientGetDisplay(OsvrClientKitLibrary.OSVR_ClientContext ctx, PointerByReference disp); /** * @brief Allocates a display configuration object populated with data from the<br> * OSVR system.<br> * Before this call will succeed, your application will need to be correctly<br> * and fully connected to an OSVR server. You may consider putting this call in<br> * a loop alternating with osvrClientUpdate() until this call succeeds.<br> * Data provided by a display configuration object:<br> * - The logical display topology (number and relationship of viewers, eyes,<br> * and surfaces), which remains constant throughout the life of the<br> * configuration object. (A method of notification of change here is TBD).<br> * - Pose data for viewers (not required for rendering) and pose/view data for<br> * eyes (used for rendering) which is based on tracker data: if used, these<br> * should be queried every frame.<br> * - Projection matrix data for surfaces, which while in current practice may<br> * be relatively unchanging, we are not guaranteeing them to be constant:<br> * these should be queried every frame.<br> * - Video-input-relative viewport size/location for a surface: would like this<br> * to be variable, but probably not feasible. If you have input, please<br> * comment on the dev mailing list.<br> * - Per-surface distortion strategy priorities/availabilities: constant. Note<br> * the following, though...<br> * - Per-surface distortion strategy parameters: variable, request each frame.<br> * (Could make constant with a notification if needed?)<br> * Important note: While most of this data is immediately available if you are<br> * successful in getting a display config object, the pose-based data (viewer<br> * pose, eye pose, eye view matrix) needs tracker state, so at least one (and in<br> * practice, typically more) osvrClientUpdate() must be performed before a new<br> * tracker report is available to populate that state. See<br> * osvrClientCheckDisplayStartup() to query if all startup data is available.<br> * @todo Decide if relative viewport should be constant in a display config,<br> * and update docs accordingly.<br> * @todo Decide if distortion params should be constant in a display config,<br> * and update docs accordingly.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed or some other<br> * error occurred, in which case the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetDisplay(OSVR_ClientContext, OSVR_DisplayConfig*)</code> */ public static native byte osvrClientGetDisplay(Pointer ctx, PointerByReference disp); /** * @brief Frees a display configuration object. The corresponding context must<br> * still be open.<br> * If you fail to call this, it will be automatically called as part of<br> * clean-up when the corresponding context is closed.<br> * @return OSVR_RETURN_FAILURE if a null config was passed, or if the given<br> * display object was already freed.<br> * Original signature : <code>OSVR_ReturnCode osvrClientFreeDisplay(OSVR_DisplayConfig)</code><br> * @deprecated use the safer methods {@link #osvrClientFreeDisplay(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig)} and {@link #osvrClientFreeDisplay(com.sun.jna.Pointer)} instead */ @Deprecated public static native byte osvrClientFreeDisplay(Pointer disp); /** * @brief Frees a display configuration object. The corresponding context must<br> * still be open.<br> * If you fail to call this, it will be automatically called as part of<br> * clean-up when the corresponding context is closed.<br> * @return OSVR_RETURN_FAILURE if a null config was passed, or if the given<br> * display object was already freed.<br> * Original signature : <code>OSVR_ReturnCode osvrClientFreeDisplay(OSVR_DisplayConfig)</code> */ public static native byte osvrClientFreeDisplay(OsvrDisplayLibrary.OSVR_DisplayConfig disp); /** * @brief Checks to see if a display is fully configured and ready, including<br> * having received its first pose update.<br> * Once this first succeeds, it will continue to succeed for the lifetime of<br> * the display config object, so it is not necessary to keep calling once you<br> * get a successful result.<br> * @return OSVR_RETURN_FAILURE if a null config was passed, or if the given<br> * display config object was otherwise not ready for full use.<br> * Original signature : <code>OSVR_ReturnCode osvrClientCheckDisplayStartup(OSVR_DisplayConfig)</code><br> * @deprecated use the safer methods {@link #osvrClientCheckDisplayStartup(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig)} and {@link #osvrClientCheckDisplayStartup(com.sun.jna.Pointer)} instead */ @Deprecated public static native byte osvrClientCheckDisplayStartup(Pointer disp); /** * @brief Checks to see if a display is fully configured and ready, including<br> * having received its first pose update.<br> * Once this first succeeds, it will continue to succeed for the lifetime of<br> * the display config object, so it is not necessary to keep calling once you<br> * get a successful result.<br> * @return OSVR_RETURN_FAILURE if a null config was passed, or if the given<br> * display config object was otherwise not ready for full use.<br> * Original signature : <code>OSVR_ReturnCode osvrClientCheckDisplayStartup(OSVR_DisplayConfig)</code> */ public static native byte osvrClientCheckDisplayStartup(OsvrDisplayLibrary.OSVR_DisplayConfig disp); /** * @brief A display config can have one or more display inputs to pass pixels<br> * over (HDMI/DVI connections, etc): retrieve the number of display inputs in<br> * the current configuration.<br> * @param disp Display config object.<br> * @param[out] numDisplayInputs Number of display inputs in the logical display<br> * topology, **constant** throughout the active, valid lifetime of a display<br> * config object.<br> * @sa OSVR_DisplayInputCount<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in<br> * which case the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetNumDisplayInputs(OSVR_DisplayConfig, OSVR_DisplayInputCount*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetNumDisplayInputs(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, java.nio.ByteBuffer)} and {@link #osvrClientGetNumDisplayInputs(com.sun.jna.Pointer, com.sun.jna.Pointer)} instead */ @Deprecated public static native byte osvrClientGetNumDisplayInputs(Pointer disp, Pointer numDisplayInputs); /** * @brief A display config can have one or more display inputs to pass pixels<br> * over (HDMI/DVI connections, etc): retrieve the number of display inputs in<br> * the current configuration.<br> * @param disp Display config object.<br> * @param[out] numDisplayInputs Number of display inputs in the logical display<br> * topology, **constant** throughout the active, valid lifetime of a display<br> * config object.<br> * @sa OSVR_DisplayInputCount<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in<br> * which case the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetNumDisplayInputs(OSVR_DisplayConfig, OSVR_DisplayInputCount*)</code> */ public static native byte osvrClientGetNumDisplayInputs(OsvrDisplayLibrary.OSVR_DisplayConfig disp, ByteBuffer numDisplayInputs); /** * @brief Retrieve the pixel dimensions of a given display input for a display<br> * config<br> * @param disp Display config object.<br> * @param displayInputIndex The zero-based index of the display input.<br> * @param[out] width Width (in pixels) of the display input.<br> * @param[out] height Height (in pixels) of the display input.<br> * The out parameters are **constant** throughout the active, valid lifetime of<br> * a display config object.<br> * @sa OSVR_DisplayDimension<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in<br> * which case the output arguments are unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetDisplayDimensions(OSVR_DisplayConfig, OSVR_DisplayInputCount, OSVR_DisplayDimension*, OSVR_DisplayDimension*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetDisplayDimensions(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, byte, java.nio.IntBuffer, java.nio.IntBuffer)} and {@link #osvrClientGetDisplayDimensions(com.sun.jna.Pointer, byte, com.sun.jna.ptr.IntByReference, com.sun.jna.ptr.IntByReference)} instead */ @Deprecated public static native byte osvrClientGetDisplayDimensions(Pointer disp, byte displayInputIndex, IntByReference width, IntByReference height); /** * @brief Retrieve the pixel dimensions of a given display input for a display<br> * config<br> * @param disp Display config object.<br> * @param displayInputIndex The zero-based index of the display input.<br> * @param[out] width Width (in pixels) of the display input.<br> * @param[out] height Height (in pixels) of the display input.<br> * The out parameters are **constant** throughout the active, valid lifetime of<br> * a display config object.<br> * @sa OSVR_DisplayDimension<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in<br> * which case the output arguments are unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetDisplayDimensions(OSVR_DisplayConfig, OSVR_DisplayInputCount, OSVR_DisplayDimension*, OSVR_DisplayDimension*)</code> */ public static native byte osvrClientGetDisplayDimensions(OsvrDisplayLibrary.OSVR_DisplayConfig disp, byte displayInputIndex, IntBuffer width, IntBuffer height); /** * @brief A display config can have one (or theoretically more) viewers:<br> * retrieve the viewer count.<br> * @param disp Display config object.<br> * @param[out] viewers Number of viewers in the logical display topology,<br> * *constant** throughout the active, valid lifetime of a display config<br> * object.<br> * @sa OSVR_ViewerCount<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetNumViewers(OSVR_DisplayConfig, OSVR_ViewerCount*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetNumViewers(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, java.nio.IntBuffer)} and {@link #osvrClientGetNumViewers(com.sun.jna.Pointer, com.sun.jna.ptr.IntByReference)} instead */ @Deprecated public static native byte osvrClientGetNumViewers(Pointer disp, IntByReference viewers); /** * @brief A display config can have one (or theoretically more) viewers:<br> * retrieve the viewer count.<br> * @param disp Display config object.<br> * @param[out] viewers Number of viewers in the logical display topology,<br> * *constant** throughout the active, valid lifetime of a display config<br> * object.<br> * @sa OSVR_ViewerCount<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetNumViewers(OSVR_DisplayConfig, OSVR_ViewerCount*)</code> */ public static native byte osvrClientGetNumViewers(OsvrDisplayLibrary.OSVR_DisplayConfig disp, IntBuffer viewers); /** * @brief Get the pose of a viewer in a display config.<br> * Note that there may not necessarily be any surfaces rendered from this pose<br> * (it's the unused "center" eye in a stereo configuration, for instance) so<br> * only use this if it makes integration into your engine or existing<br> * applications (not originally designed for stereo) easier.<br> * Will only succeed if osvrClientCheckDisplayStartup() succeeds.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was<br> * yet available, in which case the pose argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerPose(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_Pose3*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetViewerPose(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, com.sun.jna.Pointer)} and {@link #osvrClientGetViewerPose(com.sun.jna.Pointer, int, com.sun.jna.Pointer)} instead */ @Deprecated public static native byte osvrClientGetViewerPose(Pointer disp, int viewer, Pointer pose); /** * @brief Get the pose of a viewer in a display config.<br> * Note that there may not necessarily be any surfaces rendered from this pose<br> * (it's the unused "center" eye in a stereo configuration, for instance) so<br> * only use this if it makes integration into your engine or existing<br> * applications (not originally designed for stereo) easier.<br> * Will only succeed if osvrClientCheckDisplayStartup() succeeds.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was<br> * yet available, in which case the pose argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerPose(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_Pose3*)</code> */ public static native byte osvrClientGetViewerPose(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, Pointer pose); /** * @brief Each viewer in a display config can have one or more "eyes" which<br> * have a substantially similar pose: get the count.<br> * @param disp Display config object.<br> * @param viewer Viewer ID<br> * @param[out] eyes Number of eyes for this viewer in the logical display<br> * topology, **constant** throughout the active, valid lifetime of a display<br> * config object<br> * @sa OSVR_EyeCount<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetNumEyesForViewer(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetNumEyesForViewer(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, java.nio.ByteBuffer)} and {@link #osvrClientGetNumEyesForViewer(com.sun.jna.Pointer, int, com.sun.jna.Pointer)} instead */ @Deprecated public static native byte osvrClientGetNumEyesForViewer(Pointer disp, int viewer, Pointer eyes); /** * @brief Each viewer in a display config can have one or more "eyes" which<br> * have a substantially similar pose: get the count.<br> * @param disp Display config object.<br> * @param viewer Viewer ID<br> * @param[out] eyes Number of eyes for this viewer in the logical display<br> * topology, **constant** throughout the active, valid lifetime of a display<br> * config object<br> * @sa OSVR_EyeCount<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetNumEyesForViewer(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount*)</code> */ public static native byte osvrClientGetNumEyesForViewer(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, ByteBuffer eyes); /** * @brief Get the "viewpoint" for the given eye of a viewer in a display<br> * config.<br> * Will only succeed if osvrClientCheckDisplayStartup() succeeds.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param[out] pose Room-space pose (not relative to pose of the viewer)<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was<br> * yet available, in which case the pose argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyePose(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_Pose3*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetViewerEyePose(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, com.sun.jna.Pointer)} and {@link #osvrClientGetViewerEyePose(com.sun.jna.Pointer, int, byte, com.sun.jna.Pointer)} instead */ @Deprecated public static native byte osvrClientGetViewerEyePose(Pointer disp, int viewer, byte eye, Pointer pose); /** * @brief Get the "viewpoint" for the given eye of a viewer in a display<br> * config.<br> * Will only succeed if osvrClientCheckDisplayStartup() succeeds.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param[out] pose Room-space pose (not relative to pose of the viewer)<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was<br> * yet available, in which case the pose argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyePose(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_Pose3*)</code> */ public static native byte osvrClientGetViewerEyePose(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, Pointer pose); /** * @brief Get the view matrix (inverse of pose) for the given eye of a<br> * viewer in a display config - matrix of **doubles**.<br> * Will only succeed if osvrClientCheckDisplayStartup() succeeds.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags)<br> * @param[out] mat Pass a double[::OSVR_MATRIX_SIZE] to get the transformation<br> * matrix from room space to eye space (not relative to pose of the viewer)<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was<br> * yet available, in which case the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeViewMatrixd(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_MatrixConventions, double*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetViewerEyeViewMatrixd(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, short, java.nio.DoubleBuffer)} and {@link #osvrClientGetViewerEyeViewMatrixd(com.sun.jna.Pointer, int, byte, short, com.sun.jna.ptr.DoubleByReference)} instead */ @Deprecated public static native byte osvrClientGetViewerEyeViewMatrixd(Pointer disp, int viewer, byte eye, short flags, DoubleByReference mat); /** * @brief Get the view matrix (inverse of pose) for the given eye of a<br> * viewer in a display config - matrix of **doubles**.<br> * Will only succeed if osvrClientCheckDisplayStartup() succeeds.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags)<br> * @param[out] mat Pass a double[::OSVR_MATRIX_SIZE] to get the transformation<br> * matrix from room space to eye space (not relative to pose of the viewer)<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was<br> * yet available, in which case the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeViewMatrixd(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_MatrixConventions, double*)</code> */ public static native byte osvrClientGetViewerEyeViewMatrixd(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, short flags, DoubleBuffer mat); /** * @brief Get the view matrix (inverse of pose) for the given eye of a<br> * viewer in a display config - matrix of **floats**.<br> * Will only succeed if osvrClientCheckDisplayStartup() succeeds.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags)<br> * @param[out] mat Pass a float[::OSVR_MATRIX_SIZE] to get the transformation<br> * matrix from room space to eye space (not relative to pose of the viewer)<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was<br> * yet available, in which case the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeViewMatrixf(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_MatrixConventions, float*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetViewerEyeViewMatrixf(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, short, java.nio.FloatBuffer)} and {@link #osvrClientGetViewerEyeViewMatrixf(com.sun.jna.Pointer, int, byte, short, com.sun.jna.ptr.FloatByReference)} instead */ @Deprecated public static native byte osvrClientGetViewerEyeViewMatrixf(Pointer disp, int viewer, byte eye, short flags, FloatByReference mat); /** * @brief Get the view matrix (inverse of pose) for the given eye of a<br> * viewer in a display config - matrix of **floats**.<br> * Will only succeed if osvrClientCheckDisplayStartup() succeeds.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags)<br> * @param[out] mat Pass a float[::OSVR_MATRIX_SIZE] to get the transformation<br> * matrix from room space to eye space (not relative to pose of the viewer)<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was<br> * yet available, in which case the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeViewMatrixf(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_MatrixConventions, float*)</code> */ public static native byte osvrClientGetViewerEyeViewMatrixf(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, short flags, FloatBuffer mat); /** * @brief Each eye of each viewer in a display config has one or more surfaces<br> * (aka "screens") on which content should be rendered.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param[out] surfaces Number of surfaces (numbered [0, surfaces - 1]) for the<br> * given viewer and eye. **Constant** throughout the active, valid lifetime of<br> * a display config object.<br> * @sa OSVR_SurfaceCount<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetNumSurfacesForViewerEye(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetNumSurfacesForViewerEye(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, java.nio.IntBuffer)} and {@link #osvrClientGetNumSurfacesForViewerEye(com.sun.jna.Pointer, int, byte, com.sun.jna.ptr.IntByReference)} instead */ @Deprecated public static native byte osvrClientGetNumSurfacesForViewerEye(Pointer disp, int viewer, byte eye, IntByReference surfaces); /** * @brief Each eye of each viewer in a display config has one or more surfaces<br> * (aka "screens") on which content should be rendered.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param[out] surfaces Number of surfaces (numbered [0, surfaces - 1]) for the<br> * given viewer and eye. **Constant** throughout the active, valid lifetime of<br> * a display config object.<br> * @sa OSVR_SurfaceCount<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetNumSurfacesForViewerEye(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount*)</code> */ public static native byte osvrClientGetNumSurfacesForViewerEye(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, IntBuffer surfaces); /** * @brief Get the dimensions/location of the viewport **within the display<br> * input** for a surface seen by an eye of a viewer in a display config. (This<br> * does not include other video inputs that may be on a single virtual desktop,<br> * etc. or explicitly account for display configurations that use multiple<br> * video inputs. It does not necessarily indicate that a viewport in the sense<br> * of glViewport must be created with these parameters, though the parameter<br> * order matches for convenience.)<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] left Output: Distance in pixels from the left of the video input<br> * to the left of the viewport.<br> * @param[out] bottom Output: Distance in pixels from the bottom of the video<br> * input to the bottom of the viewport.<br> * @param[out] width Output: Width of viewport in pixels.<br> * @param[out] height Output: Height of viewport in pixels.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output arguments are unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetRelativeViewportForViewerEyeSurface(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, OSVR_ViewportDimension*, OSVR_ViewportDimension*, OSVR_ViewportDimension*, OSVR_ViewportDimension*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetRelativeViewportForViewerEyeSurface(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer)} and {@link #osvrClientGetRelativeViewportForViewerEyeSurface(com.sun.jna.Pointer, int, byte, int, com.sun.jna.ptr.IntByReference, com.sun.jna.ptr.IntByReference, com.sun.jna.ptr.IntByReference, com.sun.jna.ptr.IntByReference)} instead */ @Deprecated public static native byte osvrClientGetRelativeViewportForViewerEyeSurface(Pointer disp, int viewer, byte eye, int surface, IntByReference left, IntByReference bottom, IntByReference width, IntByReference height); /** * @brief Get the dimensions/location of the viewport **within the display<br> * input** for a surface seen by an eye of a viewer in a display config. (This<br> * does not include other video inputs that may be on a single virtual desktop,<br> * etc. or explicitly account for display configurations that use multiple<br> * video inputs. It does not necessarily indicate that a viewport in the sense<br> * of glViewport must be created with these parameters, though the parameter<br> * order matches for convenience.)<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] left Output: Distance in pixels from the left of the video input<br> * to the left of the viewport.<br> * @param[out] bottom Output: Distance in pixels from the bottom of the video<br> * input to the bottom of the viewport.<br> * @param[out] width Output: Width of viewport in pixels.<br> * @param[out] height Output: Height of viewport in pixels.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output arguments are unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetRelativeViewportForViewerEyeSurface(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, OSVR_ViewportDimension*, OSVR_ViewportDimension*, OSVR_ViewportDimension*, OSVR_ViewportDimension*)</code> */ public static native byte osvrClientGetRelativeViewportForViewerEyeSurface(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, int surface, IntBuffer left, IntBuffer bottom, IntBuffer width, IntBuffer height); /** * @brief Get the index of the display input for a surface seen by an eye of a<br> * viewer in a display config.<br> * This is the OSVR-assigned display input: it may not (and in practice,<br> * usually will not) match any platform-specific display indices. This function<br> * exists to associate surfaces with video inputs as enumerated by<br> * osvrClientGetNumDisplayInputs().<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] displayInput Zero-based index of the display input pixels for<br> * this surface are tranmitted over.<br> * This association is **constant** throughout the active, valid lifetime of a<br> * display config object.<br> * @sa osvrClientGetNumDisplayInputs(),<br> * osvrClientGetRelativeViewportForViewerEyeSurface()<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which<br> * case the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceDisplayInputIndex(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, OSVR_DisplayInputCount*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetViewerEyeSurfaceDisplayInputIndex(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, int, java.nio.ByteBuffer)} and {@link #osvrClientGetViewerEyeSurfaceDisplayInputIndex(com.sun.jna.Pointer, int, byte, int, com.sun.jna.Pointer)} instead */ @Deprecated public static native byte osvrClientGetViewerEyeSurfaceDisplayInputIndex(Pointer disp, int viewer, byte eye, int surface, Pointer displayInput); /** * @brief Get the index of the display input for a surface seen by an eye of a<br> * viewer in a display config.<br> * This is the OSVR-assigned display input: it may not (and in practice,<br> * usually will not) match any platform-specific display indices. This function<br> * exists to associate surfaces with video inputs as enumerated by<br> * osvrClientGetNumDisplayInputs().<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] displayInput Zero-based index of the display input pixels for<br> * this surface are tranmitted over.<br> * This association is **constant** throughout the active, valid lifetime of a<br> * display config object.<br> * @sa osvrClientGetNumDisplayInputs(),<br> * osvrClientGetRelativeViewportForViewerEyeSurface()<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which<br> * case the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceDisplayInputIndex(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, OSVR_DisplayInputCount*)</code> */ public static native byte osvrClientGetViewerEyeSurfaceDisplayInputIndex(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, int surface, ByteBuffer displayInput); /** * @brief Get the projection matrix for a surface seen by an eye of a viewer<br> * in a display config. (double version)<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param near Distance from viewpoint to near clipping plane - must be<br> * positive.<br> * @param far Distance from viewpoint to far clipping plane - must be positive<br> * and not equal to near, typically greater than near.<br> * @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags)<br> * @param[out] matrix Output projection matrix: supply an array of 16<br> * (::OSVR_MATRIX_SIZE) doubles.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceProjectionMatrixd(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, double, double, OSVR_MatrixConventions, double*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetViewerEyeSurfaceProjectionMatrixd(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, int, double, double, short, java.nio.DoubleBuffer)} and {@link #osvrClientGetViewerEyeSurfaceProjectionMatrixd(com.sun.jna.Pointer, int, byte, int, double, double, short, com.sun.jna.ptr.DoubleByReference)} instead */ @Deprecated public static native byte osvrClientGetViewerEyeSurfaceProjectionMatrixd(Pointer disp, int viewer, byte eye, int surface, double near, double far, short flags, DoubleByReference matrix); /** * @brief Get the projection matrix for a surface seen by an eye of a viewer<br> * in a display config. (double version)<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param near Distance from viewpoint to near clipping plane - must be<br> * positive.<br> * @param far Distance from viewpoint to far clipping plane - must be positive<br> * and not equal to near, typically greater than near.<br> * @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags)<br> * @param[out] matrix Output projection matrix: supply an array of 16<br> * (::OSVR_MATRIX_SIZE) doubles.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceProjectionMatrixd(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, double, double, OSVR_MatrixConventions, double*)</code> */ public static native byte osvrClientGetViewerEyeSurfaceProjectionMatrixd(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, int surface, double near, double far, short flags, DoubleBuffer matrix); /** * @brief Get the projection matrix for a surface seen by an eye of a viewer<br> * in a display config. (float version)<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param near Distance to near clipping plane - must be nonzero, typically<br> * positive.<br> * @param far Distance to far clipping plane - must be nonzero, typically<br> * positive and greater than near.<br> * @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags)<br> * @param[out] matrix Output projection matrix: supply an array of 16<br> * (::OSVR_MATRIX_SIZE) floats.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceProjectionMatrixf(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, float, float, OSVR_MatrixConventions, float*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetViewerEyeSurfaceProjectionMatrixf(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, int, float, float, short, java.nio.FloatBuffer)} and {@link #osvrClientGetViewerEyeSurfaceProjectionMatrixf(com.sun.jna.Pointer, int, byte, int, float, float, short, com.sun.jna.ptr.FloatByReference)} instead */ @Deprecated public static native byte osvrClientGetViewerEyeSurfaceProjectionMatrixf(Pointer disp, int viewer, byte eye, int surface, float near, float far, short flags, FloatByReference matrix); /** * @brief Get the projection matrix for a surface seen by an eye of a viewer<br> * in a display config. (float version)<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param near Distance to near clipping plane - must be nonzero, typically<br> * positive.<br> * @param far Distance to far clipping plane - must be nonzero, typically<br> * positive and greater than near.<br> * @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags)<br> * @param[out] matrix Output projection matrix: supply an array of 16<br> * (::OSVR_MATRIX_SIZE) floats.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceProjectionMatrixf(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, float, float, OSVR_MatrixConventions, float*)</code> */ public static native byte osvrClientGetViewerEyeSurfaceProjectionMatrixf(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, int surface, float near, float far, short flags, FloatBuffer matrix); /** * @brief Get the clipping planes (positions at unit distance) for a surface<br> * seen by an eye of a viewer<br> * in a display config.<br> * This is only for use in integrations that cannot accept a fully-formulated<br> * projection matrix as returned by<br> * osvrClientGetViewerEyeSurfaceProjectionMatrixf() or<br> * osvrClientGetViewerEyeSurfaceProjectionMatrixd(), and may not necessarily<br> * provide the same optimizations.<br> * As all the planes are given at unit (1) distance, before passing these<br> * planes to a consuming function in your application/engine, you will typically<br> * divide them by your near clipping plane distance.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] left Distance to left clipping plane<br> * @param[out] right Distance to right clipping plane<br> * @param[out] bottom Distance to bottom clipping plane<br> * @param[out] top Distance to top clipping plane<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output arguments are unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceProjectionClippingPlanes(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, double*, double*, double*, double*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetViewerEyeSurfaceProjectionClippingPlanes(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, int, java.nio.DoubleBuffer, java.nio.DoubleBuffer, java.nio.DoubleBuffer, java.nio.DoubleBuffer)} and {@link #osvrClientGetViewerEyeSurfaceProjectionClippingPlanes(com.sun.jna.Pointer, int, byte, int, com.sun.jna.ptr.DoubleByReference, com.sun.jna.ptr.DoubleByReference, com.sun.jna.ptr.DoubleByReference, com.sun.jna.ptr.DoubleByReference)} instead */ @Deprecated public static native byte osvrClientGetViewerEyeSurfaceProjectionClippingPlanes(Pointer disp, int viewer, byte eye, int surface, DoubleByReference left, DoubleByReference right, DoubleByReference bottom, DoubleByReference top); /** * @brief Get the clipping planes (positions at unit distance) for a surface<br> * seen by an eye of a viewer<br> * in a display config.<br> * This is only for use in integrations that cannot accept a fully-formulated<br> * projection matrix as returned by<br> * osvrClientGetViewerEyeSurfaceProjectionMatrixf() or<br> * osvrClientGetViewerEyeSurfaceProjectionMatrixd(), and may not necessarily<br> * provide the same optimizations.<br> * As all the planes are given at unit (1) distance, before passing these<br> * planes to a consuming function in your application/engine, you will typically<br> * divide them by your near clipping plane distance.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] left Distance to left clipping plane<br> * @param[out] right Distance to right clipping plane<br> * @param[out] bottom Distance to bottom clipping plane<br> * @param[out] top Distance to top clipping plane<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output arguments are unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceProjectionClippingPlanes(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, double*, double*, double*, double*)</code> */ public static native byte osvrClientGetViewerEyeSurfaceProjectionClippingPlanes(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, int surface, DoubleBuffer left, DoubleBuffer right, DoubleBuffer bottom, DoubleBuffer top); /** * @brief Determines if a surface seen by an eye of a viewer in a display<br> * config requests some distortion to be performed.<br> * This simply reports true or false, and does not specify which kind of<br> * distortion implementations have been parameterized for this display. For<br> * each distortion implementation your application supports, you'll want to<br> * call the corresponding priority function to find out if it is available.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] distortionRequested Output parameter: whether distortion is<br> * requested. **Constant** throughout the active, valid lifetime of a display<br> * config object.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientDoesViewerEyeSurfaceWantDistortion(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, OSVR_CBool*)</code><br> * @deprecated use the safer methods {@link #osvrClientDoesViewerEyeSurfaceWantDistortion(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, int, java.nio.ByteBuffer)} and {@link #osvrClientDoesViewerEyeSurfaceWantDistortion(com.sun.jna.Pointer, int, byte, int, com.sun.jna.Pointer)} instead */ @Deprecated public static native byte osvrClientDoesViewerEyeSurfaceWantDistortion(Pointer disp, int viewer, byte eye, int surface, Pointer distortionRequested); /** * @brief Determines if a surface seen by an eye of a viewer in a display<br> * config requests some distortion to be performed.<br> * This simply reports true or false, and does not specify which kind of<br> * distortion implementations have been parameterized for this display. For<br> * each distortion implementation your application supports, you'll want to<br> * call the corresponding priority function to find out if it is available.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] distortionRequested Output parameter: whether distortion is<br> * requested. **Constant** throughout the active, valid lifetime of a display<br> * config object.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientDoesViewerEyeSurfaceWantDistortion(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, OSVR_CBool*)</code> */ public static native byte osvrClientDoesViewerEyeSurfaceWantDistortion(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, int surface, ByteBuffer distortionRequested); /** * @brief Returns the priority/availability of radial distortion parameters for<br> * a surface seen by an eye of a viewer in a display config.<br> * If osvrClientDoesViewerEyeSurfaceWantDistortion() reports false, then the<br> * display does not request distortion of any sort, and thus neither this nor<br> * any other distortion strategy priority function will report an "available"<br> * priority.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] priority Output: the priority level. Negative values<br> * (canonically OSVR_DISTORTION_PRIORITY_UNAVAILABLE) indicate this technique<br> * not available, higher values indicate higher preference for the given<br> * technique based on the device's description. **Constant** throughout the<br> * active, valid lifetime of a display config object.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceRadialDistortionPriority(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, OSVR_DistortionPriority*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetViewerEyeSurfaceRadialDistortionPriority(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, int, java.nio.IntBuffer)} and {@link #osvrClientGetViewerEyeSurfaceRadialDistortionPriority(com.sun.jna.Pointer, int, byte, int, com.sun.jna.ptr.IntByReference)} instead */ @Deprecated public static native byte osvrClientGetViewerEyeSurfaceRadialDistortionPriority(Pointer disp, int viewer, byte eye, int surface, IntByReference priority); /** * @brief Returns the priority/availability of radial distortion parameters for<br> * a surface seen by an eye of a viewer in a display config.<br> * If osvrClientDoesViewerEyeSurfaceWantDistortion() reports false, then the<br> * display does not request distortion of any sort, and thus neither this nor<br> * any other distortion strategy priority function will report an "available"<br> * priority.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] priority Output: the priority level. Negative values<br> * (canonically OSVR_DISTORTION_PRIORITY_UNAVAILABLE) indicate this technique<br> * not available, higher values indicate higher preference for the given<br> * technique based on the device's description. **Constant** throughout the<br> * active, valid lifetime of a display config object.<br> * @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case<br> * the output argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceRadialDistortionPriority(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, OSVR_DistortionPriority*)</code> */ public static native byte osvrClientGetViewerEyeSurfaceRadialDistortionPriority(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, int surface, IntBuffer priority); /** * @brief Returns the radial distortion parameters, if known/requested, for a<br> * surface seen by an eye of a viewer in a display config.<br> * Will only succeed if osvrClientGetViewerEyeSurfaceRadialDistortionPriority()<br> * reports a non-negative priority.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] params Output: the parameters for radial distortion<br> * @return OSVR_RETURN_FAILURE if this surface does not have these parameters<br> * described, or if invalid parameters were passed, in which case the output<br> * argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceRadialDistortion(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, OSVR_RadialDistortionParameters*)</code><br> * @deprecated use the safer methods {@link #osvrClientGetViewerEyeSurfaceRadialDistortion(osvrdisplay.OsvrDisplayLibrary.OSVR_DisplayConfig, int, byte, int, com.sun.jna.Pointer)} and {@link #osvrClientGetViewerEyeSurfaceRadialDistortion(com.sun.jna.Pointer, int, byte, int, com.sun.jna.Pointer)} instead */ @Deprecated public static native byte osvrClientGetViewerEyeSurfaceRadialDistortion(Pointer disp, int viewer, byte eye, int surface, Pointer params); /** * @brief Returns the radial distortion parameters, if known/requested, for a<br> * surface seen by an eye of a viewer in a display config.<br> * Will only succeed if osvrClientGetViewerEyeSurfaceRadialDistortionPriority()<br> * reports a non-negative priority.<br> * @param disp Display config object<br> * @param viewer Viewer ID<br> * @param eye Eye ID<br> * @param surface Surface ID<br> * @param[out] params Output: the parameters for radial distortion<br> * @return OSVR_RETURN_FAILURE if this surface does not have these parameters<br> * described, or if invalid parameters were passed, in which case the output<br> * argument is unmodified.<br> * Original signature : <code>OSVR_ReturnCode osvrClientGetViewerEyeSurfaceRadialDistortion(OSVR_DisplayConfig, OSVR_ViewerCount, OSVR_EyeCount, OSVR_SurfaceCount, OSVR_RadialDistortionParameters*)</code> */ public static native byte osvrClientGetViewerEyeSurfaceRadialDistortion(OsvrDisplayLibrary.OSVR_DisplayConfig disp, int viewer, byte eye, int surface, Pointer params); public static class OSVR_ClientContext extends PointerType { public OSVR_ClientContext(Pointer address) { super(address); } public OSVR_ClientContext() { super(); } }; public static class OSVR_DisplayConfig extends PointerType { public OSVR_DisplayConfig(Pointer address) { super(address); } public OSVR_DisplayConfig() { super(); } }; }