add flycapture

This commit is contained in:
Tang1705
2020-01-27 18:56:50 +08:00
parent 1b7d21abf5
commit 0c4ac1d8bb
1716 changed files with 451009 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,158 @@
//=============================================================================
// 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: FlyCapture2GUI_C.h,v 1.4 2010-04-13 21:31:12 hirokim Exp $
//=============================================================================
#ifndef PGR_FC2_FLYCAPTURE2GUI_C_H
#define PGR_FC2_FLYCAPTURE2GUI_C_H
//=============================================================================
// Global C header file for FlyCapture2.
//
// This file defines the C API for FlyCapture2 GUI
//=============================================================================
#include "FlyCapture2Defs_C.h"
#include "FlyCapture2Platform_C.h"
#ifdef __cplusplus
extern "C"
{
#endif
/**
* Create a GUI context.
*
* Any GigE cameras that were connected prior to this call will lose CCP
* after the call. Consider creating a GUI context prior to connecting
* any GigE cameras or calling connect on any outstanding GigE camera
* context.
*
* @param pContext Pointer to context to be created.
*
* @return An Error indicating the success or failure of the function.
*/
FLYCAPTURE2_C_API fc2Error
fc2CreateGUIContext(
fc2GuiContext* pContext );
/**
* Destroy a GUI context.
*
* @param context Context to be destroyed.
*
* @return An Error indicating the success or failure of the function.
*/
FLYCAPTURE2_C_API fc2Error
fc2DestroyGUIContext(
fc2GuiContext context );
/**
* Connect GUI context to a camera context.
*
* @param context GUI context to connect.
* @param cameraContext Camera context to connect.
*
* @return An Error indicating the success or failure of the function.
*/
FLYCAPTURE2_C_API void
fc2GUIConnect(
fc2GuiContext context,
fc2Context cameraContext );
/**
* Disconnect GUI context from camera.
*
* @param context GUI context to disconnect.
*
* @return An Error indicating the success or failure of the function.
*/
FLYCAPTURE2_C_API void
fc2GUIDisconnect(
fc2GuiContext context);
/**
* Disconnect GUI context from camera.
*
* @param context GUI context to disconnect.
*
* @return An Error indicating the success or failure of the function.
*
* @deprecated This method is deprecated and will be removed in a future FlyCapture2 release. Please use fc2GUIDisconnect instead.
*/
#ifdef _WIN32
#pragma deprecated(fc2Disonnect)
FLYCAPTURE2_C_API void fc2Disonnect(fc2GuiContext context);
#else
FLYCAPTURE2_C_API void fc2Disonnect(fc2GuiContext context) __attribute__ ((deprecated));
#endif
/**
* Show the GUI.
*
* @param context Pointer to context to show.
*
* @return An Error indicating the success or failure of the function.
*/
FLYCAPTURE2_C_API void
fc2Show(
fc2GuiContext context);
/**
* Hide the GUI.
*
* @param context Pointer to context to hide.
*
* @return An Error indicating the success or failure of the function.
*/
FLYCAPTURE2_C_API void
fc2Hide(
fc2GuiContext context);
/**
* Check if the GUI is visible.
*
* @param context Pointer to context to show.
*
* @return Whether the GUI is visible.
*/
FLYCAPTURE2_C_API BOOL
fc2IsVisible(
fc2GuiContext context);
/**
* Show the camera selection dialog.
*
* @param context Pointer to context to show.
* @param pOkSelected Whether Ok (true) or Cancel (false) was clicked.
* @param guidArray Array of PGRGuids containing the selected cameras.
* @param size Size of PGRGuid array.
*/
FLYCAPTURE2_C_API void
fc2ShowModal(
fc2GuiContext context,
BOOL* pOkSelected,
fc2PGRGuid* guidArray,
unsigned int* size );
#ifdef __cplusplus
};
#endif
#endif // PGR_FC2_FLYCAPTURE2GUI_C_H

View File

@@ -0,0 +1,78 @@
//=============================================================================
// 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_C.h,v 1.5 2010-08-13 18:49:59 soowei Exp $
//=============================================================================
#ifndef PGR_FC2_FLYCAPTURE2PLATFORM_C_H
#define PGR_FC2_FLYCAPTURE2PLATFORM_C_H
//=============================================================================
// Platform-specific header file for FlyCapture2 C.
//
// 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_C_EXPORTS
#define FLYCAPTURE2_C_API __declspec( dllexport )
#elif defined(FLYCAPTURE2_C_STATIC)
#define FLYCAPTURE2_C_API
#else
#define FLYCAPTURE2_C_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 <stdint.h>
#else
typedef __int8 int8_t;
typedef __int16 int16_t;
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;
#endif
#elif __GNUC__ >=3
#include <cstdint>
#endif
#elif defined(MAC_OSX)
// Mac OSX
#else
#define FLYCAPTURE2_C_API
#define FLYCAPTURE2_C_CALL_CONVEN
// Linux and all others
#endif
#endif // PGR_FC2_FLYCAPTURE2PLATFORM_C_H

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,99 @@
//=============================================================================
// 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_C_H
#define MULTISYNCLIBRARYDEFS_C_H
#include <stdlib.h>
//=============================================================================
// C definitions header file for MultiSync.
//
// This file defines the C enumerations, typedefs and structures for MultiSync
//
//=============================================================================
#ifdef __cplusplus
extern "C"
{
#endif
//=============================================================================
// Typedefs
//=============================================================================
typedef int BOOL;
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FULL_32BIT_VALUE
#define FULL_32BIT_VALUE 0x7FFFFFFF
#endif
#define MAX_STRING_LENGTH 512
/**
* A context to the MultiSync C library. It must be created before
* performing any calls to the library.
*/
typedef void* syncContext;
//=============================================================================
// Enumerations
//=============================================================================
typedef enum _syncError
{
SYNC_ERROR_OK = 0,
SYNC_ERROR_FAILED,
SYNC_ERROR_ALREADY_STARTED,
SYNC_ERROR_ALREADY_STOPPED,
SYNC_ERROR_CONTEXT_NOT_INITIALIZED,
SYNC_ERROR_UNKNOWN_ERROR,
} syncError;
typedef enum _syncMessage
{
SYNC_MESSAGE_OK = 0,
SYNC_MESSAGE_FAILED,
SYNC_MESSAGE_STARTED,
SYNC_MESSAGE_STOPPED,
SYNC_MESSAGE_SYNCING,
SYNC_MESSAGE_NOMASTER,
SYNC_MESSAGE_THREAD_ERROR,
SYNC_MESSAGE_DEVICE_ERROR,
SYNC_MESSAGE_NOT_ENOUGH_DEVICES,
SYNC_MESSAGE_BUS_RESET,
SYNC_MESSAGE_NOT_INITIALIZED,
SYNC_MESSAGE_UNKNOWN_ERROR,
} syncMessage;
#ifdef __cplusplus
};
#endif
#endif

