DAVID4 SDK  1.8.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
david Namespace Reference

Basic DAVID namespace. More...

Namespaces

 jsonrpc
 Specifications for DAVID remote procedure calls in JSON RPC 2.0.
 

Classes

struct  LibraryInfo
 Informat about the library. More...
 
class  ClientD4Lib
 Implementation of IModules and client using DAVID Low Level Library (d4lib). More...
 
struct  ServerInfo
 Information about the server. More...
 
class  ClientJsonRpc
 Implementation of IModules and client using Json RPC 2.0. More...
 
class  Optional
 The class template david::Optional manages an optional contained value, i.e. More...
 
class  Exception
 Base exception class. All other DAVID exceptions are derived from this class. More...
 
class  ConnectionException
 Exception thrown in case of connection errors. More...
 
class  ProtocolException
 Special connection exception that indicates a problem with the communication protocol. More...
 
class  FunctionException
 The remote procedure call was excecuted, but caused an error. More...
 
class  ErrorExceptionConverter
 Easy conversion from error codes to exceptions. More...
 
class  IMainWindow
 Interface class for control of main window (in DAVID Server application). More...
 
class  IMeasure
 Interface for 'Measurement' functions. More...
 
class  IModules
 Gives access to module interfaces. More...
 
struct  MotionInfo
 Provides user knowledge about the motion between two scans. More...
 
struct  SubmeshVertexIndex
 Index to define a vertex in a submesh. More...
 
struct  ContactRegionPair
 A pair of contact regions, defined as lists of SubmeshVertexIndex. More...
 
struct  PosesWithTolerances
 A list of poses (given as 4*4 matrices) plus tolerance values for translation and rotation. More...
 
struct  CoarseAlignParams
 Parameter set for Coarse Alignment, see IShapeFusion::AlignPairCoarse. More...
 
struct  FineAlignParams
 Parameter set for Fine Alignment, see IShapeFusion::AlignPairFine. More...
 
struct  GlobalFineAlignParams
 Parameter set for Global Fine Alignment, see IShapeFusion::AlignGlobalFine. More...
 
class  IShapeFusion
 Interface class for 'Shape Fusion'. More...
 
struct  ImageFormat
 Describes the image format. More...
 
struct  CodedLightPhaseShiftParams
 Defines parameters used in structured light mode 'coded light + phase shift' ('cl+ps'). More...
 
struct  ResultFilteringParams
 Defines parameters used for result filtering. More...
 
struct  CalibPoint
 Point correspondence used for calibration. More...
 
struct  Plane
 Defines a plane in 3D. More...
 
class  IStructuredLightScanner
 Interface class for 'Structured Light Scanning'. More...
 
class  ITurntable
 Interface class for turntable control. More...
 
class  MainWindowJsonRpc
 Implementation of interface 'IMainWindow'. More...
 
class  MeasureJsonRpc
 Implements interface functions of IMeasure. More...
 
class  ShapeFusionD4Lib
 Implements interface functions of IShapeFusion using DAVID Low Level Library. More...
 
class  ShapeFusionJsonRpc
 Implements interface functions of IShapeFusion. More...
 
class  StructuredLightScannerD4Lib
 Implements interface functions of IStructuredLightScanner using DAVID Low Level Library. More...
 
class  StructuredLightScannerJsonRpc
 Implements interface functions of IStructuredLightScanner. More...
 
class  TcpClient
 Implementation of a TCP client. More...
 
class  TurntableJsonRpc
 Implements interface functions of 'ITurntable'. More...
 

Typedefs

typedef ClientJsonRpc Client
 The Client class manages all modules and gives access to them via david::IModules interface implementation. More...
 

Enumerations

enum  PixelFormat {
  UnknownPixelFormat = 0, Y800, RGB24, YUY2,
  BY8
}
 Describes different pixel formats. More...
 
