Back to Adaptive Vision Library website

You are here: Start » Function Reference » Camera Support » SmartRay » SmartRay_GrabPointCloud_WithTimeout

SmartRay_GrabPointCloud_WithTimeout


Header: ThirdPartySdk.h
Namespace: avl
Module: ThirdParty

Captures a point cloud with timeout using SmartRay.

Syntax

bool avl::SmartRay_GrabPointCloud_WithTimeout
(
	SmartRay_State& ioState,
	const atl::String& inAddress,
	int inPort,
	int inConnectionTimeout,
	int inInputQueueSize,
	const atl::Optional<int> inTimeout,
	float inTransportResolution,
	int inNumberOfProfiles,
	atl::Optional<const atl::File&> inCalibrationFile,
	const avl::SmartRayDataTrigger& inDataTrigger,
	atl::Optional<bool> inSmartXccelerate,
	atl::Optional<const avl::SmartRayRegionOfInterest&> inRegionOfInterest,
	atl::Optional<const avl::SmartRayExposure&> inExposure,
	atl::Optional<const avl::SmartRayLaser&> inLaser,
	atl::Optional<const avl::SmartRayStartTrigger&> inStartTrigger,
	atl::Optional<const avl::SmartRayReflectionFilter&> inReflectionFilter,
	atl::Optional<const atl::Array<int>&> inLaserLineThreshold,
	atl::Optional<int> inMinLaserLineThicknessLimit,
	atl::Optional<int> inMaxLaserLineThicknessLimit,
	atl::Optional<bool> inSmartXpress,
	atl::Optional<bool> inSmartXtract,
	atl::Optional<avl::SmartRaySmartXtractAlgorithm::Type> inSmartXtractAlgorithm,
	atl::Optional<avl::SmartRaySmartXactMode::Type> inSmartXactMode,
	atl::Conditional<avl::Point3DGrid>& outPointCloud,
	atl::Conditional<avl::Image>& outIntensity,
	atl::Conditional<avl::Image>& outLaserLineThickness
)

Parameters

Name Type Range Default Description
Input will be modified
ioState SmartRay_State& Object used to maintain state of the function.
Input value
inAddress const String& \"192.168.178.200\" Device identifying address
Input value
inPort int 40 Device identifying network port
Input value
inConnectionTimeout int 1 - 1000 60 Timeout in seconds
Input value
inInputQueueSize int 1 - 200 4 Capacity of output frames queue
Input value
inTimeout const Optional<int> 100 Frame timeout in milliseconds
Input value
inTransportResolution float 0.0 - 1.0f Defines x-axis step for every profile
Input value
inNumberOfProfiles int 10 Number of profiles to capture
Input value
inCalibrationFile Optional<const File&> NIL Do not set file to load data from device internal memory
Input value
inDataTrigger const SmartRayDataTrigger&
Input value
inSmartXccelerate Optional<bool> NIL
Input value
inRegionOfInterest Optional<const SmartRayRegionOfInterest&> NIL
Input value
inExposure Optional<const SmartRayExposure&> NIL
Input value
inLaser Optional<const SmartRayLaser&> NIL
Input value
inStartTrigger Optional<const SmartRayStartTrigger&> NIL
Input value
inReflectionFilter Optional<const SmartRayReflectionFilter&> NIL
Input value
inLaserLineThreshold Optional<const Array<int>&> NIL
Input value
inMinLaserLineThicknessLimit Optional<int> NIL
Input value
inMaxLaserLineThicknessLimit Optional<int> NIL
Input value
inSmartXpress Optional<bool> NIL
Input value
inSmartXtract Optional<bool> NIL
Input value
inSmartXtractAlgorithm Optional<SmartRaySmartXtractAlgorithm::Type> NIL
Input value
inSmartXactMode Optional<SmartRaySmartXactMode::Type> NIL
Output value
outPointCloud Conditional<Point3DGrid>&
Output value
outIntensity Conditional<Image>&
Output value
outLaserLineThickness Conditional<Image>&

Remarks

Device identification

inAddress can be used to pick one of multiple devices connected to the computer. inAddress can be set to:

  • IP Address - SmartRay Device identifying IP address (e.g. "127.0.0.1")

Camera driver software

This filter is intended to cooperate with a camera using its vendor SDK. To be able to connect to a camera, it is required to install SmartRay SDK software with camera dedicated drivers.

Add DLL path to system environment variable may be required.

Recommended SmartRay SDK version for Adaptive Vision Studio usage is 5.5.0.91.

Disable firewall software and set 192.168.178.100 static IP in your network interface may be needed.

SmartRay SDK may need Microsoft Visual C++ 2010 Redistributable Package for 64-bit architecture.

ECCO 35 and ECCO 55 series

Using SmartRay_LoadParameterSet before start acquisition or grab filter for this devices may be mandatory.

Camera parameters

Setting inInputQueueSize parameter to 'Auto' will select four value as input queue size.

All the other parameters exposed by camera filters are optional, setting them to 'Auto' leaves related parameter unchanged in camera (device default or user set configuration).

To change other, more advanced camera parameters, use specific filters.

Multithreaded environment

This function is not guaranteed to be thread-safe. When used in multithreaded environment, it has to be manually synchronized.

See Also