View File

@@ -0,0 +1,57 @@
//=============================================================================
// 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_C_H
#define MULTISYNCLIBRARYPLATFORM_C_H
//=============================================================================
// Platform-specific header file for MultiSync C.
//
// 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_C_EXPORTS
#define MULTISYNCLIBRARY_C_API __declspec( dllexport )
#else
#define MULTISYNCLIBRARY_C_API __declspec( dllimport )
#endif
#if _MSC_VER > 1000
#pragma once
#endif
#elif defined(MAC_OSX)
// Mac OSX
#else
#define MULTISYNCLIBRARY_C_API
#define MULTISYNCLIBRARY_C_CALL_CONVEN
// Linux and all others
#endif
#endif

View File

@@ -0,0 +1,166 @@
//=============================================================================
// 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_C_H
#define MULTISYNCLIBRARY_C_H
//=============================================================================
// Global C header file for MultiSync
//
// This file defines the C API for MultiSync Library
//=============================================================================
#include "MultiSyncLibraryPlatform_C.h"
#include "MultiSyncLibraryDefs_C.h"
#ifdef __cplusplus
extern "C"
{
#endif
/**
* Create a Sync context for MultiSync Library.
* This call must be made before any other calls that use a context
* will succeed.
*
* @param pContext A pointer to the syncContext to be created.
*
* @return A syncError indicating the success or failure of the function.
*/
MULTISYNCLIBRARY_C_API syncError
syncCreateContext(
syncContext* pContext );
/**
* Destory the sync context. This must be called when the user is finished
* with the context in order to prevent memory leaks.
*
* @param context The syncContext to be destoryed.
*
* @return A syncError indicating the success or failure of the function.
*/
MULTISYNCLIBRARY_C_API syncError
syncDestroyContext(
syncContext context );
/**
* Start the sync progress
*
* @param context The syncContext to be used.
*
* @return A syncError indicating the success or failure of the function.
*/
MULTISYNCLIBRARY_C_API syncError
syncStart(
syncContext context );
/**
* Stop the sync progress
*
* @param context The syncContext to be used.
*
* @return A syncError indicating the success or failure of the function.
*/
MULTISYNCLIBRARY_C_API syncError
syncStop(
syncContext context );
/**
* Scan newly connected or removed timing bus (for corss-PC syncing only)
*
* @param context The syncContext to be used.
*
* @return A syncError indicating the success or failure of the function.
*/
MULTISYNCLIBRARY_C_API syncError
syncRescanMasterTimingBus(
syncContext context );
/**
* Start the sync progress
*
* @param context The syncContext to be used.
*
* @return A syncMessage indicating the sync status.
*/
MULTISYNCLIBRARY_C_API syncMessage
syncGetStatus(
syncContext context );
/**
* Time since sync started
*
* @param context The syncContext to be used.
*
* @return Time sinced synced.
*/
MULTISYNCLIBRARY_C_API double
syncGetTimeSinceSynced(
syncContext context );
/**
* Whether syncing across PCs
*
* @param context The syncContext to be used.
*
* @return True if its syncing across PC
*/
MULTISYNCLIBRARY_C_API BOOL
syncIsTimingBusConnected(
syncContext context );
/**
* Enable across pc synchronization support
*
* @param context The syncContext to be used.
*
* @return True if operation was successful
*/
MULTISYNCLIBRARY_C_API BOOL
syncEnableCrossPCSynchronization(
syncContext context );
/**
* Disable across pc synchronization support
*
* @param context The syncContext to be used.
*
* @return True if operation was successful
*/
MULTISYNCLIBRARY_C_API BOOL
syncDisableCrossPCSynchronization(
syncContext context );
/**
* Query cross pc synchronizaion support status
*
* @param context The syncContext to be used.
*
* @return True if cross pc synchronization was supported
*/
MULTISYNCLIBRARY_C_API BOOL
syncQueryCrossPCSynchronizationSetting(
syncContext context );
#ifdef __cplusplus
};
#endif
#endif