org.bytedeco.javacpp.FlyCapture2 Maven / Gradle / Ivy
The newest version!
// Targeted by JavaCPP version 1.4.4: DO NOT EDIT THIS FILE
package org.bytedeco.javacpp;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
public class FlyCapture2 extends org.bytedeco.javacpp.presets.FlyCapture2 {
static { Loader.load(); }
// Parsed from
//=============================================================================
// Copyright © 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id: FlyCapture2Platform.h 316355 2017-02-20 23:02:28Z alin $
//=============================================================================
// #ifndef PGR_FC2_FLYCAPTURE2PLATFORM_H
// #define PGR_FC2_FLYCAPTURE2PLATFORM_H
//=============================================================================
// Platform-specific header file for FlyCapture2.
//
// All the platform-specific code that is required by individual compilers
// to produce the appropriate code for each platform.
//=============================================================================
// #if defined(_WIN32) || defined(_WIN64)
// Windows 32-bit and 64-bit
// #ifdef FLYCAPTURE2_EXPORT
// #define FLYCAPTURE2_API __declspec( dllexport )
// #elif defined(FLYCAPTURE2_STATIC)
// #define FLYCAPTURE2_API
// #else
// #define FLYCAPTURE2_API __declspec( dllimport )
// #endif
// #if _MSC_VER > 1000
// #pragma once
// #endif
// Provide a common naming scheme for fixed-width integer types
// #ifdef _MSC_VER
// #if _MSC_VER >= 1600
// #include
// #else
//typedef __int8 int8_t;
//typedef unsigned __int8 uint8_t;
// #endif
// #elif __GNUC__ >=3
// #include
// #endif
// #elif defined(MAC_OSX)
// Mac OSX
// #else
// Linux and all others
// Using GCC 4 where hiding attributes is possible
// #define FLYCAPTURE2_API __attribute__ ((visibility ("default")))
// #define FLYCAPTURE2_LOCAL __attribute__ ((visibility ("hidden")))
// #endif
// #endif // PGR_FC2_FLYCAPTURE2PLATFORM_H
// Parsed from
//=============================================================================
// Copyright (c) 2001-2018 FLIR Systems, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
// #ifndef FLIR_FC2_FLYCAPTURE2DEFS_H
// #define FLIR_FC2_FLYCAPTURE2DEFS_H
// #include
//=============================================================================
// Definitions file for FlyCapture2.
//
// Holds structures, enumerations and other global definitions that are used
// across the entire FlyCapture2 API.
//=============================================================================
// #ifndef NULL
public static final int NULL = 0;
// #endif
// #ifndef FULL_32BIT_VALUE
public static final int FULL_32BIT_VALUE = 0x7FFFFFFF;
// #endif
/**
* \defgroup GlobalConstants Global constants
*/
/*@{*/
/** The maximum length that is allocated for a string. */
@Namespace("FlyCapture2") @MemberGetter public static native @Cast("const unsigned int") int sk_maxStringLength();
public static final int sk_maxStringLength = sk_maxStringLength();
/** The maximum number of ports one device can have. */
@Namespace("FlyCapture2") @MemberGetter public static native @Cast("const unsigned int") int sk_maxNumPorts();
public static final int sk_maxNumPorts = sk_maxNumPorts();
/*@}*/
/**
* \defgroup Enumerations Enumerations
*/
/*@{*/
/** The error types returned by functions. */
/** enum FlyCapture2::ErrorType */
public static final int
/** Undefined */
PGRERROR_UNDEFINED = -1,
/** Function returned with no errors. */
PGRERROR_OK = 0,
/** General failure. */
PGRERROR_FAILED = 1,
/** Function has not been implemented. */
PGRERROR_NOT_IMPLEMENTED = 2,
/** Could not connect to Bus Master. */
PGRERROR_FAILED_BUS_MASTER_CONNECTION = 3,
/** Camera has not been connected. */
PGRERROR_NOT_CONNECTED = 4,
/** Initialization failed. */
PGRERROR_INIT_FAILED = 5,
/** Camera has not been initialized. */
PGRERROR_NOT_INTITIALIZED = 6,
/** Invalid parameter passed to function. */
PGRERROR_INVALID_PARAMETER = 7,
/** Setting set to camera is invalid. */
PGRERROR_INVALID_SETTINGS = 8,
/** Invalid Bus Manager object. */
PGRERROR_INVALID_BUS_MANAGER = 9,
/** Could not allocate memory. */
PGRERROR_MEMORY_ALLOCATION_FAILED = 10,
/** Low level error. */
PGRERROR_LOW_LEVEL_FAILURE = 11,
/** Device not found. */
PGRERROR_NOT_FOUND = 12,
/** GUID failure. */
PGRERROR_FAILED_GUID = 13,
/** Packet size set to camera is invalid. */
PGRERROR_INVALID_PACKET_SIZE = 14,
/** Invalid mode has been passed to function. */
PGRERROR_INVALID_MODE = 15,
/** Error due to not being in Format7. */
PGRERROR_NOT_IN_FORMAT7 = 16,
/** This feature is unsupported. */
PGRERROR_NOT_SUPPORTED = 17,
/** Timeout error. */
PGRERROR_TIMEOUT = 18,
/** Bus Master Failure. */
PGRERROR_BUS_MASTER_FAILED = 19,
/** Generation Count Mismatch. */
PGRERROR_INVALID_GENERATION = 20,
/** Look Up Table failure. */
PGRERROR_LUT_FAILED = 21,
/** IIDC failure. */
PGRERROR_IIDC_FAILED = 22,
/** Strobe failure. */
PGRERROR_STROBE_FAILED = 23,
/** Trigger failure. */
PGRERROR_TRIGGER_FAILED = 24,
/** Property failure. */
PGRERROR_PROPERTY_FAILED = 25,
/** Property is not present. */
PGRERROR_PROPERTY_NOT_PRESENT = 26,
/** Register access failed. */
PGRERROR_REGISTER_FAILED = 27,
/** Register read failed. */
PGRERROR_READ_REGISTER_FAILED = 28,
/** Register write failed. */
PGRERROR_WRITE_REGISTER_FAILED = 29,
/** Isochronous failure. */
PGRERROR_ISOCH_FAILED = 30,
/** Isochronous transfer has already been started. */
PGRERROR_ISOCH_ALREADY_STARTED = 31,
/** Isochronous transfer has not been started. */
PGRERROR_ISOCH_NOT_STARTED = 32,
/** Isochronous start failed. */
PGRERROR_ISOCH_START_FAILED = 33,
/** Isochronous retrieve buffer failed. */
PGRERROR_ISOCH_RETRIEVE_BUFFER_FAILED = 34,
/** Isochronous stop failed. */
PGRERROR_ISOCH_STOP_FAILED = 35,
/** Isochronous image synchronization failed. */
PGRERROR_ISOCH_SYNC_FAILED = 36,
/** Isochronous bandwidth exceeded. */
PGRERROR_ISOCH_BANDWIDTH_EXCEEDED = 37,
/** Image conversion failed. */
PGRERROR_IMAGE_CONVERSION_FAILED = 38,
/** Image library failure. */
PGRERROR_IMAGE_LIBRARY_FAILURE = 39,
/** Buffer is too small. */
PGRERROR_BUFFER_TOO_SMALL = 40,
/** There is an image consistency error. */
PGRERROR_IMAGE_CONSISTENCY_ERROR = 41,
/** The installed driver is not compatible with the library. */
PGRERROR_INCOMPATIBLE_DRIVER = 42,
PGRERROR_FORCE_32BITS = FULL_32BIT_VALUE;
/** The type of bus callback to register a callback function for. */
/** enum FlyCapture2::BusCallbackType */
public static final int
/** Register for all bus events. */
BUS_RESET = 0,
/** Register for arrivals only. */
ARRIVAL = 1,
/** Register for removals only. */
REMOVAL = 2,
CALLBACK_TYPE_FORCE_32BITS = FULL_32BIT_VALUE;
/**
* The grab strategy employed during image transfer. This type controls
* how images that stream off the camera accumulate in a user buffer
* for handling.
*/
/*
@remark Unlike earlier versions of the FlyCapture SDK, it is no longer
* necessary to explicitly start the image grabbing process before
* specifying an image grabbing mode.
*/
/** enum FlyCapture2::GrabMode */
public static final int
/**
* Grabs the newest image in the user buffer each time the
* RetrieveBuffer() function is called. Older images are dropped
* instead of accumulating in the user buffer. Grabbing blocks if the
* camera has not finished transmitting the next available image. If
* the camera is transmitting images faster than the application can
* grab them, images may be dropped and only the most recent image
* is stored for grabbing. Note that this mode is the equivalent of
* flycaptureLockLatest in earlier versions of the FlyCapture SDK.
*/
DROP_FRAMES = 0,
/**
* Images accumulate in the user buffer, and the oldest image is
* grabbed for handling before being discarded. This member can be
* used to guarantee that each image is seen. However, image processing
* time must not exceed transmission time from the camera to the
* buffer. Grabbing blocks if the camera has not finished transmitting
* the next available image. The buffer size is controlled by the
* numBuffers parameter in the FC2Config struct. Note that this mode is
* the equivalent of flycaptureLockNext in earlier versions of the
* FlyCapture SDK.
*/
BUFFER_FRAMES = 1,
/**
* Unspecified grab mode.
*/
UNSPECIFIED_GRAB_MODE = 2,
GRAB_MODE_FORCE_32BITS = FULL_32BIT_VALUE;
/** Timeout options for grabbing images. */
/** enum FlyCapture2::GrabTimeout */
public static final int
/** Non-blocking wait. */
TIMEOUT_NONE = 0,
/** Wait indefinitely. */
TIMEOUT_INFINITE = -1,
/** Unspecified timeout setting. */
TIMEOUT_UNSPECIFIED = -2,
GRAB_TIMEOUT_FORCE_32BITS = FULL_32BIT_VALUE;
/** Bandwidth allocation options for 1394 devices. */
/** enum FlyCapture2::BandwidthAllocation */
public static final int
/** Do not allocate bandwidth. */
BANDWIDTH_ALLOCATION_OFF = 0,
/** Allocate bandwidth. This is the default setting. */
BANDWIDTH_ALLOCATION_ON = 1,
/**
* Bandwidth allocation is not supported by either the camera or
* operating system.
*/
BANDWIDTH_ALLOCATION_UNSUPPORTED = 2,
/** Not specified. This leaves the current setting unchanged. */
BANDWIDTH_ALLOCATION_UNSPECIFIED = 3,
BANDWIDTH_ALLOCATION_FORCE_32BITS = FULL_32BIT_VALUE;
/** Interfaces that a camera may use to communicate with a host. */
/** enum FlyCapture2::InterfaceType */
public static final int
/** IEEE-1394 (Includes 1394a and 1394b). */
INTERFACE_IEEE1394 = 0,
/** USB 2.0. */
INTERFACE_USB2 = 1,
/** USB 3.0. */
INTERFACE_USB3 = 2,
/** GigE. */
INTERFACE_GIGE = 3,
/** Unknown interface. */
INTERFACE_UNKNOWN = 4,
INTERFACE_TYPE_FORCE_32BITS = FULL_32BIT_VALUE;
/**
* Camera properties. Not all properties may be supported, depending
* on the camera model.
*/
/** enum FlyCapture2::PropertyType */
public static final int
/** Brightness. */
BRIGHTNESS = 0,
/** Auto exposure. */
AUTO_EXPOSURE = 1,
/** Sharpness */
SHARPNESS = 2,
/** White balance. */
WHITE_BALANCE = 3,
/** Hue. */
HUE = 4,
/** Saturation. */
SATURATION = 5,
/** Gamma. */
GAMMA = 6,
/** Iris. */
IRIS = 7,
/** Focus. */
FOCUS = 8,
/** Zoom. */
ZOOM = 9,
/** Pan. */
PAN = 10,
/** Tilt. */
TILT = 11,
/** Shutter. */
SHUTTER = 12,
/** Gain. */
GAIN = 13,
/** Trigger mode. */
TRIGGER_MODE = 14,
/** Trigger delay. */
TRIGGER_DELAY = 15,
/** Frame rate. */
FRAME_RATE = 16,
/** Temperature. */
TEMPERATURE = 17,
/** Unspecified property type. */
UNSPECIFIED_PROPERTY_TYPE = 18,
PROPERTY_TYPE_FORCE_32BITS = FULL_32BIT_VALUE;
/** Frame rates in frames per second. */
/** enum FlyCapture2::FrameRate */
public static final int
/** 1.875 fps. */
FRAMERATE_1_875 = 0,
/** 3.75 fps. */
FRAMERATE_3_75 = 1,
/** 7.5 fps. */
FRAMERATE_7_5 = 2,
/** 15 fps. */
FRAMERATE_15 = 3,
/** 30 fps. */
FRAMERATE_30 = 4,
/** 60 fps. */
FRAMERATE_60 = 5,
/** 120 fps. */
FRAMERATE_120 = 6,
/** 240 fps. */
FRAMERATE_240 = 7,
/** Custom frame rate for Format7 functionality. */
FRAMERATE_FORMAT7 = 8,
/** Number of possible camera frame rates. */
NUM_FRAMERATES = 9,
FRAMERATE_FORCE_32BITS = FULL_32BIT_VALUE;
/** DCAM video modes. */
/** enum FlyCapture2::VideoMode */
public static final int
/** 160x120 YUV444. */
VIDEOMODE_160x120YUV444 = 0,
/** 320x240 YUV422. */
VIDEOMODE_320x240YUV422 = 1,
/** 640x480 YUV411. */
VIDEOMODE_640x480YUV411 = 2,
/** 640x480 YUV422. */
VIDEOMODE_640x480YUV422 = 3,
/** 640x480 24-bit RGB. */
VIDEOMODE_640x480RGB = 4,
/** 640x480 8-bit. */
VIDEOMODE_640x480Y8 = 5,
/** 640x480 16-bit. */
VIDEOMODE_640x480Y16 = 6,
/** 800x600 YUV422. */
VIDEOMODE_800x600YUV422 = 7,
/** 800x600 RGB. */
VIDEOMODE_800x600RGB = 8,
/** 800x600 8-bit. */
VIDEOMODE_800x600Y8 = 9,
/** 800x600 16-bit. */
VIDEOMODE_800x600Y16 = 10,
/** 1024x768 YUV422. */
VIDEOMODE_1024x768YUV422 = 11,
/** 1024x768 RGB. */
VIDEOMODE_1024x768RGB = 12,
/** 1024x768 8-bit. */
VIDEOMODE_1024x768Y8 = 13,
/** 1024x768 16-bit. */
VIDEOMODE_1024x768Y16 = 14,
/** 1280x960 YUV422. */
VIDEOMODE_1280x960YUV422 = 15,
/** 1280x960 RGB. */
VIDEOMODE_1280x960RGB = 16,
/** 1280x960 8-bit. */
VIDEOMODE_1280x960Y8 = 17,
/** 1280x960 16-bit. */
VIDEOMODE_1280x960Y16 = 18,
/** 1600x1200 YUV422. */
VIDEOMODE_1600x1200YUV422 = 19,
/** 1600x1200 RGB. */
VIDEOMODE_1600x1200RGB = 20,
/** 1600x1200 8-bit. */
VIDEOMODE_1600x1200Y8 = 21,
/** 1600x1200 16-bit. */
VIDEOMODE_1600x1200Y16 = 22,
/** Custom video mode for Format7 functionality. */
VIDEOMODE_FORMAT7 = 23,
/** Number of possible video modes. */
NUM_VIDEOMODES = 24,
VIDEOMODE_FORCE_32BITS = FULL_32BIT_VALUE;
/** Camera modes for DCAM formats as well as Format7. */
/** enum FlyCapture2::Mode */
public static final int
MODE_0 = 0,
MODE_1 = 1,
MODE_2 = 2,
MODE_3 = 3,
MODE_4 = 4,
MODE_5 = 5,
MODE_6 = 6,
MODE_7 = 7,
MODE_8 = 8,
MODE_9 = 9,
MODE_10 = 10,
MODE_11 = 11,
MODE_12 = 12,
MODE_13 = 13,
MODE_14 = 14,
MODE_15 = 15,
MODE_16 = 16,
MODE_17 = 17,
MODE_18 = 18,
MODE_19 = 19,
MODE_20 = 20,
MODE_21 = 21,
MODE_22 = 22,
MODE_23 = 23,
MODE_24 = 24,
MODE_25 = 25,
MODE_26 = 26,
MODE_27 = 27,
MODE_28 = 28,
MODE_29 = 29,
MODE_30 = 30,
MODE_31 = 31,
/** Number of modes */
NUM_MODES = 32,
MODE_FORCE_32BITS = FULL_32BIT_VALUE;
/** Pixel formats available for Format7 modes. */
/** enum FlyCapture2::PixelFormat */
public static final int
/** 8 bits of mono information. */
PIXEL_FORMAT_MONO8 = 0x80000000,
/** YUV 4:1:1. */
PIXEL_FORMAT_411YUV8 = 0x40000000,
/** YUV 4:2:2. */
PIXEL_FORMAT_422YUV8 = 0x20000000,
/** YUV 4:4:4. */
PIXEL_FORMAT_444YUV8 = 0x10000000,
/** R = G = B = 8 bits. */
PIXEL_FORMAT_RGB8 = 0x08000000,
/** 16 bits of mono information. */
PIXEL_FORMAT_MONO16 = 0x04000000,
/** R = G = B = 16 bits. */
PIXEL_FORMAT_RGB16 = 0x02000000,
/** 16 bits of signed mono information. */
PIXEL_FORMAT_S_MONO16 = 0x01000000,
/** R = G = B = 16 bits signed. */
PIXEL_FORMAT_S_RGB16 = 0x00800000,
/** 8 bit raw data output of sensor. */
PIXEL_FORMAT_RAW8 = 0x00400000,
/** 16 bit raw data output of sensor. */
PIXEL_FORMAT_RAW16 = 0x00200000,
/** 12 bits of mono information. */
PIXEL_FORMAT_MONO12 = 0x00100000,
/** 12 bit raw data output of sensor. */
PIXEL_FORMAT_RAW12 = 0x00080000,
/** 24 bit BGR. */
PIXEL_FORMAT_BGR = 0x80000008,
/** 32 bit BGRU. */
PIXEL_FORMAT_BGRU = 0x40000008,
/** 24 bit RGB. */
PIXEL_FORMAT_RGB = PIXEL_FORMAT_RGB8,
/** 32 bit RGBU. */
PIXEL_FORMAT_RGBU = 0x40000002,
/** R = G = B = 16 bits. */
PIXEL_FORMAT_BGR16 = 0x02000001,
/** 64 bit BGRU. */
PIXEL_FORMAT_BGRU16 = 0x02000002,
/** JPEG compressed stream. */
PIXEL_FORMAT_422YUV8_JPEG = 0x40000001,
/** Number of pixel formats. */
NUM_PIXEL_FORMATS = 20,
/** Unspecified pixel format. */
UNSPECIFIED_PIXEL_FORMAT = 0;
/** Bus speeds. */
/** enum FlyCapture2::BusSpeed */
public static final int
/** 100Mbits/sec. */
BUSSPEED_S100 = 0,
/** 200Mbits/sec. */
BUSSPEED_S200 = 1,
/** 400Mbits/sec. */
BUSSPEED_S400 = 2,
/** 480Mbits/sec. Only for USB2 cameras. */
BUSSPEED_S480 = 3,
/** 800Mbits/sec. */
BUSSPEED_S800 = 4,
/** 1600Mbits/sec. */
BUSSPEED_S1600 = 5,
/** 3200Mbits/sec. */
BUSSPEED_S3200 = 6,
/** 5000Mbits/sec. Only for USB3 cameras. */
BUSSPEED_S5000 = 7,
/** 10Base-T. Only for GigE Vision cameras. */
BUSSPEED_10BASE_T = 8,
/** 100Base-T. Only for GigE Vision cameras.*/
BUSSPEED_100BASE_T = 9,
/** 1000Base-T (Gigabit Ethernet). Only for GigE Vision cameras. */
BUSSPEED_1000BASE_T = 10,
/** 10000Base-T. Only for GigE Vision cameras. */
BUSSPEED_10000BASE_T = 11,
/** The fastest speed available. */
BUSSPEED_S_FASTEST = 12,
/** Any speed that is available. */
BUSSPEED_ANY = 13,
/** Unknown bus speed. */
BUSSPEED_SPEED_UNKNOWN = -1,
BUSSPEED_FORCE_32BITS = FULL_32BIT_VALUE;
/** enum FlyCapture2::PCIeBusSpeed */
public static final int
PCIE_BUSSPEED_2_5 = 0, /** 2.5 Gb/s */
PCIE_BUSSPEED_5_0 = 1, /** 5.0 Gb/s */
PCIE_BUSSPEED_UNKNOWN = -1, /** Speed is unknown */
PCIE_BUSSPEED_FORCE_32BITS = FULL_32BIT_VALUE;
/** Types of low level drivers that flycapture uses. */
/** enum FlyCapture2::DriverType */
public static final int
/** PGRCam.sys. */
DRIVER_1394_CAM = 0,
/** PGR1394.sys. */
DRIVER_1394_PRO = 1,
/** firewire_core. */
DRIVER_1394_JUJU = 2,
/** video1394. */
DRIVER_1394_VIDEO1394 = 3,
/** raw1394. */
DRIVER_1394_RAW1394 = 4,
/** No usb driver used just BSD stack. (Linux only) */
DRIVER_USB_NONE = 5,
/** PGRUsbCam.sys. */
DRIVER_USB_CAM = 6,
/** PGRXHCI.sys. */
DRIVER_USB3_PRO = 7,
/** no gige drivers used,MS/BSD stack. */
DRIVER_GIGE_NONE = 8,
/** PGRGigE.sys. */
DRIVER_GIGE_FILTER = 9,
/** PGRGigEPro.sys. */
DRIVER_GIGE_PRO = 10,
/** PgrLwf.sys. */
DRIVER_GIGE_LWF = 11,
/** Unknown driver type. */
DRIVER_UNKNOWN = -1,
DRIVER_FORCE_32BITS = FULL_32BIT_VALUE;
/**
* Color processing algorithms. Please refer to our knowledge base at
* article at http://www.ptgrey.com/support/kb/index.asp?a=4&q=33 for
* complete details for each algorithm.
*/
/** enum FlyCapture2::ColorProcessingAlgorithm */
public static final int
/** Default method. */
DEFAULT = 0,
/** No color processing. */
NO_COLOR_PROCESSING = 1,
/**
* Fastest but lowest quality. Equivalent to
* FLYCAPTURE_NEAREST_NEIGHBOR_FAST in FlyCapture.
*/
NEAREST_NEIGHBOR = 2,
/** Weights surrounding pixels based on localized edge orientation. */
EDGE_SENSING = 3,
/** Well-balanced speed and quality. */
HQ_LINEAR = 4,
/** Slowest but produces good results. */
RIGOROUS = 5,
/** Multithreaded with similar results to edge sensing. */
IPP = 6,
/** Best quality but much faster than rigorous. */
DIRECTIONAL_FILTER = 7,
/** Weighted pixel average from different directions*/
WEIGHTED_DIRECTIONAL_FILTER = 8,
COLOR_PROCESSING_ALGORITHM_FORCE_32BITS = FULL_32BIT_VALUE;
/** Bayer tile formats. */
/** enum FlyCapture2::BayerTileFormat */
public static final int
/** No bayer tile format. */
NONE = 0,
/** Red-Green-Green-Blue. */
RGGB = 1,
/** Green-Red-Blue-Green. */
GRBG = 2,
/** Green-Blue-Red-Green. */
GBRG = 3,
/** Blue-Green-Green-Red. */
BGGR = 4,
BT_FORCE_32BITS = FULL_32BIT_VALUE;
/** File formats to be used for saving images to disk. */
/** enum FlyCapture2::ImageFileFormat */
public static final int
/** Determine file format from file extension. */
FROM_FILE_EXT = -1,
/** Portable gray map. */
PGM = 0,
/** Portable pixmap. */
PPM = 1,
/** Bitmap. */
BMP = 2,
/** JPEG. */
JPEG = 3,
/** JPEG 2000. */
JPEG2000 = 4,
/** Tagged image file format. */
TIFF = 5,
/** Portable network graphics. */
PNG = 6,
/** Raw data. */
RAW = 7,
IMAGE_FILE_FORMAT_FORCE_32BITS = FULL_32BIT_VALUE;
/*@}*/
/**
* \defgroup GigEEnums GigE specific enumerations
*
* These enumerations are specific to GigE camera operation only.
*/
/*@{*/
/** Possible properties that can be queried from the camera. */
/** enum FlyCapture2::GigEPropertyType */
public static final int
HEARTBEAT = 0,
HEARTBEAT_TIMEOUT = 1,
PACKET_SIZE = 2,
PACKET_DELAY = 3;
/*@}*/
/**
* \defgroup Structures Structures
*/
/*@{*/
/** The current version of the library. */
@Namespace("FlyCapture2") public static class FC2Version extends Pointer {
static { Loader.load(); }
/** Default native constructor. */
public FC2Version() { super((Pointer)null); allocate(); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public FC2Version(long size) { super((Pointer)null); allocateArray(size); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public FC2Version(Pointer p) { super(p); }
private native void allocate();
private native void allocateArray(long size);
@Override public FC2Version position(long position) {
return (FC2Version)super.position(position);
}
/** Major version number. */
public native @Cast("unsigned int") int major(); public native FC2Version major(int major);
/** Minor version number. */
public native @Cast("unsigned int") int minor(); public native FC2Version minor(int minor);
/** Type version number. */
public native @Cast("unsigned int") int type(); public native FC2Version type(int type);
/** Build version number. */
public native @Cast("unsigned int") int build(); public native FC2Version build(int build);
}
/** A GUID to the camera. It is used to uniquely identify a camera. */
@Namespace("FlyCapture2") @NoOffset public static class PGRGuid extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public PGRGuid(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public PGRGuid(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public PGRGuid position(long position) {
return (PGRGuid)super.position(position);
}
public native @Cast("unsigned int") int value(int i); public native PGRGuid value(int i, int value);
@MemberGetter public native @Cast("unsigned int*") IntPointer value();
/** Constructor. */
public PGRGuid() { super((Pointer)null); allocate(); }
private native void allocate();
/** Equality operator. */
public native @Cast("bool") @Name("operator ==") boolean equals( @Const @ByRef PGRGuid guid );
/** Inequality operator. */
public native @Cast("bool") @Name("operator !=") boolean notEquals( @Const @ByRef PGRGuid guid );
}
/**
* \defgroup GigEStructures GigE specific structures
*
* These structures are specific to GigE camera operation only.
*/
/*@{*/
/** IPv4 address. */
@Namespace("FlyCapture2") @NoOffset public static class IPAddress extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public IPAddress(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public IPAddress(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public IPAddress position(long position) {
return (IPAddress)super.position(position);
}
public native @Cast("unsigned char") byte octets(int i); public native IPAddress octets(int i, byte octets);
@MemberGetter public native @Cast("unsigned char*") BytePointer octets();
public IPAddress() { super((Pointer)null); allocate(); }
private native void allocate();
public IPAddress( @Cast("unsigned int") int ipAddressVal ) { super((Pointer)null); allocate(ipAddressVal); }
private native void allocate( @Cast("unsigned int") int ipAddressVal );
/** Equality operator. */
public native @Cast("bool") @Name("operator ==") boolean equals( @Const @ByRef IPAddress address );
/** Inequality operator. */
public native @Cast("bool") @Name("operator !=") boolean notEquals( @Const @ByRef IPAddress address );
}
/** MAC address. */
@Namespace("FlyCapture2") @NoOffset public static class MACAddress extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public MACAddress(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public MACAddress(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public MACAddress position(long position) {
return (MACAddress)super.position(position);
}
public native @Cast("unsigned char") byte octets(int i); public native MACAddress octets(int i, byte octets);
@MemberGetter public native @Cast("unsigned char*") BytePointer octets();
public MACAddress() { super((Pointer)null); allocate(); }
private native void allocate();
public MACAddress( @Cast("unsigned int") int macAddressValHigh, @Cast("unsigned int") int macAddressValLow ) { super((Pointer)null); allocate(macAddressValHigh, macAddressValLow); }
private native void allocate( @Cast("unsigned int") int macAddressValHigh, @Cast("unsigned int") int macAddressValLow );
/** Equality operator. */
public native @Cast("bool") @Name("operator ==") boolean equals( @Const @ByRef MACAddress address );
/** Inequality operator. */
public native @Cast("bool") @Name("operator !=") boolean notEquals( @Const @ByRef MACAddress address );
}
/** A GigE property. */
@Namespace("FlyCapture2") public static class GigEProperty extends Pointer {
static { Loader.load(); }
/** Default native constructor. */
public GigEProperty() { super((Pointer)null); allocate(); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public GigEProperty(long size) { super((Pointer)null); allocateArray(size); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public GigEProperty(Pointer p) { super(p); }
private native void allocate();
private native void allocateArray(long size);
@Override public GigEProperty position(long position) {
return (GigEProperty)super.position(position);
}
/** The type of property. */
public native @Cast("FlyCapture2::GigEPropertyType") int propType(); public native GigEProperty propType(int propType);
/**
* Whether the property is readable. If this is false, then
* no other value in this structure is valid.
*/
public native @Cast("bool") boolean isReadable(); public native GigEProperty isReadable(boolean isReadable);
/** Whether the property is writable. */
public native @Cast("bool") boolean isWritable(); public native GigEProperty isWritable(boolean isWritable);
/** Minimum value. */
public native @Cast("unsigned int") int min(); public native GigEProperty min(int min);
/** Maximum value. */
public native @Cast("unsigned int") int max(); public native GigEProperty max(int max);
/** Current value. */
public native @Cast("unsigned int") int value(); public native GigEProperty value(int value);
}
/** Information about a single GigE stream channel. */
@Namespace("FlyCapture2") @NoOffset public static class GigEStreamChannel extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public GigEStreamChannel(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public GigEStreamChannel(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public GigEStreamChannel position(long position) {
return (GigEStreamChannel)super.position(position);
}
/** Network interface index used (or to use). */
public native @Cast("unsigned int") int networkInterfaceIndex(); public native GigEStreamChannel networkInterfaceIndex(int networkInterfaceIndex);
/** Host port on the PC where the camera will send the data stream. */
public native @Cast("unsigned int") int hostPort(); public native GigEStreamChannel hostPort(int hostPort);
/** Disable IP fragmentation of packets. */
public native @Cast("bool") boolean doNotFragment(); public native GigEStreamChannel doNotFragment(boolean doNotFragment);
/** Packet size, in bytes. */
public native @Cast("unsigned int") int packetSize(); public native GigEStreamChannel packetSize(int packetSize);
/** Inter packet delay, in timestamp counter units. */
public native @Cast("unsigned int") int interPacketDelay(); public native GigEStreamChannel interPacketDelay(int interPacketDelay);
/** Destination IP address. It can be a multicast or unicast address. */
public native @ByRef IPAddress destinationIpAddress(); public native GigEStreamChannel destinationIpAddress(IPAddress destinationIpAddress);
/** Source UDP port of the stream channel. Read only. */
public native @Cast("unsigned int") int sourcePort(); public native GigEStreamChannel sourcePort(int sourcePort);
public GigEStreamChannel() { super((Pointer)null); allocate(); }
private native void allocate();
}
/**
* Configuration for a GigE camera. These options are options that are
* generally should be set before starting isochronous transfer.
*/
@Namespace("FlyCapture2") @NoOffset public static class GigEConfig extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public GigEConfig(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public GigEConfig(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public GigEConfig position(long position) {
return (GigEConfig)super.position(position);
}
/** Turn on/off packet resend functionality */
public native @Cast("bool") boolean enablePacketResend(); public native GigEConfig enablePacketResend(boolean enablePacketResend);
/**
* Number of retries to perform when a register read/write timeout
* is received by the library. The default value is 0.
*/
public native @Cast("unsigned int") int registerTimeoutRetries(); public native GigEConfig registerTimeoutRetries(int registerTimeoutRetries);
/**
* Register read/write timeout value, in microseconds.
* The default value is dependent on the interface type.
*/
public native @Cast("unsigned int") int registerTimeout(); public native GigEConfig registerTimeout(int registerTimeout);
public GigEConfig() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Format 7 information for a single mode. */
@Namespace("FlyCapture2") @NoOffset public static class GigEImageSettingsInfo extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public GigEImageSettingsInfo(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public GigEImageSettingsInfo(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public GigEImageSettingsInfo position(long position) {
return (GigEImageSettingsInfo)super.position(position);
}
/** Maximum image width. */
public native @Cast("unsigned int") int maxWidth(); public native GigEImageSettingsInfo maxWidth(int maxWidth);
/** Maximum image height. */
public native @Cast("unsigned int") int maxHeight(); public native GigEImageSettingsInfo maxHeight(int maxHeight);
/** Horizontal step size for the offset. */
public native @Cast("unsigned int") int offsetHStepSize(); public native GigEImageSettingsInfo offsetHStepSize(int offsetHStepSize);
/** Vertical step size for the offset. */
public native @Cast("unsigned int") int offsetVStepSize(); public native GigEImageSettingsInfo offsetVStepSize(int offsetVStepSize);
/** Horizontal step size for the image. */
public native @Cast("unsigned int") int imageHStepSize(); public native GigEImageSettingsInfo imageHStepSize(int imageHStepSize);
/** Vertical step size for the image. */
public native @Cast("unsigned int") int imageVStepSize(); public native GigEImageSettingsInfo imageVStepSize(int imageVStepSize);
/** Supported pixel formats in a bit field. */
public native @Cast("unsigned int") int pixelFormatBitField(); public native GigEImageSettingsInfo pixelFormatBitField(int pixelFormatBitField);
/** Vendor unique pixel formats in a bit field. */
public native @Cast("unsigned int") int vendorPixelFormatBitField(); public native GigEImageSettingsInfo vendorPixelFormatBitField(int vendorPixelFormatBitField);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native GigEImageSettingsInfo reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public GigEImageSettingsInfo() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Image settings for a GigE camera. */
@Namespace("FlyCapture2") @NoOffset public static class GigEImageSettings extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public GigEImageSettings(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public GigEImageSettings(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public GigEImageSettings position(long position) {
return (GigEImageSettings)super.position(position);
}
/** Horizontal image offset. */
public native @Cast("unsigned int") int offsetX(); public native GigEImageSettings offsetX(int offsetX);
/** Vertical image offset. */
public native @Cast("unsigned int") int offsetY(); public native GigEImageSettings offsetY(int offsetY);
/** Width of image. */
public native @Cast("unsigned int") int width(); public native GigEImageSettings width(int width);
/** Height of image. */
public native @Cast("unsigned int") int height(); public native GigEImageSettings height(int height);
/** Pixel format of image. */
public native @Cast("FlyCapture2::PixelFormat") int pixelFormat(); public native GigEImageSettings pixelFormat(int pixelFormat);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native GigEImageSettings reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public GigEImageSettings() { super((Pointer)null); allocate(); }
private native void allocate();
}
/*@}*/
/**
* \defgroup IIDCStructures IIDC specific structures
*
* These structures are specific to IIDC camera operation only.
*/
/*@{*/
/** Format 7 image settings. */
@Namespace("FlyCapture2") @NoOffset public static class Format7ImageSettings extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public Format7ImageSettings(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public Format7ImageSettings(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public Format7ImageSettings position(long position) {
return (Format7ImageSettings)super.position(position);
}
/** Format 7 mode. */
public native @Cast("FlyCapture2::Mode") int mode(); public native Format7ImageSettings mode(int mode);
/** Horizontal image offset. */
public native @Cast("unsigned int") int offsetX(); public native Format7ImageSettings offsetX(int offsetX);
/** Vertical image offset. */
public native @Cast("unsigned int") int offsetY(); public native Format7ImageSettings offsetY(int offsetY);
/** Width of image. */
public native @Cast("unsigned int") int width(); public native Format7ImageSettings width(int width);
/** Height of image. */
public native @Cast("unsigned int") int height(); public native Format7ImageSettings height(int height);
/** Pixel format of image. */
public native @Cast("FlyCapture2::PixelFormat") int pixelFormat(); public native Format7ImageSettings pixelFormat(int pixelFormat);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native Format7ImageSettings reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public Format7ImageSettings() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Format 7 information for a single mode. */
@Namespace("FlyCapture2") @NoOffset public static class Format7Info extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public Format7Info(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public Format7Info(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public Format7Info position(long position) {
return (Format7Info)super.position(position);
}
/** Format 7 mode. */
public native @Cast("FlyCapture2::Mode") int mode(); public native Format7Info mode(int mode);
/** Maximum image width. */
public native @Cast("unsigned int") int maxWidth(); public native Format7Info maxWidth(int maxWidth);
/** Maximum image height. */
public native @Cast("unsigned int") int maxHeight(); public native Format7Info maxHeight(int maxHeight);
/** Horizontal step size for the offset. */
public native @Cast("unsigned int") int offsetHStepSize(); public native Format7Info offsetHStepSize(int offsetHStepSize);
/** Vertical step size for the offset. */
public native @Cast("unsigned int") int offsetVStepSize(); public native Format7Info offsetVStepSize(int offsetVStepSize);
/** Horizontal step size for the image. */
public native @Cast("unsigned int") int imageHStepSize(); public native Format7Info imageHStepSize(int imageHStepSize);
/** Vertical step size for the image. */
public native @Cast("unsigned int") int imageVStepSize(); public native Format7Info imageVStepSize(int imageVStepSize);
/** Supported pixel formats in a bit field. */
public native @Cast("unsigned int") int pixelFormatBitField(); public native Format7Info pixelFormatBitField(int pixelFormatBitField);
/** Vendor unique pixel formats in a bit field. */
public native @Cast("unsigned int") int vendorPixelFormatBitField(); public native Format7Info vendorPixelFormatBitField(int vendorPixelFormatBitField);
/** Current packet size in bytes. */
public native @Cast("unsigned int") int packetSize(); public native Format7Info packetSize(int packetSize);
/** Minimum packet size in bytes for current mode. */
public native @Cast("unsigned int") int minPacketSize(); public native Format7Info minPacketSize(int minPacketSize);
/** Maximum packet size in bytes for current mode. */
public native @Cast("unsigned int") int maxPacketSize(); public native Format7Info maxPacketSize(int maxPacketSize);
/** Current packet size as a percentage of maximum packet size. */
public native float percentage(); public native Format7Info percentage(float percentage);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native Format7Info reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public Format7Info() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Format 7 packet information. */
@Namespace("FlyCapture2") @NoOffset public static class Format7PacketInfo extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public Format7PacketInfo(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public Format7PacketInfo(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public Format7PacketInfo position(long position) {
return (Format7PacketInfo)super.position(position);
}
/** Recommended bytes per packet. */
public native @Cast("unsigned int") int recommendedBytesPerPacket(); public native Format7PacketInfo recommendedBytesPerPacket(int recommendedBytesPerPacket);
/** Maximum bytes per packet. */
public native @Cast("unsigned int") int maxBytesPerPacket(); public native Format7PacketInfo maxBytesPerPacket(int maxBytesPerPacket);
/** Minimum bytes per packet. */
public native @Cast("unsigned int") int unitBytesPerPacket(); public native Format7PacketInfo unitBytesPerPacket(int unitBytesPerPacket);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native Format7PacketInfo reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public Format7PacketInfo() { super((Pointer)null); allocate(); }
private native void allocate();
}
/*@}*/
/**
* Configuration for a camera. These options are options that are
* generally should be set before starting isochronous transfer.
*/
@Namespace("FlyCapture2") @NoOffset public static class FC2Config extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public FC2Config(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public FC2Config(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public FC2Config position(long position) {
return (FC2Config)super.position(position);
}
/** Number of buffers used by the FlyCapture2 library to grab images. */
public native @Cast("unsigned int") int numBuffers(); public native FC2Config numBuffers(int numBuffers);
/**
* Number of notifications per image. This value should only be set
* after the image settings to be used is set to the camera.
* The default number of notifications is 1.
*
* There are 4 general scenarios:
* - 1 notification - End of image
* - 2 notifications - After first packet and end of image
* - 3 notifications - After first packet, middle of image, end of image
* - x notifications - After first packet, (x -2) spread evenly, end of image
*
* Specifying zero for the number of notifications will be ignored (the current value
* will not be modified).
*
* Note that the event numbers start at 0. Ex. when 3 notifications are
* used, the three events will be 0, 1 and 2.
*/
public native @Cast("unsigned int") int numImageNotifications(); public native FC2Config numImageNotifications(int numImageNotifications);
/**
* Minimum number of notifications needed for the current image
* settings on the camera. Read-only value.
*/
public native @Cast("unsigned int") int minNumImageNotifications(); public native FC2Config minNumImageNotifications(int minNumImageNotifications);
/**
* Time in milliseconds that RetrieveBuffer() and WaitForBufferEvent()
* will wait for an image before timing out and returning.
*/
public native int grabTimeout(); public native FC2Config grabTimeout(int grabTimeout);
/** Grab mode for the camera. The default is DROP_FRAMES. */
public native @Cast("FlyCapture2::GrabMode") int grabMode(); public native FC2Config grabMode(int grabMode);
/** This parameter enables RetrieveBuffer to run in high
* performance mode. This means that any interaction
* with the camera, other then grabbing the image is disabled.
* Currently Retrieve buffer reads registers on the camera to
* determine which embedded image information settings have been
* enabled, and it reads what the bayer tile is currently set to.
* When High Performance mode is on, these reads are disabled. This
* means that any changes to the Bayer Tile or to the Embedded image
* info after StartCapture() will not be tracked when made using
* direct register writes. If the corresponding SetEmbededImageInfo()
* and GetEmbededImageInfo() calls are used then the changes will be
* appropriately reflected. This also means that changes to embedded
* image info from other processes will not be updated either.*/
public native @Cast("bool") boolean highPerformanceRetrieveBuffer(); public native FC2Config highPerformanceRetrieveBuffer(boolean highPerformanceRetrieveBuffer);
/** Isochronous bus speed. */
public native @Cast("FlyCapture2::BusSpeed") int isochBusSpeed(); public native FC2Config isochBusSpeed(int isochBusSpeed);
/** Asynchronous bus speed. */
public native @Cast("FlyCapture2::BusSpeed") int asyncBusSpeed(); public native FC2Config asyncBusSpeed(int asyncBusSpeed);
/**
* Bandwidth allocation flag that tells the camera the bandwidth
* allocation strategy to employ.
*/
public native @Cast("FlyCapture2::BandwidthAllocation") int bandwidthAllocation(); public native FC2Config bandwidthAllocation(int bandwidthAllocation);
/**
* Number of retries to perform when a register read/write timeout
* is received by the library. The default value is 0.
*/
public native @Cast("unsigned int") int registerTimeoutRetries(); public native FC2Config registerTimeoutRetries(int registerTimeoutRetries);
/**
* Register read/write timeout value, in microseconds.
* The default value is dependent on the interface type.
*/
public native @Cast("unsigned int") int registerTimeout(); public native FC2Config registerTimeout(int registerTimeout);
/** Reserved for future use */
public native @Cast("unsigned int") int reserved(int i); public native FC2Config reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public FC2Config() { super((Pointer)null); allocate(); }
private native void allocate();
}
/**
* Information about a specific camera property. This structure is also
* also used as the TriggerDelayInfo structure.
*/
@Namespace("FlyCapture2") @NoOffset public static class PropertyInfo extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public PropertyInfo(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public PropertyInfo(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public PropertyInfo position(long position) {
return (PropertyInfo)super.position(position);
}
/** Property info type. */
public native @Cast("FlyCapture2::PropertyType") int type(); public native PropertyInfo type(int type);
/** Flag indicating if the property is present. */
public native @Cast("bool") boolean present(); public native PropertyInfo present(boolean present);
/** Flag indicating if auto is supported. */
public native @Cast("bool") boolean autoSupported(); public native PropertyInfo autoSupported(boolean autoSupported);
/** Flag indicating if manual is supported. */
public native @Cast("bool") boolean manualSupported(); public native PropertyInfo manualSupported(boolean manualSupported);
/** Flag indicating if on/off is supported. */
public native @Cast("bool") boolean onOffSupported(); public native PropertyInfo onOffSupported(boolean onOffSupported);
/** Flag indicating if one push is supported. */
public native @Cast("bool") boolean onePushSupported(); public native PropertyInfo onePushSupported(boolean onePushSupported);
/** Flag indicating if absolute mode is supported. */
public native @Cast("bool") boolean absValSupported(); public native PropertyInfo absValSupported(boolean absValSupported);
/** Flag indicating if property value can be read out. */
public native @Cast("bool") boolean readOutSupported(); public native PropertyInfo readOutSupported(boolean readOutSupported);
/** Minimum value (as an integer). */
public native @Cast("unsigned int") int min(); public native PropertyInfo min(int min);
/** Maximum value (as an integer). */
public native @Cast("unsigned int") int max(); public native PropertyInfo max(int max);
/** Minimum value (as a floating point value). */
public native float absMin(); public native PropertyInfo absMin(float absMin);
/** Maximum value (as a floating point value). */
public native float absMax(); public native PropertyInfo absMax(float absMax);
/** Textual description of units. */
public native @Cast("char") byte pUnits(int i); public native PropertyInfo pUnits(int i, byte pUnits);
@MemberGetter public native @Cast("char*") BytePointer pUnits();
/** Abbreviated textual description of units. */
public native @Cast("char") byte pUnitAbbr(int i); public native PropertyInfo pUnitAbbr(int i, byte pUnitAbbr);
@MemberGetter public native @Cast("char*") BytePointer pUnitAbbr();
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native PropertyInfo reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public PropertyInfo() { super((Pointer)null); allocate(); }
private native void allocate();
public PropertyInfo( @Cast("FlyCapture2::PropertyType") int propType ) { super((Pointer)null); allocate(propType); }
private native void allocate( @Cast("FlyCapture2::PropertyType") int propType );
}
/** The TriggerDelayInfo structure is identical to PropertyInfo. */
/**
* A specific camera property. \n
* For example, to set the gain to 12dB, set the following values:
* - \a type - \c GAIN
* - \a absControl - \c true
* - \a onePush - \c false
* - \a onOff - \c true
* - \a autoManualMode - \c false
* - \a absValue - \c 12.0
*/
@Namespace("FlyCapture2") @NoOffset public static class Property extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public Property(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public Property(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public Property position(long position) {
return (Property)super.position(position);
}
/** Property info type. */
public native @Cast("FlyCapture2::PropertyType") int type(); public native Property type(int type);
/** Flag indicating if the property is present. */
public native @Cast("bool") boolean present(); public native Property present(boolean present);
/**
* Flag controlling absolute mode (real world units)
* or non-absolute mode (camera internal units).
*/
public native @Cast("bool") boolean absControl(); public native Property absControl(boolean absControl);
/** Flag controlling one push. */
public native @Cast("bool") boolean onePush(); public native Property onePush(boolean onePush);
/** Flag controlling on/off. */
public native @Cast("bool") boolean onOff(); public native Property onOff(boolean onOff);
/** Flag controlling auto. */
public native @Cast("bool") boolean autoManualMode(); public native Property autoManualMode(boolean autoManualMode);
/**
* Value A (integer).
* Used to configure properties in non-absolute mode.
*/
public native @Cast("unsigned int") int valueA(); public native Property valueA(int valueA);
/**
* Value B (integer). For white balance, value B applies to the blue value and
* value A applies to the red value.
*/
public native @Cast("unsigned int") int valueB(); public native Property valueB(int valueB);
/**
* Floating point value.
* Used to configure properties in absolute mode.
*/
public native float absValue(); public native Property absValue(float absValue);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native Property reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public Property() { super((Pointer)null); allocate(); }
private native void allocate();
public Property( @Cast("FlyCapture2::PropertyType") int propType ) { super((Pointer)null); allocate(propType); }
private native void allocate( @Cast("FlyCapture2::PropertyType") int propType );
}
/** The TriggerDelay structure is identical to Property. */
/** Information about a camera trigger property. */
@Namespace("FlyCapture2") @NoOffset public static class TriggerModeInfo extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public TriggerModeInfo(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public TriggerModeInfo(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public TriggerModeInfo position(long position) {
return (TriggerModeInfo)super.position(position);
}
/** Presence of trigger mode. */
public native @Cast("bool") boolean present(); public native TriggerModeInfo present(boolean present);
/** Flag indicating if trigger value can be read out. */
public native @Cast("bool") boolean readOutSupported(); public native TriggerModeInfo readOutSupported(boolean readOutSupported);
/** Flag indicating if on/off is supported. */
public native @Cast("bool") boolean onOffSupported(); public native TriggerModeInfo onOffSupported(boolean onOffSupported);
/** Flag indicating if polarity is supported. */
public native @Cast("bool") boolean polaritySupported(); public native TriggerModeInfo polaritySupported(boolean polaritySupported);
/** Flag indicating if the value is readable. */
public native @Cast("bool") boolean valueReadable(); public native TriggerModeInfo valueReadable(boolean valueReadable);
/** Source mask. */
public native @Cast("unsigned int") int sourceMask(); public native TriggerModeInfo sourceMask(int sourceMask);
/** Flag indicating if software trigger is supported. */
public native @Cast("bool") boolean softwareTriggerSupported(); public native TriggerModeInfo softwareTriggerSupported(boolean softwareTriggerSupported);
/** Mode mask. */
public native @Cast("unsigned int") int modeMask(); public native TriggerModeInfo modeMask(int modeMask);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native TriggerModeInfo reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public TriggerModeInfo() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** A camera trigger. */
@Namespace("FlyCapture2") @NoOffset public static class TriggerMode extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public TriggerMode(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public TriggerMode(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public TriggerMode position(long position) {
return (TriggerMode)super.position(position);
}
/** Flag controlling on/off. */
public native @Cast("bool") boolean onOff(); public native TriggerMode onOff(boolean onOff);
/** Polarity value. */
public native @Cast("unsigned int") int polarity(); public native TriggerMode polarity(int polarity);
/** Source value. */
public native @Cast("unsigned int") int source(); public native TriggerMode source(int source);
/** Mode value. */
public native @Cast("unsigned int") int mode(); public native TriggerMode mode(int mode);
/** Parameter value. */
public native @Cast("unsigned int") int parameter(); public native TriggerMode parameter(int parameter);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native TriggerMode reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public TriggerMode() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** A camera strobe property. */
@Namespace("FlyCapture2") @NoOffset public static class StrobeInfo extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public StrobeInfo(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public StrobeInfo(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public StrobeInfo position(long position) {
return (StrobeInfo)super.position(position);
}
/** Source value. */
public native @Cast("unsigned int") int source(); public native StrobeInfo source(int source);
/** Presence of strobe. */
public native @Cast("bool") boolean present(); public native StrobeInfo present(boolean present);
/** Flag indicating if strobe value can be read out. */
public native @Cast("bool") boolean readOutSupported(); public native StrobeInfo readOutSupported(boolean readOutSupported);
/** Flag indicating if on/off is supported. */
public native @Cast("bool") boolean onOffSupported(); public native StrobeInfo onOffSupported(boolean onOffSupported);
/** Flag indicating if polarity is supported. */
public native @Cast("bool") boolean polaritySupported(); public native StrobeInfo polaritySupported(boolean polaritySupported);
/** Minimum value. */
public native float minValue(); public native StrobeInfo minValue(float minValue);
/** Maximum value. */
public native float maxValue(); public native StrobeInfo maxValue(float maxValue);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native StrobeInfo reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public StrobeInfo() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** A camera strobe. */
@Namespace("FlyCapture2") @NoOffset public static class StrobeControl extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public StrobeControl(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public StrobeControl(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public StrobeControl position(long position) {
return (StrobeControl)super.position(position);
}
/** Source value. */
public native @Cast("unsigned int") int source(); public native StrobeControl source(int source);
/** Flag controlling on/off. */
public native @Cast("bool") boolean onOff(); public native StrobeControl onOff(boolean onOff);
/** Signal polarity. */
public native @Cast("unsigned int") int polarity(); public native StrobeControl polarity(int polarity);
/** Signal delay (in ms). */
public native float delay(); public native StrobeControl delay(float delay);
/** Signal duration (in ms). */
public native float duration(); public native StrobeControl duration(float duration);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native StrobeControl reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public StrobeControl() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Timestamp information. */
@Namespace("FlyCapture2") @NoOffset public static class TimeStamp extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public TimeStamp(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public TimeStamp(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public TimeStamp position(long position) {
return (TimeStamp)super.position(position);
}
/** Seconds. */
public native long seconds(); public native TimeStamp seconds(long seconds);
/** Microseconds. */
public native @Cast("unsigned int") int microSeconds(); public native TimeStamp microSeconds(int microSeconds);
/** 1394 cycle time seconds. */
public native @Cast("unsigned int") int cycleSeconds(); public native TimeStamp cycleSeconds(int cycleSeconds);
/** 1394 cycle time count. */
public native @Cast("unsigned int") int cycleCount(); public native TimeStamp cycleCount(int cycleCount);
/** 1394 cycle time offset. */
public native @Cast("unsigned int") int cycleOffset(); public native TimeStamp cycleOffset(int cycleOffset);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native TimeStamp reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public TimeStamp() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Camera configuration ROM. */
@Namespace("FlyCapture2") @NoOffset public static class ConfigROM extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public ConfigROM(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public ConfigROM(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public ConfigROM position(long position) {
return (ConfigROM)super.position(position);
}
/** Vendor ID of a node. */
public native @Cast("unsigned int") int nodeVendorId(); public native ConfigROM nodeVendorId(int nodeVendorId);
/** Chip ID (high part). */
public native @Cast("unsigned int") int chipIdHi(); public native ConfigROM chipIdHi(int chipIdHi);
/** Chip ID (low part). */
public native @Cast("unsigned int") int chipIdLo(); public native ConfigROM chipIdLo(int chipIdLo);
/** Unit Spec ID, usually 0xa02d. */
public native @Cast("unsigned int") int unitSpecId(); public native ConfigROM unitSpecId(int unitSpecId);
/** Unit software version. */
public native @Cast("unsigned int") int unitSWVer(); public native ConfigROM unitSWVer(int unitSWVer);
/** Unit sub software version. */
public native @Cast("unsigned int") int unitSubSWVer(); public native ConfigROM unitSubSWVer(int unitSubSWVer);
/** Vendor unique info 0. */
public native @Cast("unsigned int") int vendorUniqueInfo_0(); public native ConfigROM vendorUniqueInfo_0(int vendorUniqueInfo_0);
/** Vendor unique info 1. */
public native @Cast("unsigned int") int vendorUniqueInfo_1(); public native ConfigROM vendorUniqueInfo_1(int vendorUniqueInfo_1);
/** Vendor unique info 2. */
public native @Cast("unsigned int") int vendorUniqueInfo_2(); public native ConfigROM vendorUniqueInfo_2(int vendorUniqueInfo_2);
/** Vendor unique info 3. */
public native @Cast("unsigned int") int vendorUniqueInfo_3(); public native ConfigROM vendorUniqueInfo_3(int vendorUniqueInfo_3);
/** Keyword. */
public native @Cast("char") byte pszKeyword(int i); public native ConfigROM pszKeyword(int i, byte pszKeyword);
@MemberGetter public native @Cast("char*") BytePointer pszKeyword();
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native ConfigROM reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public ConfigROM() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Camera information. */
@Namespace("FlyCapture2") @NoOffset public static class CameraInfo extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public CameraInfo(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public CameraInfo(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public CameraInfo position(long position) {
return (CameraInfo)super.position(position);
}
/** Device serial number. */
public native @Cast("unsigned int") int serialNumber(); public native CameraInfo serialNumber(int serialNumber);
/** Interface type. */
public native @Cast("FlyCapture2::InterfaceType") int interfaceType(); public native CameraInfo interfaceType(int interfaceType);
/** Driver type. */
public native @Cast("FlyCapture2::DriverType") int driverType(); public native CameraInfo driverType(int driverType);
/** Flag indicating if this is a color camera. */
public native @Cast("bool") boolean isColorCamera(); public native CameraInfo isColorCamera(boolean isColorCamera);
/** Device model name. */
public native @Cast("char") byte modelName(int i); public native CameraInfo modelName(int i, byte modelName);
@MemberGetter public native @Cast("char*") BytePointer modelName();
/** Device vendor name. */
public native @Cast("char") byte vendorName(int i); public native CameraInfo vendorName(int i, byte vendorName);
@MemberGetter public native @Cast("char*") BytePointer vendorName();
/** String detailing the sensor information. */
public native @Cast("char") byte sensorInfo(int i); public native CameraInfo sensorInfo(int i, byte sensorInfo);
@MemberGetter public native @Cast("char*") BytePointer sensorInfo();
/** String providing the sensor resolution. */
public native @Cast("char") byte sensorResolution(int i); public native CameraInfo sensorResolution(int i, byte sensorResolution);
@MemberGetter public native @Cast("char*") BytePointer sensorResolution();
/** Driver name of driver being used. */
public native @Cast("char") byte driverName(int i); public native CameraInfo driverName(int i, byte driverName);
@MemberGetter public native @Cast("char*") BytePointer driverName();
/** Firmware version of camera. */
public native @Cast("char") byte firmwareVersion(int i); public native CameraInfo firmwareVersion(int i, byte firmwareVersion);
@MemberGetter public native @Cast("char*") BytePointer firmwareVersion();
/** Firmware build time. */
public native @Cast("char") byte firmwareBuildTime(int i); public native CameraInfo firmwareBuildTime(int i, byte firmwareBuildTime);
@MemberGetter public native @Cast("char*") BytePointer firmwareBuildTime();
/** Maximum bus speed. */
public native @Cast("FlyCapture2::BusSpeed") int maximumBusSpeed(); public native CameraInfo maximumBusSpeed(int maximumBusSpeed);
/** Bayer tile format. */
public native @Cast("FlyCapture2::BayerTileFormat") int bayerTileFormat(); public native CameraInfo bayerTileFormat(int bayerTileFormat);
/** Bus number, set to 0 for GigE and USB cameras **/
public native @Cast("unsigned short") short busNumber(); public native CameraInfo busNumber(short busNumber);
/** ieee1394 Node number, set to 0 for GigE and USB cameras **/
public native @Cast("unsigned short") short nodeNumber(); public native CameraInfo nodeNumber(short nodeNumber);
/** PCIe Bus Speed, set to PCIE_BUSSPEED_UNKNOWN for unsupported drivers **/
public native @Cast("FlyCapture2::PCIeBusSpeed") int pcieBusSpeed(); public native CameraInfo pcieBusSpeed(int pcieBusSpeed);
/** \name IIDC specific information */
/*@{*/
/** DCAM version. */
public native @Cast("unsigned int") int iidcVer(); public native CameraInfo iidcVer(int iidcVer);
/** Configuration ROM data. */
public native @ByRef ConfigROM configROM(); public native CameraInfo configROM(ConfigROM configROM);
/*@}*/
/** \name GigE specific information */
/*@{*/
/** GigE Vision version. */
public native @Cast("unsigned int") int gigEMajorVersion(); public native CameraInfo gigEMajorVersion(int gigEMajorVersion);
/** GigE Vision minor version. */
public native @Cast("unsigned int") int gigEMinorVersion(); public native CameraInfo gigEMinorVersion(int gigEMinorVersion);
/** User defined name. */
public native @Cast("char") byte userDefinedName(int i); public native CameraInfo userDefinedName(int i, byte userDefinedName);
@MemberGetter public native @Cast("char*") BytePointer userDefinedName();
/** XML URL 1. */
public native @Cast("char") byte xmlURL1(int i); public native CameraInfo xmlURL1(int i, byte xmlURL1);
@MemberGetter public native @Cast("char*") BytePointer xmlURL1();
/** XML URL 2. */
public native @Cast("char") byte xmlURL2(int i); public native CameraInfo xmlURL2(int i, byte xmlURL2);
@MemberGetter public native @Cast("char*") BytePointer xmlURL2();
/** MAC address */
public native @ByRef MACAddress macAddress(); public native CameraInfo macAddress(MACAddress macAddress);
/** IP address. */
public native @ByRef IPAddress ipAddress(); public native CameraInfo ipAddress(IPAddress ipAddress);
/** Subnet mask. */
public native @ByRef IPAddress subnetMask(); public native CameraInfo subnetMask(IPAddress subnetMask);
/** Default gateway. */
public native @ByRef IPAddress defaultGateway(); public native CameraInfo defaultGateway(IPAddress defaultGateway);
/** Status/Content of CCP register */
public native @Cast("unsigned int") int ccpStatus(); public native CameraInfo ccpStatus(int ccpStatus);
/** Local Application IP Address. */
public native @Cast("unsigned int") int applicationIPAddress(); public native CameraInfo applicationIPAddress(int applicationIPAddress);
/** Local Application port. */
public native @Cast("unsigned int") int applicationPort(); public native CameraInfo applicationPort(int applicationPort);
/*@}*/
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native CameraInfo reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public CameraInfo() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Properties of a single embedded image info property. */
@Namespace("FlyCapture2") @NoOffset public static class EmbeddedImageInfoProperty extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public EmbeddedImageInfoProperty(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public EmbeddedImageInfoProperty(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public EmbeddedImageInfoProperty position(long position) {
return (EmbeddedImageInfoProperty)super.position(position);
}
/** Whether this property is available. */
public native @Cast("bool") boolean available(); public native EmbeddedImageInfoProperty available(boolean available);
/** Whether this property is on or off. */
public native @Cast("bool") boolean onOff(); public native EmbeddedImageInfoProperty onOff(boolean onOff);
public EmbeddedImageInfoProperty() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Properties of the possible embedded image information. */
@Namespace("FlyCapture2") public static class EmbeddedImageInfo extends Pointer {
static { Loader.load(); }
/** Default native constructor. */
public EmbeddedImageInfo() { super((Pointer)null); allocate(); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public EmbeddedImageInfo(long size) { super((Pointer)null); allocateArray(size); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public EmbeddedImageInfo(Pointer p) { super(p); }
private native void allocate();
private native void allocateArray(long size);
@Override public EmbeddedImageInfo position(long position) {
return (EmbeddedImageInfo)super.position(position);
}
public native @ByRef EmbeddedImageInfoProperty timestamp(); public native EmbeddedImageInfo timestamp(EmbeddedImageInfoProperty timestamp);
public native @ByRef EmbeddedImageInfoProperty gain(); public native EmbeddedImageInfo gain(EmbeddedImageInfoProperty gain);
public native @ByRef EmbeddedImageInfoProperty shutter(); public native EmbeddedImageInfo shutter(EmbeddedImageInfoProperty shutter);
public native @ByRef EmbeddedImageInfoProperty brightness(); public native EmbeddedImageInfo brightness(EmbeddedImageInfoProperty brightness);
public native @ByRef EmbeddedImageInfoProperty exposure(); public native EmbeddedImageInfo exposure(EmbeddedImageInfoProperty exposure);
public native @ByRef EmbeddedImageInfoProperty whiteBalance(); public native EmbeddedImageInfo whiteBalance(EmbeddedImageInfoProperty whiteBalance);
public native @ByRef EmbeddedImageInfoProperty frameCounter(); public native EmbeddedImageInfo frameCounter(EmbeddedImageInfoProperty frameCounter);
public native @ByRef EmbeddedImageInfoProperty strobePattern(); public native EmbeddedImageInfo strobePattern(EmbeddedImageInfoProperty strobePattern);
public native @ByRef EmbeddedImageInfoProperty GPIOPinState(); public native EmbeddedImageInfo GPIOPinState(EmbeddedImageInfoProperty GPIOPinState);
public native @ByRef EmbeddedImageInfoProperty ROIPosition(); public native EmbeddedImageInfo ROIPosition(EmbeddedImageInfoProperty ROIPosition);
}
/** Metadata related to an image. */
@Namespace("FlyCapture2") @NoOffset public static class ImageMetadata extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public ImageMetadata(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public ImageMetadata(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public ImageMetadata position(long position) {
return (ImageMetadata)super.position(position);
}
/** Embedded timestamp. */
public native @Cast("unsigned int") int embeddedTimeStamp(); public native ImageMetadata embeddedTimeStamp(int embeddedTimeStamp);
/** Embedded gain. */
public native @Cast("unsigned int") int embeddedGain(); public native ImageMetadata embeddedGain(int embeddedGain);
/** Embedded shutter. */
public native @Cast("unsigned int") int embeddedShutter(); public native ImageMetadata embeddedShutter(int embeddedShutter);
/** Embedded brightness. */
public native @Cast("unsigned int") int embeddedBrightness(); public native ImageMetadata embeddedBrightness(int embeddedBrightness);
/** Embedded exposure. */
public native @Cast("unsigned int") int embeddedExposure(); public native ImageMetadata embeddedExposure(int embeddedExposure);
/** Embedded white balance. */
public native @Cast("unsigned int") int embeddedWhiteBalance(); public native ImageMetadata embeddedWhiteBalance(int embeddedWhiteBalance);
/** Embedded frame counter. */
public native @Cast("unsigned int") int embeddedFrameCounter(); public native ImageMetadata embeddedFrameCounter(int embeddedFrameCounter);
/** Embedded strobe pattern. */
public native @Cast("unsigned int") int embeddedStrobePattern(); public native ImageMetadata embeddedStrobePattern(int embeddedStrobePattern);
/** Embedded GPIO pin state. */
public native @Cast("unsigned int") int embeddedGPIOPinState(); public native ImageMetadata embeddedGPIOPinState(int embeddedGPIOPinState);
/** Embedded ROI position. */
public native @Cast("unsigned int") int embeddedROIPosition(); public native ImageMetadata embeddedROIPosition(int embeddedROIPosition);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native ImageMetadata reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public ImageMetadata() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Information about the camera's look up table. */
@Namespace("FlyCapture2") @NoOffset public static class LUTData extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public LUTData(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public LUTData(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public LUTData position(long position) {
return (LUTData)super.position(position);
}
/** Flag indicating if LUT is supported. */
public native @Cast("bool") boolean supported(); public native LUTData supported(boolean supported);
/** Flag indicating if LUT is enabled. */
public native @Cast("bool") boolean enabled(); public native LUTData enabled(boolean enabled);
/** The number of LUT banks available (Always 1 for PGR LUT). */
public native @Cast("unsigned int") int numBanks(); public native LUTData numBanks(int numBanks);
/** The number of LUT channels per bank available. */
public native @Cast("unsigned int") int numChannels(); public native LUTData numChannels(int numChannels);
/** The input bit depth of the LUT. */
public native @Cast("unsigned int") int inputBitDepth(); public native LUTData inputBitDepth(int inputBitDepth);
/** The output bit depth of the LUT. */
public native @Cast("unsigned int") int outputBitDepth(); public native LUTData outputBitDepth(int outputBitDepth);
/** The number of entries in the LUT. */
public native @Cast("unsigned int") int numEntries(); public native LUTData numEntries(int numEntries);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native LUTData reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public LUTData() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Camera diagnostic information. */
@Namespace("FlyCapture2") @NoOffset public static class CameraStats extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public CameraStats(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public CameraStats(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public CameraStats position(long position) {
return (CameraStats)super.position(position);
}
/* Number of dropped images in DROP_IMAGE mode */
public native @Cast("unsigned int") int imageDropped(); public native CameraStats imageDropped(int imageDropped);
/* Number of corrupt images, such as missing packet, zero packet */
public native @Cast("unsigned int") int imageCorrupt(); public native CameraStats imageCorrupt(int imageCorrupt);
/* Number of transmissions failed of camera */
public native @Cast("unsigned int") int imageXmitFailed(); public native CameraStats imageXmitFailed(int imageXmitFailed);
/* Number of images dropped in driver */
public native @Cast("unsigned int") int imageDriverDropped(); public native CameraStats imageDriverDropped(int imageDriverDropped);
/* Errors of register reading */
public native @Cast("unsigned int") int regReadFailed(); public native CameraStats regReadFailed(int regReadFailed);
/* Errors of register writing */
public native @Cast("unsigned int") int regWriteFailed(); public native CameraStats regWriteFailed(int regWriteFailed);
/* Port errors */
public native @Cast("unsigned int") int portErrors(); public native CameraStats portErrors(int portErrors);
/* The value of the camera power register.
* false: Camera is powered down.
* true: Camera is powered up.
*/
public native @Cast("bool") boolean cameraPowerUp(); public native CameraStats cameraPowerUp(boolean cameraPowerUp);
/* The voltage values of the various voltage registers
* supported by the camera.
*/
public native float cameraVoltages(int i); public native CameraStats cameraVoltages(int i, float cameraVoltages);
@MemberGetter public native FloatPointer cameraVoltages();
/** The number of voltage registers available.
* 0: the values in cameraVoltages[] are invalid.
*/
public native @Cast("unsigned int") int numVoltages(); public native CameraStats numVoltages(int numVoltages);
/* The current values of the various current registers
* supported by the camera.
*/
public native float cameraCurrents(int i); public native CameraStats cameraCurrents(int i, float cameraCurrents);
@MemberGetter public native FloatPointer cameraCurrents();
/** The number of current registers available.
* 0: the values in cameraCurrents[] are invalid.
*/
public native @Cast("unsigned int") int numCurrents(); public native CameraStats numCurrents(int numCurrents);
/* The temperature of the camera board-level components. The value is
* in kelvins (0?C = 273.15K) and are in one-tenths (0.1) of a kelvin.
*/
public native @Cast("unsigned int") int temperature(); public native CameraStats temperature(int temperature);
/* Time in seconds since the camera was initialized. */
public native @Cast("unsigned int") int timeSinceInitialization(); public native CameraStats timeSinceInitialization(int timeSinceInitialization);
/* Time in seconds since the camera detected a bus reset. */
public native @Cast("unsigned int") int timeSinceBusReset(); public native CameraStats timeSinceBusReset(int timeSinceBusReset);
/* Time stamp */
public native @ByRef TimeStamp timeStamp(); public native CameraStats timeStamp(TimeStamp timeStamp);
/* Number of packets requested for resend */
public native @Cast("unsigned int") int numResendPacketsRequested(); public native CameraStats numResendPacketsRequested(int numResendPacketsRequested);
/* Number of packet-resend packets received */
public native @Cast("unsigned int") int numResendPacketsReceived(); public native CameraStats numResendPacketsReceived(int numResendPacketsReceived);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native CameraStats reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public CameraStats() { super((Pointer)null); allocate(); }
private native void allocate();
}
/**
* \defgroup ImageSaveStructures Image saving structures.
*
* These structures define various parameters used for saving images.
*/
/*@{*/
/** Options for saving PNG images. */
@Namespace("FlyCapture2") @NoOffset public static class PNGOption extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public PNGOption(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public PNGOption(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public PNGOption position(long position) {
return (PNGOption)super.position(position);
}
/** Whether to save the PNG as interlaced. */
public native @Cast("bool") boolean interlaced(); public native PNGOption interlaced(boolean interlaced);
/** Compression level (0-9). 0 is no compression, 9 is best compression. */
public native @Cast("unsigned int") int compressionLevel(); public native PNGOption compressionLevel(int compressionLevel);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native PNGOption reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public PNGOption() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Options for saving PPM images. */
@Namespace("FlyCapture2") @NoOffset public static class PPMOption extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public PPMOption(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public PPMOption(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public PPMOption position(long position) {
return (PPMOption)super.position(position);
}
/** Whether to save the PPM as a binary file. */
public native @Cast("bool") boolean binaryFile(); public native PPMOption binaryFile(boolean binaryFile);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native PPMOption reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public PPMOption() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Options for saving PGM images. */
@Namespace("FlyCapture2") @NoOffset public static class PGMOption extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public PGMOption(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public PGMOption(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public PGMOption position(long position) {
return (PGMOption)super.position(position);
}
/** Whether to save the PPM as a binary file. */
public native @Cast("bool") boolean binaryFile(); public native PGMOption binaryFile(boolean binaryFile);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native PGMOption reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public PGMOption() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Options for saving TIFF images. */
@Namespace("FlyCapture2") @NoOffset public static class TIFFOption extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public TIFFOption(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public TIFFOption(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public TIFFOption position(long position) {
return (TIFFOption)super.position(position);
}
/** enum FlyCapture2::TIFFOption::CompressionMethod */
public static final int
/** Save without any compression. */
NONE = 1,
/** Save using PACKBITS compression. */
PACKBITS = 2,
/** Save using DEFLATE compression (ZLIB compression). */
DEFLATE = 3,
/** Save using ADOBE DEFLATE compression */
ADOBE_DEFLATE = 4,
/**
* Save using CCITT Group 3 fax encoding. This is only valid for
* 1-bit images only. Default to LZW for other bit depths.
*/
CCITTFAX3 = 5,
/**
* Save using CCITT Group 4 fax encoding. This is only valid for
* 1-bit images only. Default to LZW for other bit depths.
*/
CCITTFAX4 = 6,
/** Save using LZW compression. */
LZW = 7,
/**
* Save using JPEG compression. This is only valid for 8-bit
* greyscale and 24-bit only. Default to LZW for other bit depths.
*/
JPEG = 8;
/** Compression method to use for encoding TIFF images. */
public native @Cast("FlyCapture2::TIFFOption::CompressionMethod") int compression(); public native TIFFOption compression(int compression);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native TIFFOption reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public TIFFOption() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Options for saving JPEG image. */
@Namespace("FlyCapture2") @NoOffset public static class JPEGOption extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public JPEGOption(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public JPEGOption(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public JPEGOption position(long position) {
return (JPEGOption)super.position(position);
}
/** Whether to save as a progressive JPEG file. */
public native @Cast("bool") boolean progressive(); public native JPEGOption progressive(boolean progressive);
/**
* JPEG image quality in range (0-100).
* - 100 - Superb quality.
* - 75 - Good quality.
* - 50 - Normal quality.
* - 10 - Poor quality.
*/
public native @Cast("unsigned int") int quality(); public native JPEGOption quality(int quality);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native JPEGOption reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public JPEGOption() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Options for saving JPEG2000 image. */
@Namespace("FlyCapture2") @NoOffset public static class JPG2Option extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public JPG2Option(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public JPG2Option(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public JPG2Option position(long position) {
return (JPG2Option)super.position(position);
}
/** JPEG saving quality in range (1-512). */
public native @Cast("unsigned int") int quality(); public native JPG2Option quality(int quality);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native JPG2Option reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public JPG2Option() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Options for saving Bitmap image. */
@Namespace("FlyCapture2") @NoOffset public static class BMPOption extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public BMPOption(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public BMPOption(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public BMPOption position(long position) {
return (BMPOption)super.position(position);
}
public native @Cast("bool") boolean indexedColor_8bit(); public native BMPOption indexedColor_8bit(boolean indexedColor_8bit);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native BMPOption reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public BMPOption() { super((Pointer)null); allocate(); }
private native void allocate();
}
/* Callback function typedef: a function accepting pointer-to-void input as its sole
* argument, and returns void (ie: nothing).
*/
public static class CameraEventCallback extends FunctionPointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public CameraEventCallback(Pointer p) { super(p); }
protected CameraEventCallback() { allocate(); }
private native void allocate();
public native void call(Pointer data);
}
/** Options for enabling device event registration. */
@Namespace("FlyCapture2") public static class EventOptions extends Pointer {
static { Loader.load(); }
/** Default native constructor. */
public EventOptions() { super((Pointer)null); allocate(); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public EventOptions(long size) { super((Pointer)null); allocateArray(size); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public EventOptions(Pointer p) { super(p); }
private native void allocate();
private native void allocateArray(long size);
@Override public EventOptions position(long position) {
return (EventOptions)super.position(position);
}
/** Callback function pointer */
public native CameraEventCallback EventCallbackFcn(); public native EventOptions EventCallbackFcn(CameraEventCallback EventCallbackFcn);
/** Event name to register */
@MemberGetter public native @Cast("const char*") BytePointer EventName();
/** Pointer to callback data to be passed to the callback function */
@MemberGetter public native @Const Pointer EventUserData();
/** Size of the underlying struct passed as eventCallbackData for sanity checks */
public native @Cast("size_t") long EventUserDataSize(); public native EventOptions EventUserDataSize(long EventUserDataSize);
}
/* Callback data passed to the callback function provided when using
* RegisterEvent() or RegisterAllEvents().
*/
@Namespace("FlyCapture2") public static class EventCallbackData extends Pointer {
static { Loader.load(); }
/** Default native constructor. */
public EventCallbackData() { super((Pointer)null); allocate(); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public EventCallbackData(long size) { super((Pointer)null); allocateArray(size); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public EventCallbackData(Pointer p) { super(p); }
private native void allocate();
private native void allocateArray(long size);
@Override public EventCallbackData position(long position) {
return (EventCallbackData)super.position(position);
}
/** Pointer to the user-supplied data struct */
public native Pointer EventUserData(); public native EventCallbackData EventUserData(Pointer EventUserData);
/** Size of the user data data supplied to the RegisterEvent()
* function.
*/
public native @Cast("size_t") long EventUserDataSize(); public native EventCallbackData EventUserDataSize(long EventUserDataSize);
/** The event name used to register the event. Provided so the user
* knows which event triggered the callback.
*/
@MemberGetter public native @Cast("const char*") BytePointer EventName();
/** The device register which EventName maps to. Provides an alternate
* means of indexing into different event types.
*/
public native @Cast("long long unsigned") long EventID(); public native EventCallbackData EventID(long EventID);
/** Timestamp indicated the time (as reported by the camera) at which
* the camera exposure operation completed. This can be compared with
* image stimestamps if there is a need to map event timestamps to
* specific images, if applicable.
*/
public native @Cast("long long unsigned") long EventTimestamp(); public native EventCallbackData EventTimestamp(long EventTimestamp);
/** A pointer to additional data pertaining to the event which just
* trigger the callback function. The data may be of difference sizes
* or may not even be allocated, depending on the type of event which
* triggered the callback.
*/
public native Pointer EventData(); public native EventCallbackData EventData(Pointer EventData);
/** The size of the structure pointed to by EventData. This value should
* be checked, especially if there are events which can trigger variable-
* length event data to be returned to the user when the callback function
* is issued.
*/
public native @Cast("size_t") long EventDataSize(); public native EventCallbackData EventDataSize(long EventDataSize);
}
/*@}*/
/*@}*/
// #endif // FLIR_FC2_FLYCAPTURE2DEFS_H
// Parsed from
//=============================================================================
// Copyright ? 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id: Error.h 316355 2017-02-20 23:02:28Z alin $
//=============================================================================
// #ifndef PGR_FC2_ERROR_H
// #define PGR_FC2_ERROR_H
// #include "FlyCapture2Platform.h"
// #include "FlyCapture2Defs.h"
// #include
@Namespace("FlyCapture2") @Opaque public static class ErrorImpl extends Pointer {
/** Empty constructor. Calls {@code super((Pointer)null)}. */
public ErrorImpl() { super((Pointer)null); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public ErrorImpl(Pointer p) { super(p); }
}
/**
* The Error object represents an error that is returned from the library.
* Overloaded operators allow comparisons against other Error objects or
* the ErrorType enumeration.
*/
@Namespace("FlyCapture2") @NoOffset public static class Error extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public Error(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public Error(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public Error position(long position) {
return (Error)super.position(position);
}
/**
* Default constructor.
*/
public Error() { super((Pointer)null); allocate(); }
private native void allocate();
/**
* Copy constructor.
*/
public Error( @Const @ByRef Error error ) { super((Pointer)null); allocate(error); }
private native void allocate( @Const @ByRef Error error );
/**
* Default destructor.
*/
/**
* Assignment operator.
*/
public native @ByRef @Name("operator =") Error put( @Const @ByRef Error error );
/**
* Equality operator.
*/
public native @Cast("bool") @Name("operator ==") boolean equals( @Const @ByRef Error error );
/**
* Equality operator. This overloaded operator compares the
* ErrorType of the Error against the specified ErrorType.
*/
public native @Cast("bool") @Name("operator ==") boolean equals( @Cast("const FlyCapture2::ErrorType") int errorType );
/**
* Inequality operator.
*/
public native @Cast("bool") @Name("operator !=") boolean notEquals( @Const @ByRef Error error );
/**
* Inequality operator. This overloaded operator compares the
* ErrorType of the Error against the specified ErrorType.
*/
public native @Cast("bool") @Name("operator !=") boolean notEquals( @Cast("const FlyCapture2::ErrorType") int errorType );
/**
* Retrieve the ErrorType of the error.
*
* @return The ErrorType of the error.
*/
public native @Cast("FlyCapture2::ErrorType") int GetType();
/**
* Retrieve the top level description of the error that occurred.
*
* @return A string with the error description.
*/
public native @Cast("const char*") BytePointer GetDescription();
/**
* Retrieve the line number where the error originated.
*
* @return The line number.
*/
public native @Cast("unsigned int") int GetLine();
/**
* Retrieve the source filename where the error originated.
*
* @return A string with the file name.
*/
public native @Cast("const char*") BytePointer GetFilename();
/**
* Get the error which caused this error.
*
* @return An error object representing the cause of this error.
*/
public native @ByVal Error GetCause();
/**
* Retrieve the build date of the file where the error originated.
*
* @return A string with the build date and time.
*/
public native @Cast("const char*") BytePointer GetBuildDate();
/**
* Retrieve the support information.
* It is not implemented in this release.
*
* @return A string containing support information.
*/
public native @Cast("const char*") BytePointer CollectSupportInformation();
/**
* Print a formatted log trace to stderr.
*/
public native void PrintErrorTrace();
}
// #endif // PGR_FC2_ERROR_H
// Parsed from
//=============================================================================
// Copyright © 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
// #ifndef PGR_FC2_BUSMANAGER_H
// #define PGR_FC2_BUSMANAGER_H
// #include "FlyCapture2Platform.h"
// #include "FlyCapture2Defs.h"
/**
* Bus event callback function prototype. Defines the syntax of the
* callback function that is passed into RegisterCallback() and
* UnregisterCallback(). It is recommended that minimal handling be
* performed in this callback as it will block internal processing
* of bus events until it returns.
*/
public static class BusEventCallback extends FunctionPointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public BusEventCallback(Pointer p) { super(p); }
protected BusEventCallback() { allocate(); }
private native void allocate();
public native void call( Pointer pParameter, @Cast("unsigned int") int serialNumber );
}
/**
* Handle that is returned when registering a callback. It is required
* when unregistering the callback.
*/
@Namespace @Name("void") @Opaque public static class CallbackHandle extends Pointer {
/** Empty constructor. Calls {@code super((Pointer)null)}. */
public CallbackHandle() { super((Pointer)null); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public CallbackHandle(Pointer p) { super(p); }
}
/**
* The BusManager class provides the functionality for the user to get an
* PGRGuid for a desired camera or device easily. Once the
* camera or device token is found, it can then be used to connect to the
* camera or device through the camera class or device class. In addition,
* the BusManager class provides the ability to be notified when a camera
* or device is added or removed or some event occurs on the PC.
*/
@Namespace("FlyCapture2") @NoOffset public static class BusManager extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public BusManager(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public BusManager(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public BusManager position(long position) {
return (BusManager)super.position(position);
}
/**
* Default constructor.
*/
public BusManager() { super((Pointer)null); allocate(); }
private native void allocate();
/**
* Default destructor.
*/
/**
* Fire a bus reset. The actual bus reset is only fired for the
* specified 1394 bus, but it will effectively cause a global bus
* reset for the library.
*
* @param pGuid PGRGuid of the camera or the device to cause bus reset.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error FireBusReset( PGRGuid pGuid);
/**
* Gets the number of cameras attached to the PC.
*
* @param pNumCameras The number of cameras attached.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetNumOfCameras( @Cast("unsigned int*") IntPointer pNumCameras );
public native @ByVal Error GetNumOfCameras( @Cast("unsigned int*") IntBuffer pNumCameras );
public native @ByVal Error GetNumOfCameras( @Cast("unsigned int*") int[] pNumCameras );
/**
* Gets the PGRGuid for a camera with the specified IPv4 address.
*
* @param ipAddress IP address to get GUID for.
* @param pGuid Unique PGRGuid for the camera.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetCameraFromIPAddress(
@ByVal IPAddress ipAddress,
PGRGuid pGuid );
/**
* Gets the PGRGuid for a camera on the PC. It uniquely identifies
* the camera specified by the index and is used to identify the camera
* during a Camera::Connect() call.
*
* @param index Zero based index of camera.
* @param pGuid Unique PGRGuid for the camera.
*
* @see GetCameraFromSerialNumber()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetCameraFromIndex(
@Cast("unsigned int") int index,
PGRGuid pGuid );
/**
* Gets the PGRGuid for a camera on the PC. It uniquely identifies
* the camera specified by the serial number and is used to identify the camera
* during a Camera::Connect() call.
*
* @param serialNumber Serial number of camera.
* @param pGuid Unique PGRGuid for the camera.
*
* @see GetCameraFromIndex()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetCameraFromSerialNumber(
@Cast("unsigned int") int serialNumber,
PGRGuid pGuid );
/**
* Gets the serial number of the camera with the specified index.
*
* @param index Zero based index of desired camera.
* @param pSerialNumber Serial number of camera.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetCameraSerialNumberFromIndex(
@Cast("unsigned int") int index,
@Cast("unsigned int*") IntPointer pSerialNumber );
public native @ByVal Error GetCameraSerialNumberFromIndex(
@Cast("unsigned int") int index,
@Cast("unsigned int*") IntBuffer pSerialNumber );
public native @ByVal Error GetCameraSerialNumberFromIndex(
@Cast("unsigned int") int index,
@Cast("unsigned int*") int[] pSerialNumber );
/**
* Gets the interface type associated with a PGRGuid. This is useful
* in situations where there is a need to enumerate all cameras
* for a particular interface.
*
* @param pGuid The PGRGuid to get the interface for.
* @param pInterfaceType The interface type of the PGRGuid.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetInterfaceTypeFromGuid(
PGRGuid pGuid,
@Cast("FlyCapture2::InterfaceType*") IntPointer pInterfaceType );
public native @ByVal Error GetInterfaceTypeFromGuid(
PGRGuid pGuid,
@Cast("FlyCapture2::InterfaceType*") IntBuffer pInterfaceType );
public native @ByVal Error GetInterfaceTypeFromGuid(
PGRGuid pGuid,
@Cast("FlyCapture2::InterfaceType*") int[] pInterfaceType );
/**
* Gets the number of devices. This may include hubs, host controllers
* and other hardware devices (including cameras).
*
* @param pNumDevices The number of devices found.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetNumOfDevices( @Cast("unsigned int*") IntPointer pNumDevices );
public native @ByVal Error GetNumOfDevices( @Cast("unsigned int*") IntBuffer pNumDevices );
public native @ByVal Error GetNumOfDevices( @Cast("unsigned int*") int[] pNumDevices );
/**
* Gets the PGRGuid for a device. It uniquely identifies the device
* specified by the index.
*
* @param index Zero based index of device.
* @param pGuid Unique PGRGuid for the device.
*
* @see GetNumOfDevices()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetDeviceFromIndex(
@Cast("unsigned int") int index,
PGRGuid pGuid );
/**
* Read a phy register on the specified device. The full address
* to be read from is determined by the page, port and address.
*
* @param guid PGRGuid of the device to read from.
* @param page Page to read from.
* @param port Port to read from.
* @param address Address to read from.
* @param pValue Value read from the phy register.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error ReadPhyRegister(
@ByVal PGRGuid guid,
@Cast("unsigned int") int page,
@Cast("unsigned int") int port,
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntPointer pValue );
public native @ByVal Error ReadPhyRegister(
@ByVal PGRGuid guid,
@Cast("unsigned int") int page,
@Cast("unsigned int") int port,
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntBuffer pValue );
public native @ByVal Error ReadPhyRegister(
@ByVal PGRGuid guid,
@Cast("unsigned int") int page,
@Cast("unsigned int") int port,
@Cast("unsigned int") int address,
@Cast("unsigned int*") int[] pValue );
/**
* Write a phy register on the specified device. The full address
* to be written to is determined by the page, port and address.
*
* @param guid PGRGuid of the device to write to.
* @param page Page to write to.
* @param port Port to write to.
* @param address Address to write to.
* @param value Value to write to phy register.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error WritePhyRegister(
@ByVal PGRGuid guid,
@Cast("unsigned int") int page,
@Cast("unsigned int") int port,
@Cast("unsigned int") int address,
@Cast("unsigned int") int value );
/**
* Read usb link info for the port that the specified device is connected to.
*
* @param guid PGRGuid of the device to read from.
* @param pValue Value read from the card register.
*
* Bit 15:0 = Link %Error Count. Default = 0. This field returns the number of link errors detected by the port.
* Bit 19:16 = Rx Lane Count. Default = 0. This field that identifies the number of Receive Lanes negotiated by the port.
* Bit 23:20 = Tx Lane Count. Default = 0. This field that identifies the number of Transmit Lanes negotiated by the port.
* Bit 31:24 = Reserved.
*
* Refer to XHCI 1.1 section 5.4.10 for Port Link Info:
* eXtensible Host Controller interface for USB xHCI
*
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetUsbLinkInfo(
@ByVal PGRGuid guid,
@Cast("unsigned int*") IntPointer pValue );
public native @ByVal Error GetUsbLinkInfo(
@ByVal PGRGuid guid,
@Cast("unsigned int*") IntBuffer pValue );
public native @ByVal Error GetUsbLinkInfo(
@ByVal PGRGuid guid,
@Cast("unsigned int*") int[] pValue );
/**
* Read usb port status for the port that the specified device is connected to.
*
* @param guid PGRGuid of the device to read from.
* @param pValue Value read from the card register.
*
* Bit 0 = Current Connect Status. Default = 0.
* 1 = A device is connected to the port
* 0 = A device is not connected.
* This value reflects the current state of the port, and may not correspond directly to the event that caused the Connect Status Change (CSC) bit to be set to 1.
* Bit 1 = Port Enabled/Disabled. Default = 0. 1 = Enabled. 0 = Disabled.
* Bit 2 = Reserved.
* Bit 3 = Over-current Active. Default = 0.
* 1 = This port currently has an over-current condition.
* 0 = This port does not have an over-current condition.
* Bit 4 = Port Reset. Default = 0.
* 1 = Port Reset signaling is asserted.
* 0 = Port is not in Reset.
* Bit 8:5 = Port Link State. Default = RxDetect(5). This field is used to power manage the port and reflects its current link state.
* Bit 9 = Port Power. Default = 1. This flag reflects a port's logical, power control state.
* 0 = This port is in the powered-off state.
* 1 = This port is not in the powered-off state.
* Bit 13:10 = Port Speed. Default = 0. This field identifies the speed of the connected USB Device. This field is only relevant if a device is connected, in all other cases this field shall indicate Undefined Speed.
* 0 : Undefined speed
* 1-15 : Protocol Speed ID (refer to other sections)
* Bit 15:14 = Port Indicator Control. Default = 0. 0 = Port indicators are off.
* 1 = Amber. 2 = Green. 3 = Undefined.
* Bit 16 = Port Link State Write Strobe. Default = 0.
* When this bit is set to 1 on a write reference to this register, this flag enables writes to the PLS field.
* Bit 17 = Connect Status Change. Default = 0.
* 1 = Change in current connect status. 0 = No change.
* Bit 18 = Port Enabled/Disabled Change. Default = 0.
* 1 = change in PED. 0 = No change.
* Bit 19 = Warm Port Reset Change. Default = 0. This bit is set when Warm Reset processing on this port completes.
* 0 = No change. 1 = Warm Reset complete.
* Bit 20 = Over current change. Default = 0.
* This bit shall be set to a 1 when there is a 0 to 1 or 1 to 0 transition of Over-current Active.
* Bit 21 = Port Reset Change. Default = 0. This flag is set to 1 due to a 1 to 0 transition of Port Reset.
* Bit 22 = Port Link State Change. Default = 0. This flag is set to 1 due to PLS transitions (refer to document)
* Bit 23 = Port Config %Error Change. Default = 0. This flag indicates that the port failed to configure its link partner.
* 0 = No change. 1 = Port Config %Error detected.
* Bit 24 = Cold Attach Status. Default = 0.
* 1 = Far-end receiver terminations were detected in the disconnected state and the root hub port state machine was unable to advance to the enabled state.
* 0 - This flag is 0 if PP is 0 or for USB2 protocol parts.
* Bit 25 = Wake on Connect Enable. Default = 0. Writing this bit to a 1 enables to port to be sensitive to device connects as system wake up events.
* Bit 26 = Wake on Disconnect Enable. Default = 0. Writing this bit to a 1 enables the port to be sensitive to device disconnects as system wake up events.
* Bit 27 = Wake on Over-current Enable. Default = 0. Writing this bit to a 1 enables the port to be sensitive to over-current conditions as system wake up events.
* Bit 29:28 = Reserved
* Bit 30 = Device Removable. This flag indicates if this port has a removable device attached.
* 1 = Device is non-removable. 0 = Device is removable.
* Bit 31 = Warm Port Reset. Default = 0. This flag shall always return 0 when read. Refer to document for writing.
*
* Refer to XHCI 1.1 section 5.4.8 for Port Status:
* eXtensible Host Controller interface for USB xHCI
*
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetUsbPortStatus(
@ByVal PGRGuid guid,
@Cast("unsigned int*") IntPointer pValue );
public native @ByVal Error GetUsbPortStatus(
@ByVal PGRGuid guid,
@Cast("unsigned int*") IntBuffer pValue );
public native @ByVal Error GetUsbPortStatus(
@ByVal PGRGuid guid,
@Cast("unsigned int*") int[] pValue );
/**
* Gets the topology information for the PC.
*
* @param pNode TopologyNode object that will contain the topology
* information.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetTopology(
TopologyNode pNode );
/**
* Register a callback function that will be called when the
* specified callback event occurs.
*
* @param busEventCallback Pointer to function that will receive
the callback.
* @param callbackType Type of callback to register for.
* @param pParameter Callback parameter to be passed to callback.
* @param pCallbackHandle Unique callback handle used for
* unregistering callback.
*
* @see UnregisterCallback()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error RegisterCallback(
BusEventCallback busEventCallback,
@Cast("FlyCapture2::BusCallbackType") int callbackType,
Pointer pParameter,
@ByPtrPtr CallbackHandle pCallbackHandle );
/**
* Unregister a callback function.
*
* @param callbackHandle Unique callback handle.
*
* @see RegisterCallback()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error UnregisterCallback( CallbackHandle callbackHandle );
/**
* Force a rescan of the buses. This does not trigger a bus reset.
* The camera objects will be invalidated only if the camera network
* topology is changed (ie. a camera is disconnected or added)
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error RescanBus();
/**
* Force the camera with the specific MAC address to the specified
* IP address, subnet mask and default gateway. This is useful in
* situations where GigE Vision cameras are using IP addresses
* in a subnet different from the host's subnet.
*
* @param macAddress MAC address of the camera.
* @param ipAddress IP address to set on the camera.
* @param subnetMask Subnet mask to set on the camera.
* @param defaultGateway Default gateway to set on the camera.
*
* @return An Error indicating the success or failure of the function.
*/
public static native @ByVal Error ForceIPAddressToCamera(
@ByVal MACAddress macAddress,
@ByVal IPAddress ipAddress,
@ByVal IPAddress subnetMask,
@ByVal IPAddress defaultGateway );
/**
* Force all cameras on the network to be assigned sequential IP addresses
* on the same subnet as the netowrk adapters that they are connected to.
* This is useful in situations where GigE Vision cameras are using
* IP addresses in a subnet different from the host's subnet.
*
* @return An Error indicating the success or failure of the function.
*/
public static native @ByVal Error ForceAllIPAddressesAutomatically();
/**
* Force a camera on the network to be assigned an IP address
* on the same subnet as the netowrk adapters that it is connected to.
* This is useful in situations where GigE Vision cameras are using IP
* addresses in a subnet different from the host's subnet.
*
* @return An Error indicating the success or failure of the function.
*/
public static native @ByVal Error ForceAllIPAddressesAutomatically(@Cast("unsigned int") int serialNumber);
/**
* Discover all cameras connected to the network even if they reside
* on a different subnet. This is useful in situations where GigE Vision
* cameras are using IP addresses in a subnet different from the host's
* subnet. After discovering the camera, it is easy to use
* ForceIPAddressToCamera() to set a different IP configuration.
*
* @param gigECameras Pointer to an array of CameraInfo structures.
* @param arraySize Size of the array. Number of discovered cameras
* is returned in the same value.
*
* @return An Error indicating the success or failure of the function.
* If the error is PGRERROR_BUFFER_TOO_SMALL then arraySize will
* contain the minimum size needed for gigECameras array.
*/
public static native @ByVal Error DiscoverGigECameras(
CameraInfo gigECameras,
@Cast("unsigned int*") IntPointer arraySize );
public static native @ByVal Error DiscoverGigECameras(
CameraInfo gigECameras,
@Cast("unsigned int*") IntBuffer arraySize );
public static native @ByVal Error DiscoverGigECameras(
CameraInfo gigECameras,
@Cast("unsigned int*") int[] arraySize );
/**
* Query CCP status on camera with corresponding PGRGuid. This is
* useful to determine if a GigE camera can be controlled.
*
* @param pGuid PGRGuid of the camera
* @param pControlable Indicates whether camera is controllable
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error IsCameraControlable(
PGRGuid pGuid, @Cast("bool*") BoolPointer pControlable );
public native @ByVal Error IsCameraControlable(
PGRGuid pGuid, @Cast("bool*") boolean[] pControlable );
}
// #endif //PGR_FC2_BUSMANAGER_H
// Parsed from
//=============================================================================
// Copyright ? 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id: CameraBase.h 347612 2017-12-01 20:44:28Z wgallego $
//=============================================================================
// #ifndef PGR_FC2_CAMERABASE_H_
// #define PGR_FC2_CAMERABASE_H_
// #include "FlyCapture2Platform.h"
// #include "FlyCapture2Defs.h"
/**
* Image event callback function prototype. Defines the syntax of the
* image callback function that is passed into StartCapture(). It is
* possible for this function to be called simultaneously. Therefore,
* users must make sure that code in the callback is thread safe.
*/
public static class ImageEventCallback extends FunctionPointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public ImageEventCallback(Pointer p) { super(p); }
protected ImageEventCallback() { allocate(); }
private native void allocate();
public native void call( Image pImage, @Const Pointer pCallbackData );
}
/**
* The CameraBase class is an abstract base class that defines a general
* interface to a camera.
*
* \nosubgrouping
*/
@Namespace("FlyCapture2") @NoOffset public static class CameraBase extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public CameraBase(Pointer p) { super(p); }
/**
* Default constructor.
*/
/**
* Default destructor.
*/
/**
* \name Connection and Image Retrieval
*
* These functions deal with connections and image retrieval from
* the camera.
*/
/*@{*/
/**
* Connects the camera object to the camera specified by the GUID.
* If the guid is omitted or set to NULL, the connection will be made
* to the first camera detected on the PC (i.e. index = 0).
*
* @param pGuid The unique identifier for a specific camera on the PC.
*
* @see BusManager::GetCameraFromIndex()
* @see BusManager::GetCameraFromSerialNumber()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Connect( PGRGuid pGuid/*=NULL*/ );
public native @ByVal Error Connect( );
/**
* Disconnects the camera object from the camera. This allows another
* physical camera specified by a GUID to be connected to the camera
* object.
*
* @see Connect()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Disconnect();
/**
* Checks if the camera object is connected to a physical camera
* specified by a GUID.
*
* @see Connect()
* @see Disconnect()
*
* @return Whether Connect() was called on the camera object.
*/
public native @Cast("bool") boolean IsConnected();
/**
* Sets the callback data to be used on completion of image transfer.
* To clear the current stored callback data, pass in NULL for both
* arguments.
*
* @param callbackFn A function to be called when a new image is
* received.
* @param pCallbackData A pointer to data that can be passed to the
* callback function.
*
* @see StartCapture()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetCallback(
ImageEventCallback callbackFn,
@Const Pointer pCallbackData/*=NULL*/ );
public native @ByVal Error SetCallback(
ImageEventCallback callbackFn );
/**
* Starts isochronous image capture. It will use either the current
* video mode or the most recently set video mode of the camera.
* The optional callback function parameter is called on completion of
* image transfer.
* When a callback function is specified, the grab mode will determine how
* images are delivered.
* If the grab mode has not been set, or has been set to DROP_FRAMES
* the default behavior is to requeue images for DMA if they have
* not been delivered by the time the next image transfer completes.
* If BUFFER_FRAMES is specified, the next image in the sequence will
* be delivered. Note that for the BUFFER_FRAMES case, if delivery
* does not keep up with the DMA process, images will be lost.
* The default behavior is to perform DROP_FRAMES image delivery
* Alternatively, the callback parameter can be set to NULL
* and RetrieveBuffer() can be called as a blocking call to get
* the image data.
*
* @param callbackFn A function to be called when a new image is
* received.
* @param pCallbackData A pointer to data that can be passed to the
* callback function.
*
* @see RetrieveBuffer()
* @see StartSyncCapture()
* @see StopCapture()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error StartCapture(
ImageEventCallback callbackFn/*=NULL*/,
@Const Pointer pCallbackData/*=NULL*/ );
public native @ByVal Error StartCapture( );
/**
* Starts isochronous image capture on multiple cameras. On each frame,
* the time stamps across the cameras are aligned which means the frames
* are synchronized. Note that the cameras must be synchronized by
* external means in order for this function to work. This means that
* the cameras should either be on the same bus, hardware synchronized
* (e.g. through triggering) or Multisync is running.
* This function is only used with firewire cameras.
*
* @param numCameras Number of Camera objects in the ppCameras array.
* @param ppCameras Array of pointers to Camera objects containing the
* cameras to be started and synchronized.
* @param pCallbackFns Array of callback functions for each camera.
* @param pCallbackDataArray Array of callback data pointers.
*
* @see RetrieveBuffer()
* @see StartCapture()
* @see StopCapture()
*
* @return An Error indicating the success or failure of the function.
*/
/**
* Retrieves the the next image object containing the next image.
* If the grab mode has not been set, or has been set to DROP_FRAMES
* the default behavior is to requeue images for DMA if they have
* not been retrieved by the time the next image transfer completes.
* If BUFFER_FRAMES is specified, the next image in the sequence will
* be retrieved. Note that for the BUFFER_FRAMES case, if retrieval
* does not keep up with the DMA process, images will be lost.
* The default behavior is to perform DROP_FRAMES image retrieval.
*
* @param pImage Pointer to Image object to store image data.
*
* @see StartCapture()
* @see StopCapture()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error RetrieveBuffer( Image pImage );
/**
* Stops isochronous image transfer and cleans up all associated
* resources.
* If an image callback function (specified in the StartCapture() call)
* is currently executing, StopCapture() will not return until after
* the callback has completed.
*
* @see StartCapture()
* @see RetrieveBuffer()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error StopCapture();
/**
* Retrieves the next image event containing the next part of the image.
*
* @param pImage Pointer to Image object to store image data.
* @param eventNumber The event number to wait for.
*
* @see StartCapture()
* @see RetrieveBuffer()
* @see StopCapture()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error WaitForBufferEvent( Image pImage, @Cast("unsigned int") int eventNumber );
/**
* Specify user allocated buffers to use as image data buffers.
* To prevent image tearing, the size of each buffer should be equal to
* ((unsigned int)(bufferSize + packetSize - 1)/packetSize) * packetSize.
* The total size should be (size * numBuffers) or larger.
* The packet Size that should be used differs between interfaces:
* Firewire: Use the Format7 packet size.
* Usb2: First round to Format7 packet size then round to 512 bytes.
* Usb3: Use a packet size of 1024 bytes.
* GigE: No need to do any rounding on GigE
*
* @param pMemBuffers Pointer to memory buffers to be written to.
* @param size The size of each buffer (in bytes).
* @param numBuffers Number of buffers in the array.
*
* @see StartCapture()
* @see RetrieveBuffer()
* @see StopCapture()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetUserBuffers(
@Cast("unsigned char*const") BytePointer pMemBuffers,
int size,
int numBuffers );
public native @ByVal Error SetUserBuffers(
@Cast("unsigned char*const") ByteBuffer pMemBuffers,
int size,
int numBuffers );
public native @ByVal Error SetUserBuffers(
@Cast("unsigned char*const") byte[] pMemBuffers,
int size,
int numBuffers );
/**
* Get the configuration associated with the camera object.
*
* @param pConfig Pointer to the configuration structure to be filled.
*
* @see SetConfiguration()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetConfiguration( FC2Config pConfig );
/**
* Set the configuration associated with the camera object.
*
* @param pConfig Pointer to the configuration structure to be used.
*
* @see GetConfiguration()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetConfiguration( @Const FC2Config pConfig );
/*@}*/
/**
* \name Information and Properties
*
* These functions deal with information and properties can be
* retrieved from the camera.
*/
/*@{*/
/**
* Retrieves information from the camera such as serial number, model
* name and other camera information.
*
* @param pCameraInfo Pointer to the camera information structure
* to be filled.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetCameraInfo( CameraInfo pCameraInfo );
/**
* Retrieves information about the specified camera property. The
* property type must be specified in the PropertyInfo structure
* passed into the function in order for the function to succeed.
*
* @param pPropInfo Pointer to the PropertyInfo structure to be filled.
*
* @see GetProperty()
* @see SetProperty()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetPropertyInfo( PropertyInfo pPropInfo );
/**
* Reads the settings for the specified property from the camera. The
* property type must be specified in the Property structure passed
* into the function in order for the function to succeed. If auto
* is on, the integer and abs values returned may not be consistent
* with each other.
*
* @param pProp Pointer to the Property structure to be filled.
*
* @see GetPropertyInfo()
* @see SetProperty()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetProperty( Property pProp );
/**
* Writes the settings for the specified property to the camera. The
* property type must be specified in the Property structure passed
* into the function in order for the function to succeed.
* The absControl flag controls whether the absolute or integer value
* is written to the camera. Use GetPropertyInfo() to query which
* options are available for a specific property.
*
* @param pProp Pointer to the Property structure to be used.
* @param broadcast Whether the action should be broadcast.
*
* @see GetPropertyInfo()
* @see GetProperty()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetProperty(
@Const Property pProp,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetProperty(
@Const Property pProp );
/*@}*/
/**
* \name General Purpose Input / Output
*
* These functions deal with general GPIO pin control on the camera.
*/
/*@{*/
/**
* Get the GPIO pin direction for the specified pin. This is not a
* required call when using the trigger or strobe functions as
* the pin direction is set automatically internally.
*
* @param pin Pin to get the direction for.
* @param pDirection Direction of the pin. 0 for input, 1 for output.
*
* @see SetGPIOPinDirection()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int*") IntPointer pDirection);
public native @ByVal Error GetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int*") IntBuffer pDirection);
public native @ByVal Error GetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int*") int[] pDirection);
/**
* Set the GPIO pin direction for the specified pin. This is useful if
* there is a need to set the pin into an input pin (i.e. to read the
* voltage) off the pin without setting it as a trigger source. This
* is not a required call when using the trigger or strobe functions as
* the pin direction is set automatically internally.
*
* @param pin Pin to get the direction for.
* @param direction Direction of the pin. 0 for input, 1 for output.
* @param broadcast Whether the action should be broadcast.
*
* @see GetGPIOPinDirection()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int") int direction, @Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int") int direction );
/*@}*/
/**
* \name Trigger
*
* These functions deal with trigger control on the camera.
*/
/*@{*/
/**
* Retrieve trigger information from the camera.
*
* @param pTriggerModeInfo Structure to receive trigger information.
*
* @see GetTriggerMode()
* @see SetTriggerMode()
* @see GetTriggerDelayInfo()
* @see GetTriggerDelay()
* @see SetTriggerDelay()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetTriggerModeInfo( TriggerModeInfo pTriggerModeInfo );
/**
* Retrieve current trigger settings from the camera.
*
* @param pTriggerMode Structure to receive trigger mode settings.
*
* @see GetTriggerModeInfo()
* @see SetTriggerMode()
* @see GetTriggerDelayInfo()
* @see GetTriggerDelay()
* @see SetTriggerDelay()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetTriggerMode( TriggerMode pTriggerMode );
/**
* Set the specified trigger settings to the camera.
*
* @param pTriggerMode Structure providing trigger mode settings.
* @param broadcast Whether the action should be broadcast.
*
* @see GetTriggerModeInfo()
* @see GetTriggerMode()
* @see GetTriggerDelayInfo()
* @see GetTriggerDelay()
* @see SetTriggerDelay()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetTriggerMode(
@Const TriggerMode pTriggerMode,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetTriggerMode(
@Const TriggerMode pTriggerMode );
/**
* Fire the software trigger according to the DCAM specifications.
*
* @param broadcast Whether the action should be broadcast.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error FireSoftwareTrigger( @Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error FireSoftwareTrigger( );
/**
* Retrieve trigger delay information from the camera.
*
* @param pTriggerDelayInfo Structure to receive trigger delay information.
*
* @see GetTriggerModeInfo()
* @see GetTriggerMode()
* @see SetTriggerMode()
* @see GetTriggerDelay()
* @see SetTriggerDelay()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetTriggerDelayInfo( @Cast("FlyCapture2::TriggerDelayInfo*") PropertyInfo pTriggerDelayInfo );
/**
* Retrieve current trigger delay settings from the camera.
*
* @param pTriggerDelay Structure to receive trigger delay settings.
*
* @see GetTriggerModeInfo()
* @see GetTriggerMode()
* @see SetTriggerMode()
* @see GetTriggerDelayInfo()
* @see SetTriggerDelay()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetTriggerDelay( @Cast("FlyCapture2::TriggerDelay*") Property pTriggerDelay );
/**
* Set the specified trigger delay settings to the camera.
*
* @param pTriggerDelay Structure providing trigger delay settings.
* @param broadcast Whether the action should be broadcast.
*
* @see GetTriggerModeInfo()
* @see GetTriggerMode()
* @see SetTriggerMode()
* @see GetTriggerDelayInfo()
* @see GetTriggerDelay()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetTriggerDelay(
@Cast("const FlyCapture2::TriggerDelay*") Property pTriggerDelay,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetTriggerDelay(
@Cast("const FlyCapture2::TriggerDelay*") Property pTriggerDelay );
/*@}*/
/**
* \name Strobe
*
* These functions deal with strobe control on the camera.
*/
/*@{*/
/**
* Retrieve strobe information from the camera.
*
* @param pStrobeInfo Structure to receive strobe information.
*
* @see GetStrobe()
* @see SetStrobe()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetStrobeInfo( StrobeInfo pStrobeInfo );
/**
* Retrieve current strobe settings from the camera. The strobe pin
* must be specified in the structure before being passed in to
* the function.
*
* @param pStrobeControl Structure to receive strobe settings.
*
* @see GetStrobeInfo()
* @see SetStrobe()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetStrobe( StrobeControl pStrobeControl );
/**
* Set current strobe settings to the camera. The strobe pin
* must be specified in the structure before being passed in to
* the function.
*
* @param pStrobeControl Structure providing strobe settings.
* @param broadcast Whether the action should be broadcast.
*
* @see GetStrobeInfo()
* @see GetStrobe()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetStrobe(
@Const StrobeControl pStrobeControl,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetStrobe(
@Const StrobeControl pStrobeControl );
/*@}*/
/**
* \name Look Up Table
*
* These functions deal with Look Up Table control on the camera.
*/
/*@{*/
/**
* Query if LUT support is available on the camera. Note that some cameras
* may report support for the LUT and return an inputBitDepth of 0. In these
* cases use log2(numEntries) for the inputBitDepth.
*
* @param pData The LUT structure to be filled.
*
* @see EnableLUT()
* @see GetLUTChannel()
* @see SetLUTChannel()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetLUTInfo( LUTData pData );
/**
* Query the read/write status of a single LUT bank.
*
* @param bank The bank to query.
* @param pReadSupported Whether reading from the bank is supported.
* @param pWriteSupported Whether writing to the bank is supported.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetLUTBankInfo(
@Cast("unsigned int") int bank,
@Cast("bool*") BoolPointer pReadSupported,
@Cast("bool*") BoolPointer pWriteSupported );
public native @ByVal Error GetLUTBankInfo(
@Cast("unsigned int") int bank,
@Cast("bool*") boolean[] pReadSupported,
@Cast("bool*") boolean[] pWriteSupported );
/**
* Get the LUT bank that is currently being used. For cameras with
* PGR LUT, the active bank is always 0.
*
* @param pActiveBank The currently active bank.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetActiveLUTBank( @Cast("unsigned int*") IntPointer pActiveBank );
public native @ByVal Error GetActiveLUTBank( @Cast("unsigned int*") IntBuffer pActiveBank );
public native @ByVal Error GetActiveLUTBank( @Cast("unsigned int*") int[] pActiveBank );
/**
* Set the LUT bank that will be used.
*
* @param activeBank The bank to be set as active.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetActiveLUTBank( @Cast("unsigned int") int activeBank );
/**
* Enable or disable LUT functionality on the camera.
*
* @param on Whether to enable or disable LUT.
*
* @see GetLUTInfo()
* @see GetLUTChannel()
* @see SetLUTChannel()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error EnableLUT( @Cast("bool") boolean on );
/**
* Get the LUT channel settings from the camera.
*
* @param bank Bank to retrieve.
* @param channel Channel to retrieve.
* @param sizeEntries Number of entries in LUT table to read.
* @param pEntries Array to store LUT entries.
*
* @see GetLUTInfo()
* @see EnableLUT()
* @see SetLUTChannel()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("unsigned int*") IntPointer pEntries );
public native @ByVal Error GetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("unsigned int*") IntBuffer pEntries );
public native @ByVal Error GetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("unsigned int*") int[] pEntries );
/**
* Set the LUT channel settings to the camera.
*
* @param bank Bank to set.
* @param channel Channel to set.
* @param sizeEntries Number of entries in LUT table to write. This must be the
* same size as numEntries returned by GetLutInfo().
* @param pEntries Array containing LUT entries to write.
*
* @see GetLUTInfo()
* @see EnableLUT()
* @see GetLUTChannel()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("const unsigned int*") IntPointer pEntries );
public native @ByVal Error SetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("const unsigned int*") IntBuffer pEntries );
public native @ByVal Error SetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("const unsigned int*") int[] pEntries );
/*@}*/
/**
* \name Memory Channels
*
* These functions deal with memory channel control on the camera.
*/
/*@{*/
/**
* Retrieve the current memory channel from the camera.
*
* @param pCurrentChannel Current memory channel.
*
* @see SaveToMemoryChannel()
* @see RestoreFromMemoryChannel()
* @see GetMemoryChannelInfo()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetMemoryChannel( @Cast("unsigned int*") IntPointer pCurrentChannel );
public native @ByVal Error GetMemoryChannel( @Cast("unsigned int*") IntBuffer pCurrentChannel );
public native @ByVal Error GetMemoryChannel( @Cast("unsigned int*") int[] pCurrentChannel );
/**
* Save the current settings to the specfied current memory channel.
*
* @param channel Memory channel to save to.
*
* @see GetMemoryChannel()
* @see RestoreFromMemoryChannel()
* @see GetMemoryChannelInfo()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SaveToMemoryChannel( @Cast("unsigned int") int channel );
/**
* Restore the specfied current memory channel.
*
* @param channel Memory channel to restore from.
*
* @see GetMemoryChannel()
* @see SaveToMemoryChannel()
* @see GetMemoryChannelInfo()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error RestoreFromMemoryChannel( @Cast("unsigned int") int channel );
/**
* Query the camera for memory channel support. If the number of
* channels is 0, then memory channel support is not available.
*
* @param pNumChannels Number of memory channels supported.
*
* @see GetMemoryChannel()
* @see SaveToMemoryChannel()
* @see RestoreFromMemoryChannel()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetMemoryChannelInfo( @Cast("unsigned int*") IntPointer pNumChannels );
public native @ByVal Error GetMemoryChannelInfo( @Cast("unsigned int*") IntBuffer pNumChannels );
public native @ByVal Error GetMemoryChannelInfo( @Cast("unsigned int*") int[] pNumChannels );
/*@}*/
/**
* \name Embedded Image Information
*
* These functions deal with embedded image information control
* on the camera.
*/
/*@{*/
/**
* Get the current status of the embedded image information register,
* as well as the availability of each embedded property.
*
* @param pInfo Structure to be filled.
*
* @see SetEmbeddedImageInfo()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetEmbeddedImageInfo( EmbeddedImageInfo pInfo );
/**
* Sets the on/off values of the embedded image information structure
* to the camera.
*
* @param pInfo Structure to be used.
*
* @see GetEmbeddedImageInfo()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetEmbeddedImageInfo( EmbeddedImageInfo pInfo );
/*@}*/
/**
* \name Register Operation
*
* These functions deal with register operation on the camera.
*/
/*@{*/
/**
* Write to the specified register on the camera.
*
* @param address DCAM address to be written to.
* @param value The value to be written.
* @param broadcast Whether the action should be broadcast.
*
* @see ReadRegister()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error WriteRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int") int value,
@Cast("bool") boolean broadcast/*=false*/);
public native @ByVal Error WriteRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int") int value);
/**
* Read the specified register from the camera.
*
* @param address DCAM address to be read from.
* @param pValue The value that is read.
*
* @see WriteRegister()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error ReadRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntPointer pValue );
public native @ByVal Error ReadRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntBuffer pValue );
public native @ByVal Error ReadRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") int[] pValue );
/**
* Write to the specified register block on the camera.
*
* @param addressHigh Top 16 bits of the 48 bit absolute address to
* write to.
* @param addressLow Bottom 32 bits of the 48 bits absolute address to
* write to.
* @param pBuffer Array containing data to be written.
* @param length Size of array, in quadlets.
*
* @see ReadRegisterBlock()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error WriteRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("const unsigned int*") IntPointer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error WriteRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("const unsigned int*") IntBuffer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error WriteRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("const unsigned int*") int[] pBuffer,
@Cast("unsigned int") int length );
/**
* Read from the specified register block on the camera.
*
* @param addressHigh Top 16 bits of the 48 bit absolute address to
* read from.
* @param addressLow Bottom 32 bits of the 48 bits absolute address to
* read from.
* @param pBuffer Array to store read data.
* @param length Size of array, in quadlets.
*
* @see WriteRegisterBlock()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error ReadRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("unsigned int*") IntPointer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("unsigned int*") IntBuffer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("unsigned int*") int[] pBuffer,
@Cast("unsigned int") int length );
/**
* Returns a text representation of the register value.
*
* @param registerVal The register value to query.
*
* @return The text representation of the register.
*/
/**
* Returns a Timestamp struct containing 1394 CYCLE_TIME information
*
* @param registerVal The register value to query.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetCycleTime(TimeStamp timeStamp);
/*
* Returns the camera diagnostic infomation.
*
* @param pStats Pointer to the CameraStats structure.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetStats( CameraStats pStats );
/*
* Reset the camera diagnostic infomation.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error ResetStats();
/*
* Register the camera to issue a custom callback function call for a
* specific device event.
*
* @param pOpts Pointer to the EventOptions structure which defines the
* callback function to use, the event for which to register
* the device, and a pointer to user data (optional) to be
* passed to the callback function.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error RegisterEvent( EventOptions pOpts );
/*
* De-register an event previously registered with the camera.
*
* @param pOpts Pointer to the EventOptions structure which defines the
* callback function to use, the event for which to register
* the device, and a pointer to user data (optional) to be
* passed to the callback function. The callback function and
* user data elements of the EventOptions structure are ignored
* in this call, and just the event name within the structure is
* used with this function call.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error DeregisterEvent( EventOptions pOpts );
/*
* Register the camera to issue a custom callback function call for a
* specific device event.
*
* @param pOpts Pointer to the EventOptions structure which defines the
* callback function to use, the event for which to register
* the device, and a pointer to user data (optional) to be
* passed to the callback function. The event name element of
* the structure is ignored with this function call. If a single
* event has already been registered via RegisterEvent(), this
* call will fail, as the user could accidentally change the
* the internal callback function pointer for a queued event.
* The user will need to de-register all registered events,
* then call this function again.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error RegisterAllEvents( EventOptions pOpts );
/*
* De-register all events registered with the camera.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error DeregisterAllEvents( );
}
// #endif // PGR_FC2_CAMERABASE_H_
// Parsed from
//=============================================================================
// Copyright ? 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id: Camera.h 347612 2017-12-01 20:44:28Z wgallego $
//=============================================================================
// #ifndef PGR_FC2_CAMERA_H_
// #define PGR_FC2_CAMERA_H_
// #include "CameraBase.h"
/**
* The Camera object represents a physical camera that uses the IIDC
* register set. The object must first be connected to using Connect()
* before any other operations can proceed.
*
* It is possible for more than 1 Camera object to connect to a single
* physical camera. However, isochronous transmission to more than
* 1 Camera object is not supported.
*
* \nosubgrouping
*/
@Namespace("FlyCapture2") public static class Camera extends CameraBase {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public Camera(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public Camera(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public Camera position(long position) {
return (Camera)super.position(position);
}
/**
* Default constructor.
*/
public Camera() { super((Pointer)null); allocate(); }
private native void allocate();
/**
* Default destructor.
*/
/**
* \name DCAM Formats
*
* These functions deal with DCAM video mode and frame rate
* on the camera. They are only used for firewire and usb2 cameras.
*/
/*@{*/
/**
* Query the camera to determine if the specified video mode and
* frame rate is supported.
*
* @param videoMode Video mode to check.
* @param frameRate Frame rate to check.
* @param pSupported Whether the video mode and frame rate is
* supported.
*
* @see GetVideoModeAndFrameRate()
* @see SetVideoModeAndFrameRate()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetVideoModeAndFrameRateInfo(
@Cast("FlyCapture2::VideoMode") int videoMode,
@Cast("FlyCapture2::FrameRate") int frameRate,
@Cast("bool*") BoolPointer pSupported);
public native @ByVal Error GetVideoModeAndFrameRateInfo(
@Cast("FlyCapture2::VideoMode") int videoMode,
@Cast("FlyCapture2::FrameRate") int frameRate,
@Cast("bool*") boolean[] pSupported);
/**
* Get the current video mode and frame rate from the camera. If
* the camera is in Format7, the video mode will be VIDEOMODE_FORMAT7
* and the frame rate will be FRAMERATE_FORMAT7.
*
* @param pVideoMode Current video mode.
* @param pFrameRate Current frame rate.
*
* @see GetVideoModeAndFrameRateInfo()
* @see SetVideoModeAndFrameRate()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetVideoModeAndFrameRate(
@Cast("FlyCapture2::VideoMode*") IntPointer pVideoMode,
@Cast("FlyCapture2::FrameRate*") IntPointer pFrameRate );
public native @ByVal Error GetVideoModeAndFrameRate(
@Cast("FlyCapture2::VideoMode*") IntBuffer pVideoMode,
@Cast("FlyCapture2::FrameRate*") IntBuffer pFrameRate );
public native @ByVal Error GetVideoModeAndFrameRate(
@Cast("FlyCapture2::VideoMode*") int[] pVideoMode,
@Cast("FlyCapture2::FrameRate*") int[] pFrameRate );
/**
* Set the specified video mode and frame rate to the camera. It is
* not possible to set the camera to VIDEOMODE_FORMAT7 or
* FRAMERATE_FORMAT7. Use the Format7 functions to set the camera
* into Format7.
*
* @param videoMode Video mode to set to camera.
* @param frameRate Frame rate to set to camera.
*
* @see GetVideoModeAndFrameRateInfo()
* @see GetVideoModeAndFrameRate()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetVideoModeAndFrameRate(
@Cast("FlyCapture2::VideoMode") int videoMode,
@Cast("FlyCapture2::FrameRate") int frameRate );
/*@}*/
/**
* \name Format7
*
* These functions deal with Format7 custom image control on the camera.
*/
/*@{*/
/**
* Retrieve the availability of Format7 custom image mode and the
* camera capabilities for the specified Format7 mode. The mode must
* be specified in the Format7Info structure in order for the
* function to succeed.
*
* @param pInfo Structure to be filled with the capabilities of the
* specified mode and the current state in the specified
* mode.
* @param pSupported Whether the specified mode is supported.
*
* @see ValidateFormat7Settings()
* @see GetFormat7Configuration()
* @see SetFormat7Configuration()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetFormat7Info(
Format7Info pInfo,
@Cast("bool*") BoolPointer pSupported );
public native @ByVal Error GetFormat7Info(
Format7Info pInfo,
@Cast("bool*") boolean[] pSupported );
/**
* Validates Format7ImageSettings structure and returns valid packet
* size information if the image settings are valid. The current
* image settings are cached while validation is taking place. The
* cached settings are restored when validation is complete.
*
* @param pImageSettings Structure containing the image settings.
* @param pSettingsAreValid Whether the settings are valid.
* @param pPacketInfo Packet size information that can be used to
* determine a valid packet size.
*
* @see GetFormat7Info()
* @see GetFormat7Configuration()
* @see SetFormat7Configuration()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error ValidateFormat7Settings(
@Const Format7ImageSettings pImageSettings,
@Cast("bool*") BoolPointer pSettingsAreValid,
Format7PacketInfo pPacketInfo );
public native @ByVal Error ValidateFormat7Settings(
@Const Format7ImageSettings pImageSettings,
@Cast("bool*") boolean[] pSettingsAreValid,
Format7PacketInfo pPacketInfo );
/**
* Get the current Format7 configuration from the camera. This call
* will only succeed if the camera is already in Format7.
*
* @param pImageSettings Current image settings.
* @param pPacketSize Current packet size.
* @param pPercentage Current packet size as a percentage.
*
* @see GetFormat7Info()
* @see ValidateFormat7Settings()
* @see SetFormat7Configuration()
* @see GetVideoModeAndFrameRate()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetFormat7Configuration(
Format7ImageSettings pImageSettings,
@Cast("unsigned int*") IntPointer pPacketSize,
FloatPointer pPercentage );
public native @ByVal Error GetFormat7Configuration(
Format7ImageSettings pImageSettings,
@Cast("unsigned int*") IntBuffer pPacketSize,
FloatBuffer pPercentage );
public native @ByVal Error GetFormat7Configuration(
Format7ImageSettings pImageSettings,
@Cast("unsigned int*") int[] pPacketSize,
float[] pPercentage );
/**
* Set the current Format7 configuration to the camera.
*
* @param pImageSettings Image settings to be written to the camera.
* @param packetSize Packet size to be written to the camera.
*
* @see GetFormat7Info()
* @see ValidateFormat7Settings()
* @see GetFormat7Configuration()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetFormat7Configuration(
@Const Format7ImageSettings pImageSettings,
@Cast("unsigned int") int packetSize );
/**
* Set the current Format7 configuration to the camera.
*
* @param pImageSettings Image settings to be written to the camera.
* @param percentSpeed Percentage of packet size to be written to
* the camera.
*
* @see GetFormat7Info()
* @see ValidateFormat7Settings()
* @see GetFormat7Configuration()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetFormat7Configuration(
@Const Format7ImageSettings pImageSettings,
float percentSpeed );
/*@}*/
/**
* The following functions are inherited from CameraBase. See
* CameraBase.h for further information.
*/
public native @ByVal Error Connect( PGRGuid pGuid/*=NULL*/ );
public native @ByVal Error Connect( );
public native @ByVal Error Disconnect();
public native @Cast("bool") boolean IsConnected();
public native @ByVal Error SetCallback(
ImageEventCallback callbackFn,
@Const Pointer pCallbackData/*=NULL*/ );
public native @ByVal Error SetCallback(
ImageEventCallback callbackFn );
public native @ByVal Error StartCapture(
ImageEventCallback callbackFn/*=NULL*/,
@Const Pointer pCallbackData/*=NULL*/ );
public native @ByVal Error StartCapture( );
public static native @ByVal Error StartSyncCapture(
@Cast("unsigned int") int numCameras,
@Cast("const FlyCapture2::Camera**") PointerPointer ppCameras,
@Cast("FlyCapture2::ImageEventCallback*") @ByPtrPtr ImageEventCallback pCallbackFns/*=NULL*/,
@Cast("const void**") PointerPointer pCallbackDataArray/*=NULL*/ );
public static native @ByVal Error StartSyncCapture(
@Cast("unsigned int") int numCameras,
@Const @ByPtrPtr Camera ppCameras );
public static native @ByVal Error StartSyncCapture(
@Cast("unsigned int") int numCameras,
@Const @ByPtrPtr Camera ppCameras,
@Cast("FlyCapture2::ImageEventCallback*") @ByPtrPtr ImageEventCallback pCallbackFns/*=NULL*/,
@Cast("const void**") @ByPtrPtr Pointer pCallbackDataArray/*=NULL*/ );
public native @ByVal Error RetrieveBuffer( Image pImage );
public native @ByVal Error StopCapture();
public native @ByVal Error WaitForBufferEvent( Image pImage, @Cast("unsigned int") int eventNumber );
public native @ByVal Error SetUserBuffers(
@Cast("unsigned char*const") BytePointer pMemBuffers,
int size,
int numBuffers );
public native @ByVal Error SetUserBuffers(
@Cast("unsigned char*const") ByteBuffer pMemBuffers,
int size,
int numBuffers );
public native @ByVal Error SetUserBuffers(
@Cast("unsigned char*const") byte[] pMemBuffers,
int size,
int numBuffers );
public native @ByVal Error GetConfiguration( FC2Config pConfig );
public native @ByVal Error SetConfiguration( @Const FC2Config pConfig );
public native @ByVal Error GetCameraInfo( CameraInfo pCameraInfo );
public native @ByVal Error GetPropertyInfo( PropertyInfo pPropInfo );
public native @ByVal Error GetProperty( Property pProp );
public native @ByVal Error SetProperty(
@Const Property pProp,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetProperty(
@Const Property pProp );
public native @ByVal Error GetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int*") IntPointer pDirection);
public native @ByVal Error GetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int*") IntBuffer pDirection);
public native @ByVal Error GetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int*") int[] pDirection);
public native @ByVal Error SetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int") int direction, @Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int") int direction );
public native @ByVal Error GetTriggerModeInfo( TriggerModeInfo pTriggerModeInfo );
public native @ByVal Error GetTriggerMode( TriggerMode pTriggerMode );
public native @ByVal Error SetTriggerMode(
@Const TriggerMode pTriggerMode,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetTriggerMode(
@Const TriggerMode pTriggerMode );
public native @ByVal Error FireSoftwareTrigger( @Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error FireSoftwareTrigger( );
public native @ByVal Error GetTriggerDelayInfo( @Cast("FlyCapture2::TriggerDelayInfo*") PropertyInfo pTriggerDelayInfo );
public native @ByVal Error GetTriggerDelay( @Cast("FlyCapture2::TriggerDelay*") Property pTriggerDelay );
public native @ByVal Error SetTriggerDelay(
@Cast("const FlyCapture2::TriggerDelay*") Property pTriggerDelay,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetTriggerDelay(
@Cast("const FlyCapture2::TriggerDelay*") Property pTriggerDelay );
public native @ByVal Error GetStrobeInfo( StrobeInfo pStrobeInfo );
public native @ByVal Error GetStrobe( StrobeControl pStrobeControl );
public native @ByVal Error SetStrobe(
@Const StrobeControl pStrobeControl,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetStrobe(
@Const StrobeControl pStrobeControl );
public native @ByVal Error GetLUTInfo( LUTData pData );
public native @ByVal Error GetLUTBankInfo(
@Cast("unsigned int") int bank,
@Cast("bool*") BoolPointer pReadSupported,
@Cast("bool*") BoolPointer pWriteSupported );
public native @ByVal Error GetLUTBankInfo(
@Cast("unsigned int") int bank,
@Cast("bool*") boolean[] pReadSupported,
@Cast("bool*") boolean[] pWriteSupported );
public native @ByVal Error GetActiveLUTBank( @Cast("unsigned int*") IntPointer pActiveBank );
public native @ByVal Error GetActiveLUTBank( @Cast("unsigned int*") IntBuffer pActiveBank );
public native @ByVal Error GetActiveLUTBank( @Cast("unsigned int*") int[] pActiveBank );
public native @ByVal Error SetActiveLUTBank( @Cast("unsigned int") int activeBank );
public native @ByVal Error EnableLUT( @Cast("bool") boolean on );
public native @ByVal Error GetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("unsigned int*") IntPointer pEntries );
public native @ByVal Error GetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("unsigned int*") IntBuffer pEntries );
public native @ByVal Error GetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("unsigned int*") int[] pEntries );
public native @ByVal Error SetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("const unsigned int*") IntPointer pEntries );
public native @ByVal Error SetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("const unsigned int*") IntBuffer pEntries );
public native @ByVal Error SetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("const unsigned int*") int[] pEntries );
public native @ByVal Error GetMemoryChannel( @Cast("unsigned int*") IntPointer pCurrentChannel );
public native @ByVal Error GetMemoryChannel( @Cast("unsigned int*") IntBuffer pCurrentChannel );
public native @ByVal Error GetMemoryChannel( @Cast("unsigned int*") int[] pCurrentChannel );
public native @ByVal Error SaveToMemoryChannel( @Cast("unsigned int") int channel );
public native @ByVal Error RestoreFromMemoryChannel( @Cast("unsigned int") int channel );
public native @ByVal Error GetMemoryChannelInfo( @Cast("unsigned int*") IntPointer pNumChannels );
public native @ByVal Error GetMemoryChannelInfo( @Cast("unsigned int*") IntBuffer pNumChannels );
public native @ByVal Error GetMemoryChannelInfo( @Cast("unsigned int*") int[] pNumChannels );
public native @ByVal Error GetEmbeddedImageInfo( EmbeddedImageInfo pInfo );
public native @ByVal Error SetEmbeddedImageInfo( EmbeddedImageInfo pInfo );
public native @ByVal Error WriteRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int") int value,
@Cast("bool") boolean broadcast/*=false*/);
public native @ByVal Error WriteRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int") int value);
public native @ByVal Error ReadRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntPointer pValue );
public native @ByVal Error ReadRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntBuffer pValue );
public native @ByVal Error ReadRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") int[] pValue );
public native @ByVal Error WriteRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("const unsigned int*") IntPointer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error WriteRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("const unsigned int*") IntBuffer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error WriteRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("const unsigned int*") int[] pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("unsigned int*") IntPointer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("unsigned int*") IntBuffer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("unsigned int*") int[] pBuffer,
@Cast("unsigned int") int length );
public static native @Cast("const char*") BytePointer GetRegisterString( @Cast("unsigned int") int registerVal);
public native @ByVal Error GetCycleTime(TimeStamp timeStamp);
public native @ByVal Error GetStats( CameraStats pStats );
public native @ByVal Error ResetStats();
public native @ByVal Error RegisterEvent( EventOptions pOpts );
public native @ByVal Error DeregisterEvent( EventOptions pOpts );
public native @ByVal Error RegisterAllEvents( EventOptions pOpts );
public native @ByVal Error DeregisterAllEvents( );
}
// #endif // PGR_FC2_CAMERA_H_
// Parsed from
//=============================================================================
// Copyright ? 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id: GigECamera.h 316355 2017-02-20 23:02:28Z alin $
//=============================================================================
// #ifndef PGR_FC2_GIGECAMERA_H_
// #define PGR_FC2_GIGECAMERA_H_
// #include "CameraBase.h"
/**
* The GigECamera object represents a physical Gigabit Ethernet camera.
* The object must first be connected to using Connect() before any
* other operations can proceed.
*
* Please see Camera.h for basic functions that this class inherits from.
*
* \nosubgrouping
*/
@Namespace("FlyCapture2") public static class GigECamera extends CameraBase {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public GigECamera(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public GigECamera(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public GigECamera position(long position) {
return (GigECamera)super.position(position);
}
/**
* Default constructor.
*/
public GigECamera() { super((Pointer)null); allocate(); }
private native void allocate();
/**
* Default destructor.
*/
/**
* \name GVCP Register Operation
*
* These functions deal with GVCP register operation on the camera.
*/
/*@{*/
/**
* Write a GVCP register.
*
* @param address GVCP address to be written to.
* @param value The value to be written.
* @param broadcast Whether the action should be broadcast.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error WriteGVCPRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int") int value,
@Cast("bool") boolean broadcast/*=false*/);
public native @ByVal Error WriteGVCPRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int") int value);
/**
* Read a GVCP register.
*
* @param address GVCP address to be read from.
* @param pValue The value that is read.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error ReadGVCPRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntPointer pValue );
public native @ByVal Error ReadGVCPRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntBuffer pValue );
public native @ByVal Error ReadGVCPRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") int[] pValue );
/**
* Write a GVCP register block.
*
* @param address GVCP address to be write to.
* @param pBuffer Array containing data to be written.
* @param length Size of array, in quadlets.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error WriteGVCPRegisterBlock(
@Cast("unsigned int") int address,
@Cast("const unsigned int*") IntPointer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error WriteGVCPRegisterBlock(
@Cast("unsigned int") int address,
@Cast("const unsigned int*") IntBuffer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error WriteGVCPRegisterBlock(
@Cast("unsigned int") int address,
@Cast("const unsigned int*") int[] pBuffer,
@Cast("unsigned int") int length );
/**
* Read a GVCP register block.
*
* @param address GVCP address to be read from.
* @param pBuffer Array for data to be read into.
* @param length Size of array, in quadlets.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error ReadGVCPRegisterBlock(
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntPointer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadGVCPRegisterBlock(
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntBuffer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadGVCPRegisterBlock(
@Cast("unsigned int") int address,
@Cast("unsigned int*") int[] pBuffer,
@Cast("unsigned int") int length );
/**
* Write a GVCP Memory block.
*
* @param address GVCP address to be write to.
* @param pBuffer Array containing data to be written in increments.
* @param length Size of array, in quadlets.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error WriteGVCPMemory(
@Cast("unsigned int") int address,
@Cast("const unsigned char*") BytePointer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error WriteGVCPMemory(
@Cast("unsigned int") int address,
@Cast("const unsigned char*") ByteBuffer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error WriteGVCPMemory(
@Cast("unsigned int") int address,
@Cast("const unsigned char*") byte[] pBuffer,
@Cast("unsigned int") int length );
/**
* Read a GVCP memory block.
*
* @param address GVCP address to be read from.
* @param pBuffer Array for data to be read into.
* @param length Size of array, in quadlets.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error ReadGVCPMemory(
@Cast("unsigned int") int address,
@Cast("unsigned char*") BytePointer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadGVCPMemory(
@Cast("unsigned int") int address,
@Cast("unsigned char*") ByteBuffer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadGVCPMemory(
@Cast("unsigned int") int address,
@Cast("unsigned char*") byte[] pBuffer,
@Cast("unsigned int") int length );
/*@}*/
/**
* \name GigE property manipulation
*
* These functions deal with GigE properties.
*/
/*@{*/
/**
* Get the specified GigEProperty. The GigEPropertyType field must
* be set in order for this function to succeed.
*
* @param pGigEProp The GigE property to get.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetGigEProperty( GigEProperty pGigEProp );
/**
* Set the specified GigEProperty. The GigEPropertyType field must
* be set in order for this function to succeed.
*
* @param pGigEProp The GigE property to set.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetGigEProperty( @Const GigEProperty pGigEProp );
/**
* Discover the largest packet size that works for the network link
* between the PC and the camera. This is useful in cases where
* there may be multiple links between the PC and the camera and
* there is a possiblity of a component not supporting the
* recommended jumbo frame packet size of 9000.
*
* @param packetSize The maximum packet size supported by the link.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error DiscoverGigEPacketSize( @Cast("unsigned int*") IntPointer packetSize );
public native @ByVal Error DiscoverGigEPacketSize( @Cast("unsigned int*") IntBuffer packetSize );
public native @ByVal Error DiscoverGigEPacketSize( @Cast("unsigned int*") int[] packetSize );
/*@}*/
/**
* \name GigE image settings
*
* These functions deal with GigE image setting.
*/
/*@{*/
/**
* Check if the particular imaging mode is supported by the camera.
*
* @param mode The mode to check.
* @param isSupported Whether the mode is supported.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error QueryGigEImagingMode( @Cast("FlyCapture2::Mode") int mode, @Cast("bool*") BoolPointer isSupported );
public native @ByVal Error QueryGigEImagingMode( @Cast("FlyCapture2::Mode") int mode, @Cast("bool*") boolean[] isSupported );
/**
* Get the current imaging mode on the camera.
*
* @param mode Current imaging mode on the camera.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetGigEImagingMode( @Cast("FlyCapture2::Mode*") IntPointer mode );
public native @ByVal Error GetGigEImagingMode( @Cast("FlyCapture2::Mode*") IntBuffer mode );
public native @ByVal Error GetGigEImagingMode( @Cast("FlyCapture2::Mode*") int[] mode );
/**
* Set the current imaging mode to the camera. This should only be
* done when the camera is not streaming images.
*
* @param mode Imaging mode to set to the camera.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetGigEImagingMode( @Cast("FlyCapture2::Mode") int mode );
/**
* Get information about the image settings possible on the camera.
*
* @param pInfo Image settings information.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetGigEImageSettingsInfo( GigEImageSettingsInfo pInfo );
/**
* Get the current image settings on the camera.
*
* @param pImageSettings Current image settings on camera.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetGigEImageSettings( GigEImageSettings pImageSettings );
/**
* Set the image settings specified to the camera.
*
* @param pImageSettings Image settings to set to camera.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetGigEImageSettings( @Const GigEImageSettings pImageSettings );
/*@}*/
/**
* \name GigE image binning settings
*
* These functions deal with GigE image binning settings.
*/
/*@{*/
/**
* Get the current binning settings on the camera.
*
* @param horzBinnningValue Current horizontal binning value.
* @param vertBinnningValue Current vertical binning value.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetGigEImageBinningSettings( @Cast("unsigned int*") IntPointer horzBinnningValue, @Cast("unsigned int*") IntPointer vertBinnningValue );
public native @ByVal Error GetGigEImageBinningSettings( @Cast("unsigned int*") IntBuffer horzBinnningValue, @Cast("unsigned int*") IntBuffer vertBinnningValue );
public native @ByVal Error GetGigEImageBinningSettings( @Cast("unsigned int*") int[] horzBinnningValue, @Cast("unsigned int*") int[] vertBinnningValue );
/**
* Set the specified binning values to the camera. It is recommended
* that GetGigEImageSettingsInfo() be called after this function
* succeeds to retrieve the new image settings information for
* the new binning mode.
*
* @param horzBinnningValue Horizontal binning value.
* @param vertBinnningValue Vertical binning value.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetGigEImageBinningSettings( @Cast("unsigned int") int horzBinnningValue, @Cast("unsigned int") int vertBinnningValue );
/*@}*/
/**
* \name GigE image stream configuration
*
* These functions deal with GigE image stream configuration.
*/
/*@{*/
/**
* Get the number of stream channels present on the camera.
*
* @param numChannels Number of stream channels present.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetNumStreamChannels( @Cast("unsigned int*") IntPointer numChannels );
public native @ByVal Error GetNumStreamChannels( @Cast("unsigned int*") IntBuffer numChannels );
public native @ByVal Error GetNumStreamChannels( @Cast("unsigned int*") int[] numChannels );
/**
* Get the stream channel information for the specified channel.
*
* @param channel Channel number to use.
* @param pChannel Stream channel information for the specified channel.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetGigEStreamChannelInfo( @Cast("unsigned int") int channel, GigEStreamChannel pChannel );
/**
* Set the stream channel information for the specified channel.
*
* Note that the source UDP port of the stream channel is read-only.
*
* @param channel Channel number to use.
* @param pChannel Stream channel information to use for the specified channel.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetGigEStreamChannelInfo( @Cast("unsigned int") int channel, GigEStreamChannel pChannel );
/**
* Get the current gige config on the camera.
*
* @param pGigEConfig Current configuration on camera.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetGigEConfig( GigEConfig pGigEConfig );
/**
* Set the gige config specified to the camera.
*
* @param pGigEConfig configuration to set to camera.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetGigEConfig( @Const GigEConfig pGigEConfig );
/*@}*/
/**
* The following functions are inherited from CameraBase. See
* CameraBase.h for further information.
*/
public native @ByVal Error Connect( PGRGuid pGuid/*=NULL*/ );
public native @ByVal Error Connect( );
public native @ByVal Error Disconnect();
public native @Cast("bool") boolean IsConnected();
public native @ByVal Error SetCallback(
ImageEventCallback callbackFn,
@Const Pointer pCallbackData/*=NULL*/ );
public native @ByVal Error SetCallback(
ImageEventCallback callbackFn );
public native @ByVal Error StartCapture(
ImageEventCallback callbackFn/*=NULL*/,
@Const Pointer pCallbackData/*=NULL*/ );
public native @ByVal Error StartCapture( );
/**
* StartSyncCapture() with GigE Cameras is not supported.
* This function has been deprecated and will be removed
* in a future version of FlyCapture.
*/
public static native @ByVal Error StartSyncCapture(
@Cast("unsigned int") int numCameras,
@Cast("const FlyCapture2::GigECamera**") PointerPointer ppCameras,
@Cast("FlyCapture2::ImageEventCallback*") @ByPtrPtr ImageEventCallback pCallbackFns/*=NULL*/,
@Cast("const void**") PointerPointer pCallbackDataArray/*=NULL*/ );
public static native @ByVal Error StartSyncCapture(
@Cast("unsigned int") int numCameras,
@Const @ByPtrPtr GigECamera ppCameras );
public static native @ByVal Error StartSyncCapture(
@Cast("unsigned int") int numCameras,
@Const @ByPtrPtr GigECamera ppCameras,
@Cast("FlyCapture2::ImageEventCallback*") @ByPtrPtr ImageEventCallback pCallbackFns/*=NULL*/,
@Cast("const void**") @ByPtrPtr Pointer pCallbackDataArray/*=NULL*/ );
public native @ByVal Error RetrieveBuffer( Image pImage );
public native @ByVal Error StopCapture();
public native @ByVal Error WaitForBufferEvent( Image pImage, @Cast("unsigned int") int eventNumber );
public native @ByVal Error SetUserBuffers(
@Cast("unsigned char*const") BytePointer pMemBuffers,
int size,
int numBuffers );
public native @ByVal Error SetUserBuffers(
@Cast("unsigned char*const") ByteBuffer pMemBuffers,
int size,
int numBuffers );
public native @ByVal Error SetUserBuffers(
@Cast("unsigned char*const") byte[] pMemBuffers,
int size,
int numBuffers );
public native @ByVal Error GetConfiguration( FC2Config pConfig );
public native @ByVal Error SetConfiguration( @Const FC2Config pConfig );
public native @ByVal Error GetCameraInfo( CameraInfo pCameraInfo );
public native @ByVal Error GetPropertyInfo( PropertyInfo pPropInfo );
public native @ByVal Error GetProperty( Property pProp );
public native @ByVal Error SetProperty(
@Const Property pProp,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetProperty(
@Const Property pProp );
public native @ByVal Error GetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int*") IntPointer pDirection);
public native @ByVal Error GetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int*") IntBuffer pDirection);
public native @ByVal Error GetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int*") int[] pDirection);
public native @ByVal Error SetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int") int direction, @Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetGPIOPinDirection( @Cast("unsigned int") int pin, @Cast("unsigned int") int direction );
public native @ByVal Error GetTriggerModeInfo( TriggerModeInfo pTriggerModeInfo );
public native @ByVal Error GetTriggerMode( TriggerMode pTriggerMode );
public native @ByVal Error SetTriggerMode(
@Const TriggerMode pTriggerMode,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetTriggerMode(
@Const TriggerMode pTriggerMode );
public native @ByVal Error FireSoftwareTrigger( @Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error FireSoftwareTrigger( );
public native @ByVal Error GetTriggerDelayInfo( @Cast("FlyCapture2::TriggerDelayInfo*") PropertyInfo pTriggerDelayInfo );
public native @ByVal Error GetTriggerDelay( @Cast("FlyCapture2::TriggerDelay*") Property pTriggerDelay );
public native @ByVal Error SetTriggerDelay(
@Cast("const FlyCapture2::TriggerDelay*") Property pTriggerDelay,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetTriggerDelay(
@Cast("const FlyCapture2::TriggerDelay*") Property pTriggerDelay );
public native @ByVal Error GetStrobeInfo( StrobeInfo pStrobeInfo );
public native @ByVal Error GetStrobe( StrobeControl pStrobeControl );
public native @ByVal Error SetStrobe(
@Const StrobeControl pStrobeControl,
@Cast("bool") boolean broadcast/*=false*/ );
public native @ByVal Error SetStrobe(
@Const StrobeControl pStrobeControl );
public native @ByVal Error GetLUTInfo( LUTData pData );
public native @ByVal Error GetLUTBankInfo(
@Cast("unsigned int") int bank,
@Cast("bool*") BoolPointer pReadSupported,
@Cast("bool*") BoolPointer pWriteSupported );
public native @ByVal Error GetLUTBankInfo(
@Cast("unsigned int") int bank,
@Cast("bool*") boolean[] pReadSupported,
@Cast("bool*") boolean[] pWriteSupported );
public native @ByVal Error GetActiveLUTBank( @Cast("unsigned int*") IntPointer pActiveBank );
public native @ByVal Error GetActiveLUTBank( @Cast("unsigned int*") IntBuffer pActiveBank );
public native @ByVal Error GetActiveLUTBank( @Cast("unsigned int*") int[] pActiveBank );
public native @ByVal Error SetActiveLUTBank( @Cast("unsigned int") int activeBank );
public native @ByVal Error EnableLUT( @Cast("bool") boolean on );
public native @ByVal Error GetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("unsigned int*") IntPointer pEntries );
public native @ByVal Error GetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("unsigned int*") IntBuffer pEntries );
public native @ByVal Error GetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("unsigned int*") int[] pEntries );
public native @ByVal Error SetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("const unsigned int*") IntPointer pEntries );
public native @ByVal Error SetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("const unsigned int*") IntBuffer pEntries );
public native @ByVal Error SetLUTChannel(
@Cast("unsigned int") int bank,
@Cast("unsigned int") int channel,
@Cast("unsigned int") int sizeEntries,
@Cast("const unsigned int*") int[] pEntries );
public native @ByVal Error GetMemoryChannel( @Cast("unsigned int*") IntPointer pCurrentChannel );
public native @ByVal Error GetMemoryChannel( @Cast("unsigned int*") IntBuffer pCurrentChannel );
public native @ByVal Error GetMemoryChannel( @Cast("unsigned int*") int[] pCurrentChannel );
public native @ByVal Error SaveToMemoryChannel( @Cast("unsigned int") int channel );
public native @ByVal Error RestoreFromMemoryChannel( @Cast("unsigned int") int channel );
public native @ByVal Error GetMemoryChannelInfo( @Cast("unsigned int*") IntPointer pNumChannels );
public native @ByVal Error GetMemoryChannelInfo( @Cast("unsigned int*") IntBuffer pNumChannels );
public native @ByVal Error GetMemoryChannelInfo( @Cast("unsigned int*") int[] pNumChannels );
public native @ByVal Error GetEmbeddedImageInfo( EmbeddedImageInfo pInfo );
public native @ByVal Error SetEmbeddedImageInfo( EmbeddedImageInfo pInfo );
public native @ByVal Error WriteRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int") int value,
@Cast("bool") boolean broadcast/*=false*/);
public native @ByVal Error WriteRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int") int value);
public native @ByVal Error ReadRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntPointer pValue );
public native @ByVal Error ReadRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") IntBuffer pValue );
public native @ByVal Error ReadRegister(
@Cast("unsigned int") int address,
@Cast("unsigned int*") int[] pValue );
public native @ByVal Error WriteRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("const unsigned int*") IntPointer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error WriteRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("const unsigned int*") IntBuffer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error WriteRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("const unsigned int*") int[] pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("unsigned int*") IntPointer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("unsigned int*") IntBuffer pBuffer,
@Cast("unsigned int") int length );
public native @ByVal Error ReadRegisterBlock(
@Cast("unsigned short") short addressHigh,
@Cast("unsigned int") int addressLow,
@Cast("unsigned int*") int[] pBuffer,
@Cast("unsigned int") int length );
public static native @Cast("const char*") BytePointer GetRegisterString( @Cast("unsigned int") int registerVal);
public native @ByVal Error GetCycleTime(TimeStamp timeStamp);
public native @ByVal Error GetStats( CameraStats pStats );
public native @ByVal Error ResetStats();
public native @ByVal Error RegisterEvent( EventOptions pOpts );
public native @ByVal Error DeregisterEvent( EventOptions pOpts );
public native @ByVal Error RegisterAllEvents( EventOptions pOpts );
public native @ByVal Error DeregisterAllEvents( );
}
// #endif // PGR_FC2_GIGECAMERA_H_
// Parsed from
//=============================================================================
// Copyright ? 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id: Image.h 316355 2017-02-20 23:02:28Z alin $
//=============================================================================
// #ifndef PGR_FC2_IMAGE_H
// #define PGR_FC2_IMAGE_H
// #include "FlyCapture2Platform.h"
// #include "FlyCapture2Defs.h"
/**
* The Image class is used to retrieve images from a camera, convert
* between multiple pixel formats and save images to disk. Operations on
* Image objects are not guaranteed to be thread safe. It is recommended
* that operations on Image objects be protected by thread synchronization
* constructs such as mutexes.
*/
@Namespace("FlyCapture2") @NoOffset public static class Image extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public Image(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public Image(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public Image position(long position) {
return (Image)super.position(position);
}
/**
* Set the default color processing algorithm. This method will be
* used for any image with the DEFAULT algorithm set. The method used
* is determined at the time of the Convert() call, therefore the most
* recent execution of this function will take precedence. The default
* setting is shared within the current process.
*
* @param defaultMethod The color processing algorithm to set.
*
* @see GetDefaultColorProcessing()
*
* @return An Error indicating the success or failure of the function.
*/
public static native @ByVal Error SetDefaultColorProcessing(
@Cast("FlyCapture2::ColorProcessingAlgorithm") int defaultMethod );
/**
* Get the default color processing algorithm.
*
* @see SetDefaultColorProcessing()
*
* @return The default color processing algorithm.
*/
public static native @Cast("FlyCapture2::ColorProcessingAlgorithm") int GetDefaultColorProcessing();
/**
* Set the default output pixel format. This format will be used for any
* call to Convert() that does not specify an output format. The format
* used will be determined at the time of the Convert() call, therefore
* the most recent execution of this function will take precedence.
* The default is shared within the current process.
*
* @param format The output pixel format to set.
*
* @see GetDefaultOutputFormat()
*
* @return The default color processing algorithm.
*/
public static native @ByVal Error SetDefaultOutputFormat( @Cast("FlyCapture2::PixelFormat") int format );
/**
* Get the default output pixel format.
*
* @see SetDefaultOutputFormat()
*
* @return The default pixel format.
*/
public static native @Cast("FlyCapture2::PixelFormat") int GetDefaultOutputFormat();
/**
* Calculate the bits per pixel for the specified pixel format.
*
* @param format The pixel format.
*
* @return The bits per pixel.
*/
public static native @Cast("unsigned int") int DetermineBitsPerPixel( @Cast("FlyCapture2::PixelFormat") int format );
/**
* Default constructor.
*/
public Image() { super((Pointer)null); allocate(); }
private native void allocate();
/**
* Construct an Image object with the specified arguments.
* Ownership of the image buffer is not transferred to the Image object.
* It is the user's responsibility to delete the buffer when it is
* no longer in use.
*
* @param rows Rows in the image.
* @param cols Columns in the image.
* @param stride Stride of the image buffer.
* @param pData Pointer to the image buffer.
* @param dataSize Size of the image buffer.
* @param format Pixel format.
* @param bayerFormat Format of the Bayer tiled raw image.
*/
public Image(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") BytePointer pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ ) { super((Pointer)null); allocate(rows, cols, stride, pData, dataSize, format, bayerFormat); }
private native void allocate(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") BytePointer pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ );
public Image(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") BytePointer pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format ) { super((Pointer)null); allocate(rows, cols, stride, pData, dataSize, format); }
private native void allocate(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") BytePointer pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format );
public Image(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") ByteBuffer pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ ) { super((Pointer)null); allocate(rows, cols, stride, pData, dataSize, format, bayerFormat); }
private native void allocate(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") ByteBuffer pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ );
public Image(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") ByteBuffer pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format ) { super((Pointer)null); allocate(rows, cols, stride, pData, dataSize, format); }
private native void allocate(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") ByteBuffer pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format );
public Image(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") byte[] pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ ) { super((Pointer)null); allocate(rows, cols, stride, pData, dataSize, format, bayerFormat); }
private native void allocate(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") byte[] pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ );
public Image(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") byte[] pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format ) { super((Pointer)null); allocate(rows, cols, stride, pData, dataSize, format); }
private native void allocate(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") byte[] pData,
@Cast("unsigned int") int dataSize,
@Cast("FlyCapture2::PixelFormat") int format );
/**
* Construct an Image object with the specified arguments.
* Ownership of the image buffer is not transferred to the Image object.
* It is the user's responsibility to delete the buffer when it is
* no longer in use.
*
* @param rows Rows in the image.
* @param cols Columns in the image.
* @param stride Stride of the image buffer.
* @param pData Pointer to the image buffer.
* @param dataSize Size of the image buffer.
* @param receivedDataSize Actual size of data.
* @param format Pixel format.
* @param bayerFormat Format of the Bayer tiled raw image.
*/
public Image(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") BytePointer pData,
@Cast("unsigned int") int dataSize,
@Cast("unsigned int") int receivedDataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ ) { super((Pointer)null); allocate(rows, cols, stride, pData, dataSize, receivedDataSize, format, bayerFormat); }
private native void allocate(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") BytePointer pData,
@Cast("unsigned int") int dataSize,
@Cast("unsigned int") int receivedDataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ );
public Image(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") ByteBuffer pData,
@Cast("unsigned int") int dataSize,
@Cast("unsigned int") int receivedDataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ ) { super((Pointer)null); allocate(rows, cols, stride, pData, dataSize, receivedDataSize, format, bayerFormat); }
private native void allocate(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") ByteBuffer pData,
@Cast("unsigned int") int dataSize,
@Cast("unsigned int") int receivedDataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ );
public Image(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") byte[] pData,
@Cast("unsigned int") int dataSize,
@Cast("unsigned int") int receivedDataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ ) { super((Pointer)null); allocate(rows, cols, stride, pData, dataSize, receivedDataSize, format, bayerFormat); }
private native void allocate(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("unsigned char*") byte[] pData,
@Cast("unsigned int") int dataSize,
@Cast("unsigned int") int receivedDataSize,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ );
/**
* Construct an Image object with the specified arguments.
* Ownership of the image buffer is not transferred to the Image object.
* It is the user's responsibility to delete the buffer when it is
* no longer in use.
*
* @param pData Pointer to the image buffer.
* @param dataSize Size of the image buffer.
*/
public Image(
@Cast("unsigned char*") BytePointer pData,
@Cast("unsigned int") int dataSize) { super((Pointer)null); allocate(pData, dataSize); }
private native void allocate(
@Cast("unsigned char*") BytePointer pData,
@Cast("unsigned int") int dataSize);
public Image(
@Cast("unsigned char*") ByteBuffer pData,
@Cast("unsigned int") int dataSize) { super((Pointer)null); allocate(pData, dataSize); }
private native void allocate(
@Cast("unsigned char*") ByteBuffer pData,
@Cast("unsigned int") int dataSize);
public Image(
@Cast("unsigned char*") byte[] pData,
@Cast("unsigned int") int dataSize) { super((Pointer)null); allocate(pData, dataSize); }
private native void allocate(
@Cast("unsigned char*") byte[] pData,
@Cast("unsigned int") int dataSize);
/**
* Construct an Image object with the specified arguments.
*
* @param rows Rows in the image.
* @param cols Columns in the image.
* @param format Pixel format.
* @param bayerFormat Format of the Bayer tiled raw image.
*/
public Image(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ ) { super((Pointer)null); allocate(rows, cols, format, bayerFormat); }
private native void allocate(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("FlyCapture2::PixelFormat") int format,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat/*=FlyCapture2::NONE*/ );
public Image(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("FlyCapture2::PixelFormat") int format ) { super((Pointer)null); allocate(rows, cols, format); }
private native void allocate(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("FlyCapture2::PixelFormat") int format );
/**
* Copy constructor. Both images will point to the same image buffer
* internally.
*/
public Image( @Const @ByRef Image image ) { super((Pointer)null); allocate(image); }
private native void allocate( @Const @ByRef Image image );
/**
* Default destructor. The internal image buffer will be released if
* there are no other Image objects holding a reference to it. This
* will also allow the buffer to be requeued internally.
*/
/**
* Assignment operator. Both images will point to the same image buffer
* internally. If the Image already has a buffer attached to it, it will
* will be released.
*
* @param image The image to copy from.
*/
public native @ByRef @Name("operator =") Image put( @Const @ByRef Image image );
/**
* Indexing operator.
*
* @param index The index of the byte to return.
*
* @return The address of the specified byte from the image data.
*/
public native @Cast("unsigned char*") @Name("operator []") BytePointer get( @Cast("unsigned int") int index );
/**
* Indexing operator.
*
* @param row The row of the pixel to return.
* @param col The column of the pixel to return.
*
* @return The address of the specified byte from the image data.
*/
public native @Cast("unsigned char*") @Name("operator ()") BytePointer apply(
@Cast("unsigned int") int row,
@Cast("unsigned int") int col );
/**
* Perform a deep copy of the Image. After this operation, the image
* contents and member variables will be the same. The Images will not
* share a buffer. The Image's current buffer will not be released.
*
* @param pImage The Image to copy the data from.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error DeepCopy( @Const Image pImage );
/**
* Sets the dimensions of the image object.
*
* @param rows Number of rows to set.
* @param cols Number of cols to set.
* @param stride Stride to set.
* @param pixelFormat Pixel format to set.
* @param bayerFormat Bayer tile format to set.
*
* @see GetDimensions()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetDimensions(
@Cast("unsigned int") int rows,
@Cast("unsigned int") int cols,
@Cast("unsigned int") int stride,
@Cast("FlyCapture2::PixelFormat") int pixelFormat,
@Cast("FlyCapture2::BayerTileFormat") int bayerFormat );
/**
* Set the data of the Image object.
* Ownership of the image buffer is not transferred to the Image object.
* It is the user's responsibility to delete the buffer when it is
* no longer in use.
*
* @param pData Pointer to the image buffer.
* @param dataSize Size of the image buffer.
*/
public native @ByVal Error SetData(
@Cast("const unsigned char*") BytePointer pData,
@Cast("unsigned int") int dataSize );
public native @ByVal Error SetData(
@Cast("const unsigned char*") ByteBuffer pData,
@Cast("unsigned int") int dataSize );
public native @ByVal Error SetData(
@Cast("const unsigned char*") byte[] pData,
@Cast("unsigned int") int dataSize );
/**
* Set the block id of the Image object.
*
* @param blockId The blockId to assign to the image.
*/
public native @ByVal Error SetBlockId( @Cast("const unsigned int") int blockId);
/**
* get the block id of the Image object.
*
* @return The blockId assigned to the image.
*/
public native @Cast("unsigned int") int GetBlockId();
/**
* Get the current pixel format.
*
* @return The current pixel format.
*/
public native @Cast("FlyCapture2::PixelFormat") int GetPixelFormat();
/**
* Get the current color processing algorithm.
*
* @see SetColorProcessing()
*
* @return The current color processing algorithm.
*/
public native @Cast("FlyCapture2::ColorProcessingAlgorithm") int GetColorProcessing();
/**
* Set the color processing algorithm. This should be set on the
* input Image object.
*
* @param colorProc The color processing algorithm to use.
*
* @see GetColorProcessing()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetColorProcessing( @Cast("FlyCapture2::ColorProcessingAlgorithm") int colorProc );
/**
* Get the number of columns in the image.
*
* @return The number of columns.
*/
public native @Cast("unsigned int") int GetCols();
/**
* Get the number of rows in the image.
*
* @return The number of rows.
*/
public native @Cast("unsigned int") int GetRows();
/**
* Get the stride in the image.
*
* @return The stride (The number of bytes between rows of the image).
*/
public native @Cast("unsigned int") int GetStride();
/**
* Get the bits per pixel of the image.
*
* @return The bits per pixel.
*/
public native @Cast("unsigned int") int GetBitsPerPixel();
/**
* Get the Bayer tile format of the image.
*
* @return The Bayer tile format.
*/
public native @Cast("FlyCapture2::BayerTileFormat") int GetBayerTileFormat();
/**
* Get the size of the buffer associated with the image, in bytes.
*
* @return The size of the buffer, in bytes.
*/
public native @Cast("unsigned int") int GetDataSize();
/**
* Get the size of the compressed data, in bytes. A compressed image
* will have a maximum size equal to GetDataSize(), but may actually
* contain less data, depending on the compression level.
* For uncompressed images, a value smaller than the data size may
* indicate lost data.
*
* @return The size of the compressed data, in bytes. 0 when camera
* not sending compressed data.
*/
public native @Cast("unsigned int") int GetReceivedDataSize();
/**
* Get the image dimensions associated with the image.
*
* @param pRows Number of rows.
* @param pCols Number of columns.
* @param pStride The stride.
* @param pPixelFormat Pixel format.
* @param pBayerFormat Bayer tile format.
*/
public native void GetDimensions(
@Cast("unsigned int*") IntPointer pRows,
@Cast("unsigned int*") IntPointer pCols/*=NULL*/,
@Cast("unsigned int*") IntPointer pStride/*=NULL*/,
@Cast("FlyCapture2::PixelFormat*") IntPointer pPixelFormat/*=NULL*/,
@Cast("FlyCapture2::BayerTileFormat*") IntPointer pBayerFormat/*=NULL*/ );
public native void GetDimensions(
@Cast("unsigned int*") IntPointer pRows );
public native void GetDimensions(
@Cast("unsigned int*") IntBuffer pRows,
@Cast("unsigned int*") IntBuffer pCols/*=NULL*/,
@Cast("unsigned int*") IntBuffer pStride/*=NULL*/,
@Cast("FlyCapture2::PixelFormat*") IntBuffer pPixelFormat/*=NULL*/,
@Cast("FlyCapture2::BayerTileFormat*") IntBuffer pBayerFormat/*=NULL*/ );
public native void GetDimensions(
@Cast("unsigned int*") IntBuffer pRows );
public native void GetDimensions(
@Cast("unsigned int*") int[] pRows,
@Cast("unsigned int*") int[] pCols/*=NULL*/,
@Cast("unsigned int*") int[] pStride/*=NULL*/,
@Cast("FlyCapture2::PixelFormat*") int[] pPixelFormat/*=NULL*/,
@Cast("FlyCapture2::BayerTileFormat*") int[] pBayerFormat/*=NULL*/ );
public native void GetDimensions(
@Cast("unsigned int*") int[] pRows );
/**
* Get a pointer to the data associated with the image. This function
* is considered unsafe. The pointer returned could be invalidated if
* the buffer is resized or released. The pointer may also be
* invalidated if the Image object is passed to
* Camera::RetrieveBuffer(). It is recommended that a Image::DeepCopy()
* be performed if a seperate copy of the Image data is required
* for further processing.
*
* @return A pointer to the image data.
*/
public native @Cast("unsigned char*") BytePointer GetData();
/**
* Get the metadata associated with the image. This includes
* embedded image information.
*
* @return Metadata associated with the image.
*/
public native @ByVal ImageMetadata GetMetadata();
/**
* Calculate statistics associated with the image. In order to collect
* statistics for a particular channel, the enabled flag for the
* channel must be set to true. Statistics can only be collected for
* images in Mono8, Mono16, RGB, RGBU, BGR and BGRU.
*
* @param pStatistics The ImageStatistics object to hold the statistics.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error CalculateStatistics( ImageStatistics pStatistics );
/**
* Get the timestamp data associated with the image.
*
* @return Timestamp data associated with the image.
*/
public native @ByVal TimeStamp GetTimeStamp();
/**
* Save the image to the specified file name with the file format
* specified.
*
* @param pFilename Filename to save image with.
* @param format File format to save in.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Save(
@Cast("const char*") BytePointer pFilename,
@Cast("FlyCapture2::ImageFileFormat") int format/*=FlyCapture2::FROM_FILE_EXT*/ );
public native @ByVal Error Save(
@Cast("const char*") BytePointer pFilename );
public native @ByVal Error Save(
String pFilename,
@Cast("FlyCapture2::ImageFileFormat") int format/*=FlyCapture2::FROM_FILE_EXT*/ );
public native @ByVal Error Save(
String pFilename );
/**
* Save the image to the specified file name with the options specified.
*
* @param pFilename Filename to save image with.
* @param pOption Options to use while saving image.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Save(
@Cast("const char*") BytePointer pFilename,
PNGOption pOption );
public native @ByVal Error Save(
String pFilename,
PNGOption pOption );
/**
* Save the image to the specified file name with the options specified.
*
* @param pFilename Filename to save image with.
* @param pOption Options to use while saving image.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Save(
@Cast("const char*") BytePointer pFilename,
PPMOption pOption );
public native @ByVal Error Save(
String pFilename,
PPMOption pOption );
/**
* Save the image to the specified file name with the options specified.
*
* @param pFilename Filename to save image with.
* @param pOption Options to use while saving image.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Save(
@Cast("const char*") BytePointer pFilename,
PGMOption pOption );
public native @ByVal Error Save(
String pFilename,
PGMOption pOption );
/**
* Save the image to the specified file name with the options specified.
*
* @param pFilename Filename to save image with.
* @param pOption Options to use while saving image.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Save(
@Cast("const char*") BytePointer pFilename,
TIFFOption pOption );
public native @ByVal Error Save(
String pFilename,
TIFFOption pOption );
/**
* Save the image to the specified file name with the options specified.
*
* @param pFilename Filename to save image with.
* @param pOption Options to use while saving image.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Save(
@Cast("const char*") BytePointer pFilename,
JPEGOption pOption );
public native @ByVal Error Save(
String pFilename,
JPEGOption pOption );
/**
* Save the image to the specified file name with the options specified.
*
* @param pFilename Filename to save image with.
* @param pOption Options to use while saving image.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Save(
@Cast("const char*") BytePointer pFilename,
JPG2Option pOption );
public native @ByVal Error Save(
String pFilename,
JPG2Option pOption );
/**
* Save the image to the specified file name with the options specified.
*
* @param pFilename Filename to save image with.
* @param pOption Options to use while saving image.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Save(
@Cast("const char*") BytePointer pFilename,
BMPOption pOption );
public native @ByVal Error Save(
String pFilename,
BMPOption pOption );
/**
* Converts the current image buffer to the specified output format and
* stores the result in the specified image. The destination image
* does not need to be configured in any way before the call is made.
*
* @param format Output format of the converted image.
* @param pDestImage Destination image.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Convert(
@Cast("FlyCapture2::PixelFormat") int format,
Image pDestImage );
/**
* Converts the current image buffer to the specified output format and
* stores the result in the specified image. The destination image
* does not need to be configured in anyway before the call is made.
*
* @param pDestImage Destination image.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Convert( Image pDestImage );
/**
* Release the buffer associated with the Image. If no buffer is
* associated, the function does nothing.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error ReleaseBuffer();
}
// #endif //PGR_FC2_IMAGE_H
// Parsed from
//=============================================================================
// Copyright ? 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id: Utilities.h 316355 2017-02-20 23:02:28Z alin $
//=============================================================================
// #ifndef PGR_FC2_UTILITIES_H_
// #define PGR_FC2_UTILITIES_H_
// #include "FlyCapture2Platform.h"
// #include "FlyCapture2Defs.h"
// #include
/** Possible operating systems. */
/** enum FlyCapture2::OSType */
public static final int
/** All Windows 32-bit variants. */
WINDOWS_X86 = 0,
/** All Windows 64-bit variants. */
WINDOWS_X64 = 1,
/** All Linux 32-bit variants. */
LINUX_X86 = 2,
/** All Linux 32-bit variants. */
LINUX_X64 = 3,
/** Mac OSX. */
MAC = 4,
/** Unknown operating system. */
UNKNOWN_OS = 5,
OSTYPE_FORCE_32BITS = FULL_32BIT_VALUE;
/** Possible byte orders. */
/** enum FlyCapture2::ByteOrder */
public static final int
BYTE_ORDER_LITTLE_ENDIAN = 0,
BYTE_ORDER_BIG_ENDIAN = 1,
BYTE_ORDER_FORCE_32BITS = FULL_32BIT_VALUE;
/** Description of the system. */
@Namespace("FlyCapture2") public static class SystemInfo extends Pointer {
static { Loader.load(); }
/** Default native constructor. */
public SystemInfo() { super((Pointer)null); allocate(); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public SystemInfo(long size) { super((Pointer)null); allocateArray(size); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public SystemInfo(Pointer p) { super(p); }
private native void allocate();
private native void allocateArray(long size);
@Override public SystemInfo position(long position) {
return (SystemInfo)super.position(position);
}
/** Operating system type as described by OSType. */
public native @Cast("FlyCapture2::OSType") int osType(); public native SystemInfo osType(int osType);
/** Detailed description of the operating system. */
public native @Cast("char") byte osDescription(int i); public native SystemInfo osDescription(int i, byte osDescription);
@MemberGetter public native @Cast("char*") BytePointer osDescription();
/** Byte order of the system. */
public native @Cast("FlyCapture2::ByteOrder") int byteOrder(); public native SystemInfo byteOrder(int byteOrder);
/** Amount of memory available on the system. */
public native @Cast("size_t") long sysMemSize(); public native SystemInfo sysMemSize(long sysMemSize);
/** Detailed description of the CPU. */
public native @Cast("char") byte cpuDescription(int i); public native SystemInfo cpuDescription(int i, byte cpuDescription);
@MemberGetter public native @Cast("char*") BytePointer cpuDescription();
/** Number of cores on all CPUs on the system. */
public native @Cast("size_t") long numCpuCores(); public native SystemInfo numCpuCores(long numCpuCores);
/** List of drivers used. */
public native @Cast("char") byte driverList(int i); public native SystemInfo driverList(int i, byte driverList);
@MemberGetter public native @Cast("char*") BytePointer driverList();
/** List of libraries used. */
public native @Cast("char") byte libraryList(int i); public native SystemInfo libraryList(int i, byte libraryList);
@MemberGetter public native @Cast("char*") BytePointer libraryList();
/** Detailed description of the GPU. */
public native @Cast("char") byte gpuDescription(int i); public native SystemInfo gpuDescription(int i, byte gpuDescription);
@MemberGetter public native @Cast("char*") BytePointer gpuDescription();
/** Screen resolution width in pixels. */
public native @Cast("size_t") long screenWidth(); public native SystemInfo screenWidth(long screenWidth);
/** Screen resolution height in pixels. */
public native @Cast("size_t") long screenHeight(); public native SystemInfo screenHeight(long screenHeight);
/** Reserved for future use. */
public native @Cast("unsigned int") int reserved(int i); public native SystemInfo reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
}
/**
* Async command callback function prototype. Defines the syntax of the
* async command function that is passed into LaunchCommandAsync().
*/
public static class AsyncCommandCallback extends FunctionPointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public AsyncCommandCallback(Pointer p) { super(p); }
protected AsyncCommandCallback() { allocate(); }
private native void allocate();
public native void call( @ByVal Error retError, Pointer pUserData );
}
/**
* The Utility class is generally used to query for general system
* information such as operating system, available memory etc.
* It can also be used to launch browsers, CHM viewers or terminal commands.
*/
@Namespace("FlyCapture2") public static class Utilities extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public Utilities(Pointer p) { super(p); }
/**
* Check for driver compatibility for the given camera guid.
*
* @param guid Pointer to the guid of the device to check.
*
* @return PGR_NO_ERROR if the library is compatible with the currently
* loaded driver, otherwise an error indicating the type of failure.
*/
public static native @ByVal Error CheckDriver(@Const PGRGuid guid);
/**
* Get the driver's name for a device
*
* @param guid Pointer to the guid of the device to check.
* @param deviceName The device name will be returned in this string
*
* @return An Error indicating the success or failure of the function.
*/
public static native @ByVal Error GetDriverDeviceName(@Const PGRGuid guid, @StdString @ByRef BytePointer deviceName);
/**
* Get system information.
*
* @param pSystemInfo Structure to receive system information.
*
* @return An Error indicating the success or failure of the function.
*/
public static native @ByVal Error GetSystemInfo(
SystemInfo pSystemInfo );
/**
* Get library version.
*
* @param pVersion Structure to receive the library version.
*
* @return An Error indicating the success or failure of the function.
*/
public static native @ByVal Error GetLibraryVersion(
FC2Version pVersion );
/**
* Launch a URL in the system default browser.
*
* @param pAddress URL to open in browser.
*
* @return An Error indicating the success or failure of the function.
*/
public static native @ByVal Error LaunchBrowser(
@Cast("const char*") BytePointer pAddress );
public static native @ByVal Error LaunchBrowser(
String pAddress );
/**
* Open a CHM file in the system default CHM viewer.
*
* @param pFileName Filename of CHM file to open.
*
* @return An Error indicating the success or failure of the function.
*/
public static native @ByVal Error LaunchHelp(
@Cast("const char*") BytePointer pFileName );
public static native @ByVal Error LaunchHelp(
String pFileName );
/**
* Execute a command in the terminal. This is a blocking call that
* will return when the command completes.
*
* @param pCommand Command to execute.
*
* @see LaunchCommandAsync()
*
* @return An Error indicating the success or failure of the function.
*/
public static native @ByVal Error LaunchCommand(
@Cast("const char*") BytePointer pCommand );
public static native @ByVal Error LaunchCommand(
String pCommand );
/**
* Execute a command in the terminal. This is a non-blocking call that
* will return immediately. The return value of the command can be
* retrieved in the callback.
*
* @param pCommand Command to execute.
* @param pCallback Callback to fire when command is complete.
* @param pUserData Data pointer to pass to callback.
*
* @see LaunchCommand()
*
* @return An Error indicating the success or failure of the function.
*/
public static native @ByVal Error LaunchCommandAsync(
@Cast("const char*") BytePointer pCommand,
AsyncCommandCallback pCallback,
Pointer pUserData );
public static native @ByVal Error LaunchCommandAsync(
String pCommand,
AsyncCommandCallback pCallback,
Pointer pUserData );
}
// #endif // PGR_FC2_UTILITIES_H_
// Parsed from
//=============================================================================
// Copyright ? 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id: TopologyNode.h 316355 2017-02-20 23:02:28Z alin $
//=============================================================================
// #ifndef PGR_FC2_TOPOLOGYNODE_H
// #define PGR_FC2_TOPOLOGYNODE_H
// #include "FlyCapture2Platform.h"
// #include "FlyCapture2Defs.h"
/**
* The TopologyNode class contains topology information that can be
* used to generate a tree structure of all cameras and devices connected
* to a computer.
*/
@Namespace("FlyCapture2") @NoOffset public static class TopologyNode extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public TopologyNode(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public TopologyNode(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public TopologyNode position(long position) {
return (TopologyNode)super.position(position);
}
/**
* Possible states of a port on a node.
*/
/** enum FlyCapture2::TopologyNode::PortType */
public static final int
NOT_CONNECTED = 1,
CONNECTED_TO_PARENT = 2,
CONNECTED_TO_CHILD = 3;
/**
* Type of node.
*/
/** enum FlyCapture2::TopologyNode::NodeType */
public static final int
COMPUTER = 0,
BUS = 1,
CAMERA = 2,
NODE = 3;
/**
* Default constructor.
*/
public TopologyNode() { super((Pointer)null); allocate(); }
private native void allocate();
/**
* Constructor.
*
* @param guid The PGRGuid of the node (if applicable).
* @param deviceId Device ID of the node.
* @param nodeType Type of the node.
* @param interfaceType Interface type of the node.
*/
public TopologyNode(
@ByVal PGRGuid guid,
int deviceId,
@Cast("FlyCapture2::TopologyNode::NodeType") int nodeType,
@Cast("FlyCapture2::InterfaceType") int interfaceType ) { super((Pointer)null); allocate(guid, deviceId, nodeType, interfaceType); }
private native void allocate(
@ByVal PGRGuid guid,
int deviceId,
@Cast("FlyCapture2::TopologyNode::NodeType") int nodeType,
@Cast("FlyCapture2::InterfaceType") int interfaceType );
/**
* Default destructor.
*/
/**
* Copy constructor.
*/
public TopologyNode( @Const @ByRef TopologyNode other ) { super((Pointer)null); allocate(other); }
private native void allocate( @Const @ByRef TopologyNode other );
/**
* Assignment operator.
*
* @param other The TopologyNode to copy from.
*/
public native @ByRef @Name("operator =") TopologyNode put( @Const @ByRef TopologyNode other );
/**
* Get the PGRGuid associated with the node.
*
* @return PGRGuid of the node.
*/
public native @ByVal PGRGuid GetGuid();
/**
* Get the device ID associated with the node.
*
* @return Device ID of the node.
*/
public native int GetDeviceId();
/**
* Get the node type associated with the node.
*
* @return Node type of the node.
*/
public native @Cast("FlyCapture2::TopologyNode::NodeType") int GetNodeType();
/**
* Get the interface type associated with the node.
*
* @return Interface type of the node.
*/
public native @Cast("FlyCapture2::InterfaceType") int GetInterfaceType();
/**
* Get the number of child nodes.
*
* @return Number of child nodes.
*/
public native @Cast("unsigned int") int GetNumChildren();
/**
* Get child node located at the specified position.
*
* @param position Position of the node.
*
* @return TopologyNode at the specified position.
*/
public native @ByVal TopologyNode GetChild( @Cast("unsigned int") int position );
/**
* Add the specified TopologyNode as a child of the node.
*
* @param childNode The TopologyNode to add.
*/
public native void AddChild( @ByVal TopologyNode childNode );
/**
* Get the number of ports.
*
* @return Number of ports.
*/
public native @Cast("unsigned int") int GetNumPorts();
/**
* Get type of port located at the specified position.
*
* @param position Position of the port.
*
* @return PortType at the specified position.
*/
public native @Cast("FlyCapture2::TopologyNode::PortType") int GetPortType( @Cast("unsigned int") int position );
/**
* Add the specified PortType as a port of the node.
*
* @param childPort The port to add.
*/
public native void AddPortType( @Cast("FlyCapture2::TopologyNode::PortType") int childPort );
/**
* Assign a PGRGuid and device ID to the node.
*
* @param guid PGRGuid to be assigned.
* @param deviceId Device ID to be assigned.
*
* @return Whether the data was successfully set to the node.
*/
public native @Cast("bool") boolean AssignGuidToNode( @ByVal PGRGuid guid, int deviceId );
/**
* Assign a PGRGuid, device ID and nodeType to the node.
*
* @param guid PGRGuid to be assigned.
* @param deviceId Device ID to be assigned.
* @param nodeType NodeType to be assigned
*
* @return Whether the data was successfully set to the node.
*/
public native @Cast("bool") boolean AssignGuidToNode(@ByVal PGRGuid guid, int deviceId, @Cast("FlyCapture2::TopologyNode::NodeType") int nodeType);
}
// #endif
// Parsed from
//=============================================================================
// Copyright ? 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id: ImageStatistics.h 316355 2017-02-20 23:02:28Z alin $
//=============================================================================
// #ifndef PGR_FC2_IMAGESTATISTICS_H
// #define PGR_FC2_IMAGESTATISTICS_H
// #include "FlyCapture2Platform.h"
// #include "FlyCapture2Defs.h"
/**
* The ImageStatistics object represents image statistics for an image.
*/
@Namespace("FlyCapture2") @NoOffset public static class ImageStatistics extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public ImageStatistics(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public ImageStatistics(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public ImageStatistics position(long position) {
return (ImageStatistics)super.position(position);
}
/**
* Channels that allow statistics to be calculated.
*/
/** enum FlyCapture2::ImageStatistics::StatisticsChannel */
public static final int
GREY = 0,
RED = 1,
GREEN = 2,
BLUE = 3,
HUE = 4,
SATURATION = 5,
LIGHTNESS = 6,
NUM_STATISTICS_CHANNELS = 7;
/**
* Default constructor.
*/
public ImageStatistics() { super((Pointer)null); allocate(); }
private native void allocate();
/**
* Default destructor.
*/
/**
* Copy constructor.
*/
public ImageStatistics( @Const @ByRef ImageStatistics other ) { super((Pointer)null); allocate(other); }
private native void allocate( @Const @ByRef ImageStatistics other );
/**
* Assignment operator.
*
* @param other The ImageStatistics object to copy from.
*/
public native @ByRef @Name("operator =") ImageStatistics put( @Const @ByRef ImageStatistics other );
/**
* Enable all channels.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error EnableAll();
/**
* Disable all channels.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error DisableAll();
/**
* Enable only the grey channel.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error EnableGreyOnly();
/**
* Enable only the RGB channels.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error EnableRGBOnly();
/**
* Enable only the HSL channels.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error EnableHSLOnly();
/**
* Get the status of a statistics channel.
*
* @param channel The statistics channel.
* @param pEnabled Whether the channel is enabled.
*
* @see SetChannelStatus()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetChannelStatus(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("bool*") BoolPointer pEnabled );
public native @ByVal Error GetChannelStatus(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("bool*") boolean[] pEnabled );
/**
* Set the status of a statistics channel.
*
* @param channel The statistics channel.
* @param enabled Whether the channel should be enabled.
*
* @see GetChannelStatus()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error SetChannelStatus(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("bool") boolean enabled );
/**
* Get the range of a statistics channel. The values returned
* are the maximum possible values for any given pixel in the image.
* This is generally 0-255 for 8 bit images, and 0-65535 for
* 16 bit images.
*
* @param channel The statistics channel.
* @param pMin The minimum possible value.
* @param pMax The maximum possible value.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetRange(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") IntPointer pMin,
@Cast("unsigned int*") IntPointer pMax );
public native @ByVal Error GetRange(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") IntBuffer pMin,
@Cast("unsigned int*") IntBuffer pMax );
public native @ByVal Error GetRange(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") int[] pMin,
@Cast("unsigned int*") int[] pMax );
/**
* Get the range of a statistics channel. The values returned
* are the maximum values recorded for all pixels in the image.
*
* @param channel The statistics channel.
* @param pPixelValueMin The minimum pixel value.
* @param pPixelValueMax The maximum pixel value.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetPixelValueRange(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") IntPointer pPixelValueMin,
@Cast("unsigned int*") IntPointer pPixelValueMax );
public native @ByVal Error GetPixelValueRange(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") IntBuffer pPixelValueMin,
@Cast("unsigned int*") IntBuffer pPixelValueMax );
public native @ByVal Error GetPixelValueRange(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") int[] pPixelValueMin,
@Cast("unsigned int*") int[] pPixelValueMax );
/**
* Get the number of unique pixel values in the image.
*
* @param channel The statistics channel.
* @param pNumPixelValues The number of unique pixel values.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetNumPixelValues(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") IntPointer pNumPixelValues );
public native @ByVal Error GetNumPixelValues(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") IntBuffer pNumPixelValues );
public native @ByVal Error GetNumPixelValues(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") int[] pNumPixelValues );
/**
* Get the mean of the image.
*
* @param channel The statistics channel.
* @param pPixelValueMean The mean of the image.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetMean(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
FloatPointer pPixelValueMean );
public native @ByVal Error GetMean(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
FloatBuffer pPixelValueMean );
public native @ByVal Error GetMean(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
float[] pPixelValueMean );
/**
* Get the histogram for the image.
*
* @param channel The statistics channel.
* @param ppHistogram Pointer to an array containing the histogram.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetHistogram(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("int**") PointerPointer ppHistogram );
public native @ByVal Error GetHistogram(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@ByPtrPtr IntPointer ppHistogram );
public native @ByVal Error GetHistogram(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@ByPtrPtr IntBuffer ppHistogram );
public native @ByVal Error GetHistogram(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@ByPtrPtr int[] ppHistogram );
/**
* Get all statistics for the image.
*
* @param channel The statistics channel.
* @param pRangeMin The minimum possible value.
* @param pRangeMax The maximum possible value.
* @param pPixelValueMin The minimum pixel value.
* @param pPixelValueMax The maximum pixel value.
* @param pNumPixelValues The number of unique pixel values.
* @param pPixelValueMean The mean of the image.
* @param ppHistogram Pointer to an array containing the histogram.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error GetStatistics(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") IntPointer pRangeMin/*=NULL*/,
@Cast("unsigned int*") IntPointer pRangeMax/*=NULL*/,
@Cast("unsigned int*") IntPointer pPixelValueMin/*=NULL*/,
@Cast("unsigned int*") IntPointer pPixelValueMax/*=NULL*/,
@Cast("unsigned int*") IntPointer pNumPixelValues/*=NULL*/,
FloatPointer pPixelValueMean/*=NULL*/,
@Cast("int**") PointerPointer ppHistogram/*=NULL*/ );
public native @ByVal Error GetStatistics(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel );
public native @ByVal Error GetStatistics(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") IntPointer pRangeMin/*=NULL*/,
@Cast("unsigned int*") IntPointer pRangeMax/*=NULL*/,
@Cast("unsigned int*") IntPointer pPixelValueMin/*=NULL*/,
@Cast("unsigned int*") IntPointer pPixelValueMax/*=NULL*/,
@Cast("unsigned int*") IntPointer pNumPixelValues/*=NULL*/,
FloatPointer pPixelValueMean/*=NULL*/,
@ByPtrPtr IntPointer ppHistogram/*=NULL*/ );
public native @ByVal Error GetStatistics(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") IntBuffer pRangeMin/*=NULL*/,
@Cast("unsigned int*") IntBuffer pRangeMax/*=NULL*/,
@Cast("unsigned int*") IntBuffer pPixelValueMin/*=NULL*/,
@Cast("unsigned int*") IntBuffer pPixelValueMax/*=NULL*/,
@Cast("unsigned int*") IntBuffer pNumPixelValues/*=NULL*/,
FloatBuffer pPixelValueMean/*=NULL*/,
@ByPtrPtr IntBuffer ppHistogram/*=NULL*/ );
public native @ByVal Error GetStatistics(
@Cast("FlyCapture2::ImageStatistics::StatisticsChannel") int channel,
@Cast("unsigned int*") int[] pRangeMin/*=NULL*/,
@Cast("unsigned int*") int[] pRangeMax/*=NULL*/,
@Cast("unsigned int*") int[] pPixelValueMin/*=NULL*/,
@Cast("unsigned int*") int[] pPixelValueMax/*=NULL*/,
@Cast("unsigned int*") int[] pNumPixelValues/*=NULL*/,
float[] pPixelValueMean/*=NULL*/,
@ByPtrPtr int[] ppHistogram/*=NULL*/ );
}
// #endif
// Parsed from
//=============================================================================
// Copyright (c) 2001-2018 FLIR Systems, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
// #ifndef FLIR_FLYCAPTURE2VIDEODEFS_H
// #define FLIR_FLYCAPTURE2VIDEODEFS_H
// #include
/**
* \defgroup VideoSaveStructures Video saving structures.
*
* These structures define various parameters used for saving videos.
*/
/*@{*/
/** Options for saving MJPG files. */
@Namespace("FlyCapture2") @NoOffset public static class MJPGOption extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public MJPGOption(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public MJPGOption(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public MJPGOption position(long position) {
return (MJPGOption)super.position(position);
}
/** Frame rate of the stream */
public native float frameRate(); public native MJPGOption frameRate(float frameRate);
/** Image quality (1-100) */
public native @Cast("unsigned int") int quality(); public native MJPGOption quality(int quality);
public native @Cast("unsigned int") int reserved(int i); public native MJPGOption reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public MJPGOption() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Options for saving H264 files. */
@Namespace("FlyCapture2") @NoOffset public static class H264Option extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public H264Option(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public H264Option(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public H264Option position(long position) {
return (H264Option)super.position(position);
}
/** Frame rate of the stream */
public native float frameRate(); public native H264Option frameRate(float frameRate);
/** Width of source image */
public native @Cast("unsigned int") int width(); public native H264Option width(int width);
/** Height of source image */
public native @Cast("unsigned int") int height(); public native H264Option height(int height);
/** Bitrate to encode at */
public native @Cast("unsigned int") int bitrate(); public native H264Option bitrate(int bitrate);
/** Reserved for future use */
public native @Cast("unsigned int") int reserved(int i); public native H264Option reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public H264Option() { super((Pointer)null); allocate(); }
private native void allocate();
}
/** Options for saving AVI files. */
@Namespace("FlyCapture2") @NoOffset public static class AVIOption extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public AVIOption(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public AVIOption(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public AVIOption position(long position) {
return (AVIOption)super.position(position);
}
/** Frame rate of the stream */
public native float frameRate(); public native AVIOption frameRate(float frameRate);
/** Reserved for future use */
public native @Cast("unsigned int") int reserved(int i); public native AVIOption reserved(int i, int reserved);
@MemberGetter public native @Cast("unsigned int*") IntPointer reserved();
public AVIOption() { super((Pointer)null); allocate(); }
private native void allocate();
}
/*@}*/
// #endif // FLIR_FLYCAPTURE2VIDEODEFS_H
// Parsed from
//=============================================================================
// Copyright (c) 2001-2018 FLIR Systems, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
// #ifndef FLIR_FLYCAPTURE2VIDEO_H
// #define FLIR_FLYCAPTURE2VIDEO_H
// #include "FlyCapture2Platform.h"
// #include "FlyCapture2VideoDefs.h"
/**
* The FlyCapture2Video class provides the functionality for the user to record
* images to an AVI file.
*/
@Namespace("FlyCapture2") @NoOffset public static class FlyCapture2Video extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public FlyCapture2Video(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public FlyCapture2Video(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public FlyCapture2Video position(long position) {
return (FlyCapture2Video)super.position(position);
}
/**
* Default constructor.
*/
public FlyCapture2Video() { super((Pointer)null); allocate(); }
private native void allocate();
/**
* Default destructor.
*/
/**
* Open an AVI file in preparation for writing Images to disk.
* The size of AVI files is limited to 2GB. The filenames are
* automatically generated using the filename specified.
*
* @param pFileName The filename of the AVI file.
* @param pOption Options to apply to the AVI file.
*
* @see SetMaximumFileSize()
* @see Close()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Open(
@Cast("const char*") BytePointer pFileName,
AVIOption pOption);
public native @ByVal Error Open(
String pFileName,
AVIOption pOption);
/**
* Open an MJPEG AVI file in preparation for writing Images to disk.
* The size of AVI files is limited to 2GB. The filenames are
* automatically generated using the filename specified.
*
* @param pFileName The filename of the AVI file.
* @param pOption MJPEG options to apply to the AVI file.
*
* @see SetMaximumFileSize()
* @see Close()
* @see MJPGOption
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Open(
@Cast("const char*") BytePointer pFileName,
MJPGOption pOption);
public native @ByVal Error Open(
String pFileName,
MJPGOption pOption);
/**
* Open an H.264 video file in preparation for writing Images to disk.
* If the file extension is not specified, MP4 will be used as the default
* container. Consult ffmpeg documentation for a list of supported containers.
*
* @param pFileName The filename of the video file.
* @param pOption H.264 options to apply to the video file.
*
* @see Close()
* @see H264Option
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Open(
@Cast("const char*") BytePointer pFileName,
H264Option pOption);
public native @ByVal Error Open(
String pFileName,
H264Option pOption);
/**
* Append an image to the AVI/MP4 file.
*
* @param pImage The image to append.
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Append(Image pImage);
/**
* Close the AVI/MP4 file.
*
* @see Open()
*
* @return An Error indicating the success or failure of the function.
*/
public native @ByVal Error Close();
/**
* Set the maximum file size (in megabytes) of a AVI/MP4 file. A new AVI/MP4 file
* is created automatically when file size limit is reached. Setting
* a maximum size of 0 indicates no limit on file size.
*
* @param size The maximum AVI file size in MB.
*
* @see Append()
*
*/
public native void SetMaximumFileSize(@Cast("unsigned int") int size);
}
// #endif // FLIR_FLYCAPTURE2VIDEO_H
// Parsed from
//=============================================================================
// Copyright ? 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id:
//=============================================================================
// #ifndef MULTISYNCLIBRARYPLATFORM_H
// #define MULTISYNCLIBRARYPLATFORM_H
//=============================================================================
// Platform-specific header file for MultiSunc Library.
//
// All the platform-specific code that is required by individual compilers
// to produce the appropriate code for each platform.
//=============================================================================
// #if defined(_WIN32) || defined(_WIN64)
// Windows 32-bit and 64-bit
// #ifdef MULTISYNCLIBRARY_EXPORT
// #define MULTISYNCLIBRARY_API __declspec( dllexport )
// #elif defined(MULTISYNCLIBRARY_STATIC)
// #define MULTISYNCLIBRARY_API
// #else
// #define MULTISYNCLIBRARY_API __declspec( dllimport )
// #endif
// #if _MSC_VER > 1000
// #pragma once
// #endif
// #elif defined(MAC_OSX)
// Mac OSX
// #else
// Linux and all others
// Using GCC 4 where hiding attributes is possible
// #define MULTISYNCLIBRARY_API __attribute__ ((visibility ("default")))
// #define MULTISYNCLIBRARY_LOCAL __attribute__ ((visibility ("hidden")))
// #endif
// #endif // MULTISYNCLIBRARYPLATFORM_H
// Parsed from
//=============================================================================
// Copyright ? 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id:
//=============================================================================
// #ifndef MULTISYNCLIBRARYDEFS_H
// #define MULTISYNCLIBRARYDEFS_H
// #include
//=============================================================================
// Definitions file for MultiSync Library.
//
// Holds structures, enumerations and other global definitions that are used
// across the entire MultiSync API.
//=============================================================================
/** enum MultiSyncLibrary::PGRSyncError */
public static final int
PGRSyncError_OK = 0,
PGRSyncError_FAILED = 1,
PGRSyncError_ALREADY_STARTED = 2,
PGRSyncError_ALREADY_STOPPED = 3,
PGRSyncError_CAMERA_NOT_FOUND = 4,
PGRSyncError_UNKNOWN_ERROR = 5;
/** enum MultiSyncLibrary::PGRSyncMessage */
public static final int
PGRSyncMessage_OK = 0,
PGRSyncMessage_STARTED = 1,
PGRSyncMessage_STOPPED = 2,
PGRSyncMessage_SYNCING = 3,
PGRSyncMessage_NOMASTER = 4,
PGRSyncMessage_THREAD_ERROR = 5,
PGRSyncMessage_DEVICE_ERROR = 6,
PGRSyncMessage_NOT_ENOUGH_DEVICES = 7,
PGRSyncMessage_BUS_RESET = 8,
PGRSyncMessage_NOT_INITIALIZED = 9,
PGRSyncMessage_UNKNOWN_ERROR = 10;
@Namespace("MultiSyncLibrary") @NoOffset public static class SyncManager extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public SyncManager(Pointer p) { super(p); }
/** Native array allocator. Access with {@link Pointer#position(long)}. */
public SyncManager(long size) { super((Pointer)null); allocateArray(size); }
private native void allocateArray(long size);
@Override public SyncManager position(long position) {
return (SyncManager)super.position(position);
}
public SyncManager() { super((Pointer)null); allocate(); }
private native void allocate();
public native @Cast("MultiSyncLibrary::PGRSyncError") int Start();
public native @Cast("MultiSyncLibrary::PGRSyncError") int Stop();
public native @Cast("MultiSyncLibrary::PGRSyncError") int RescanMasterTimingBus();
public native @Cast("MultiSyncLibrary::PGRSyncMessage") int GetSyncStatus();
public native double GetTimeSinceSynced();
public native @Cast("bool") boolean IsTimingBusConnected();
public native @Cast("bool") boolean EnableCrossPCSynchronization();
public native @Cast("bool") boolean DisableCrossPCSynchronization();
public native @Cast("bool") boolean QueryCrossPCSynchronizationSetting();
}
// #endif //MULTISYNCLIBRARYDEFS_H
// Parsed from
//=============================================================================
// Copyright ? 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id: $
//=============================================================================
// #ifndef MULTISYNCLIBRARY_H
// #define MULTISYNCLIBRARY_H
//=============================================================================
// Global header file for MultiSync Library.
//
// By including this file, all required header files for full MultiSync Library
// operation will be included automatically. It is recommended that this file
// be used instead of manually including individual header files.
//=============================================================================
//=============================================================================
// Platform-specific definitions
//=============================================================================
// #include "MultiSyncLibraryPlatform.h"
//=============================================================================
// Global definitions
//=============================================================================
// #include "MultiSyncLibraryDefs.h"
// #endif // MULTISYNCLIBRARY_H
}