mirror of
https://github.com/storytold/LiveScan3D.git
synced 2026-10-10 19:52:00 +00:00
Added new UI for the Temporal Sync Feature, made the software more robust including:
-Settings window can only be opened once
-When the client can't open a device, it tries multiple times
-Recording bins are now saved with a unique ID per device, to allow multiple clients to record on the same PC
-Synchronized & Unsynchronized devices can be both used in one server
-Included a workaround for a bug in the Azure Kinect SDK regarding exposure (microsoft/Azure-Kinect-Sensor-SDK#1378)
This commit is contained in:
@@ -3,7 +3,9 @@
|
||||
#include "stdafx.h"
|
||||
#include "ICapture.h"
|
||||
#include <k4a/k4a.h>
|
||||
#include "utils.h"
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
//#include "utils.h"
|
||||
|
||||
class AzureKinectCapture : public ICapture
|
||||
{
|
||||
@@ -11,15 +13,17 @@ public:
|
||||
AzureKinectCapture();
|
||||
~AzureKinectCapture();
|
||||
|
||||
bool Initialize(bool asMaster, bool asSubOrdinate, int syncOffset);
|
||||
bool Close();
|
||||
bool Initialize(SYNC_STATE state, int syncOffset);
|
||||
bool AcquireFrame();
|
||||
bool Close();
|
||||
void MapDepthFrameToCameraSpace(Point3f *pCameraSpacePoints);
|
||||
void MapColorFrameToCameraSpace(Point3f *pCameraSpacePoints);
|
||||
void MapDepthFrameToColorSpace(UINT16 *pDepthInColorSpace);
|
||||
void MapColorFrameToDepthSpace(RGB *pColorInDepthSpace);
|
||||
int GetSyncJackState();
|
||||
uint64_t GetTimeStamp();
|
||||
int GetDeviceIndex();
|
||||
void SetExposureState(bool enableAutoExposure, int exposureStep);
|
||||
|
||||
|
||||
private:
|
||||
@@ -34,6 +38,12 @@ private:
|
||||
k4a_transformation_t transformation = NULL;
|
||||
bool syncInConnected = false;
|
||||
bool syncOutConnected = false;
|
||||
uint64_t currentTimeStamp;
|
||||
uint64_t currentTimeStamp = 0;
|
||||
SYNC_STATE syncState = Standalone;
|
||||
int deviceIDForRestart = -1;
|
||||
int restartAttempts = 0;
|
||||
bool autoExposureEnabled = true;
|
||||
int exposureTimeStep = 0;
|
||||
void UpdateDepthPointCloud();
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user