Esempio n. 1
0
Camera::Camera(dwSensorHandle_t &sensor, dwSensorParams salParams, dwSALHandle_t sal, dwContextHandle_t sdk, ProgramArguments arguments,  bool record)
{
	// Init dwHandles
	this->sensor     = DW_NULL_HANDLE;
	streamer   = DW_NULL_HANDLE;
	serializer = DW_NULL_HANDLE;
	

	// Are we recording the camera?
	this->record = false || record;
	
	//Initialize sensors
	dwStatus result = dwSAL_createSensor(&sensor, salParams, sal);

	// Initialize camera and image properties
	if (result == DW_SUCCESS) {

		this->sensor = sensor;

		dwImageProperties cameraImageProperties;
		dwSensorCamera_getImageProperties(&cameraImageProperties,
				DW_CAMERA_PROCESSED_IMAGE,
				this->sensor);

		dwCameraProperties cameraProperties;
		dwSensorCamera_getSensorProperties(&cameraProperties, this->sensor);

		width = cameraImageProperties.width;
		height = cameraImageProperties.height;
		imageType = cameraImageProperties.type;
		numSiblings = cameraProperties.siblings;
		std::cout << "Camera siblings: " << numSiblings <<  std::endl;
	}
	else {
		std::cerr << "Cannot create driver: " << salParams.protocol
		    << " with params: " << salParams.parameters << std::endl
		    << "Error: " << dwGetStatusName(result) << std::endl;
		if (result == DW_INVALID_ARGUMENT) {
		    std::cerr << "It is possible the given camera is not supported. " << std::endl;
		}
	}
	
	initImagePool(sdk);
	initFormatter(sdk);
	if (record)  initSerializer(arguments);
}
Esempio n. 2
0
int SuccessManager::restoreState(const uint8_t* in, int size) {
    Serializer s;
    initSerializer(s);
    return s.deserializeObject(in, size, this);
}
Esempio n. 3
0
int SuccessManager::saveState(uint8_t** out) {
    Serializer s;
    initSerializer(s);
    return s.serializeObject(out, this);
}