enum  ErrorCode {
  OK = 0, Error_InvalidArgument = -100, Error_FormatNotAvailable = -101, Error_InvalidFormat = -102,
  Error_NoAccess = -103, Error_MissingObject = -104, Error_OutOfMemory = -105, Error_Abort = -106,
  Error_Fail = -107, Error_NotLicensed = -108, Error_NotImplemented = -109, Error_InvalidPath = -200,
  Error_FileNotFound = -201, Error_DirectoryNotFound = -202, Error_MissingFilename = -203, Error_InconsistentBuffer = -204,
  Error_InvalidVersion = -205, Error_DeviceNotAvailable = -300, Error_NoLiveImage = -301, Error_ActuatorStalled = -302,
  Error_CameraCalibration = -400, Error_ProjectorCalibration = -401, Error_ScanFailed = -500, Error_NotCalibrated = -501,
  Error_AlignFailed = -600, Error_InvalidMeshId = -601, ConnectionErrors = -30000, Error_ConnectionFailed = -30001,
  Error_ConnectionLost = -30002, ConnectionBinaryErrors = -31000, Error_BinarySetup = -31001, Error_BinaryRead = -31002,
  Error_BinaryWrite = -31003, ConnectionProtocolErrors = -32000, Error_RpcClientVersion = -32001, Error_RpcInvalidRequest = -32600,
  Error_RpcMethodNotFound = -32601, Error_RpcInvalidParams = -32602, Error_RpcInternal = -32603, Error_RpcParse = -32700,
  Error_DavidInternal = -40000
}
 Defines error codes. More...
 
enum  TransformType {
  TransformGlobalX = 0, TransformGlobalY, TransformGlobalZ, TransformMeshX,
  TransformMeshY, TransformMeshZ
}
 Defines transform types used by ShapeFusion::Translate and ShapeFusion::Rotate. More...
 
enum  CoordinateSystem { WorldCoordinates = 0, LocalCoordinates }
 Selection of coordinate system. More...
 
enum  SubmeshBufferType {
  SubmeshVertexPositionBuffer, SubmeshVertexNormalBuffer, SubmeshVertexTexCoordBuffer, SubmeshVertexColorBuffer,
  SubmeshTriangleIndexBuffer, SubmeshVertexQualityBuffer
}
 Buffer selection. More...
 
enum  CamPropsUsage { CamPropsForAll, CamPropsForScanning, CamPropsForTexturing }
 Defines different types of usage for camera properties. More...
 
enum  Orientation { HorizontalOrientation, VerticalOrientation, BothOrientations }
 Defines orientations for hardware setup. More...
 
enum  PatternColor { White, Red, Green, Blue }
 Defines pattern colors for SL.
 
enum  PatternPixelFormat { PPF_Y800 = Y800, PPF_RGB24 = RGB24 }
 Describes available pixel formats for pattern images. More...
 
enum  CapturedPixelFormat { CPF_Y800 = Y800 }
 Describes available pixel formats for captured images that are processed by SLS module. More...
 

Functions

int GetBitsPerPixel (enum PixelFormat pixelFormat)
 Get bits per pixel for given pixel format. More...
 
size_t GetImageSize (int width, int height, enum PixelFormat pixelFormat)
 Get image size in bytes. More...
 
std::string GetDefaultErrorText (ErrorCode errorCode)
 Returns a default (standard) textual description for a given error code. More...
 
void ThrowException (ErrorCode errorCode, const std::string &errorText, const std::string &errorSource)
 Throws an exception. More...
 
Classes and functions related to MotionInfo.
MotionInfo GetMotionInfo_Free ()
 Nothing is known. More...
 
MotionInfo GetMotionInfo_OnTable (const double axisDir[3])
 Object was moved (translated and rotated) on a planar table without lifting it. More...
 
MotionInfo GetMotionInfo_AngleOnly (double angleDeg, double angleToleranceDeg=2.0)
 Only rotation angle is known. More...
 
MotionInfo GetMotionInfo_TurntablePartlyCalibrated (double angleDeg, const double axisDir[3], double angleToleranceDeg=2.0)
 Object was rotated with the help of a turntable. More...
 

Variables

const double DAVID_SDK_ClientVersion = 1.0
 Defines the version of the client. More...
 
const uint16_t DAVID_SDK_DefaultPort = 10500
 Defines DAVID default port.
 

Detailed Description

Basic DAVID namespace.

Enumeration Type Documentation

Defines error codes.

Enumerator
OK 

All ok.

Error_InvalidArgument 

One or more arguments of function call are not valid.

Error_FormatNotAvailable 

Format is not available.

Error_InvalidFormat 

Invalid format.

Error_NoAccess 

General access denied error.

Error_MissingObject 

Important object is missing.

Error_OutOfMemory 

Failed to allocate necessary memory.

Error_Abort 

Operation aborted.

Error_Fail 

Unspecified failure.

Error_NotLicensed 

Software license does not support this request.

Error_NotImplemented 

The requested function is not implemented.

Error_InvalidPath 

Invalid path syntax.

Error_FileNotFound 

Could not find the specified file.

Error_DirectoryNotFound 

Could not find the specified directory.

Error_MissingFilename 

The specified path does not contain a file name.

Error_InconsistentBuffer 

Buffer size differs from expected buffer size.

Error_InvalidVersion 

Invalid or unsupported version.

Error_DeviceNotAvailable 

Device is not available / not found.

Error_NoLiveImage 

Can not get live image from camera.

Error_ActuatorStalled 

Actuator stalled. Required torque might be too high.

Error_CameraCalibration 

Camera calibration failed.

Error_ProjectorCalibration 

Projector calibration failed.

Error_ScanFailed 

Scan failed.

Error_NotCalibrated 

Scanner is not calibrated.

Error_AlignFailed 

Alignment failed.

Error_InvalidMeshId 

One or more mesh IDs are invalid.

ConnectionErrors 

Errors related to the RPC connection between client and server. All errors below this value are connection errors.

Error_ConnectionFailed 

Connection to server failed.

Error_ConnectionLost 

Lost connection between client and server.

ConnectionBinaryErrors 

Special connection errors related to binary transfer of data via binary channel.

Error_BinarySetup 

Setup of binary channel failed.

Error_BinaryRead 

Reading binary data from server failed.

Error_BinaryWrite 

Writing binary data to server failed.

ConnectionProtocolErrors 

Special connection errors related to remote procedure calls. Range [-32099, -32000] reserved for implementation-defined server protocol errors.

Error_RpcClientVersion 

Invalid client version that is not supported by the server.

Error_RpcInvalidRequest 

The JSON sent is not a valid Request object.

Error_RpcMethodNotFound 

The method does not exist / is not available.

Error_RpcInvalidParams 

Invalid method parameter(s).

Error_RpcInternal 

Internal JSON-RPC error.

Error_RpcParse 

Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.

Error_DavidInternal 

Internal DAVID error.

Definition at line 25 of file ErrorCodes.h.

Describes different pixel formats.

Enumerator
UnknownPixelFormat 

Unknown pixel format.

Y800 

Standard 8bit grayscale format.

RGB24 

Red, green, and blue 8bit color components for each pixel. Byte 0=8bit blue; Byte 1=8bit green; Byte 2=8bit red.

YUY2 

16bit color format. Byte 0=8-bit Y'0; Byte 1=8-bit Cb; Byte 2=8-bit Y'1; Byte 3=8-bit Cr.

BY8 

8bit bayer color format.

Definition at line 48 of file Common.h.

Function Documentation

int david::GetBitsPerPixel ( enum PixelFormat  pixelFormat)

Get bits per pixel for given pixel format.

Parameters
[in]pixelFormatPixel format, see PixelFormat.
Returns
Bits per pixel or zero.
std::string david::GetDefaultErrorText ( ErrorCode  errorCode)

Returns a default (standard) textual description for a given error code.

Parameters
[in]errorCodeError code (see david::ErrorCode).
Returns
Textual description of error code.
size_t david::GetImageSize ( int  width,
int  height,
enum PixelFormat  pixelFormat 
)

Get image size in bytes.

Parameters
[in]widthWidth of the image in [px]
[in]heightHeight of the image in [px]
[in]pixelFormatSee PixelFormat.
Returns
Image size in bytes or zero.
void david::ThrowException ( ErrorCode  errorCode,
const std::string &  errorText,
const std::string &  errorSource 
)

Throws an exception.

Parameters
[in]errorCodeError code.
[in]errorTextTextual description of the error.
[in]errorSourceSource of the error.

Variable Documentation

const double david::DAVID_SDK_ClientVersion = 1.0

Defines the version of the client.

The server checks this client version against its minimum required client version.

Definition at line 37 of file Common.h.