476 /// <tr> <td>backgroundRemovalEpsilon</td> <td>Background removal epsilon in [mm] [optional; default: keep current setting].</td> </tr>
477 /// <tr> <td>outlierRemoval</td> <td>Outlier filter [0,1]. E.g. 0.1=remove all fragments that are smaller than 10% of the largest fragment. [optional; default: keep current setting].</td> </tr>
593 /// <tr> <td>[grabTexture]</td> <td>Grab a texture with the scan? [optional, default false]</td> </tr>
594 /// <tr> <td>[setAsBackground]</td> <td>Define the new scan as background, for Background Removal (see SetResultFiltering) [optional, default false]</td> </tr>
595 /// </table>
596 ///
597 /// <b>Return Values</b>
598 /// <table borders="0">
599 /// <tr> <td>Number of triangulated 3D points.</td> </tr>
600 /// </table>
601 ///
602 /// <b>Error Codes</b>
603 /// <table borders="0">
604 /// <tr> <td>david::Error_NotCalibrated</td> <td>Cannot scan because scanner is not calibrated.</td> </tr>
605 /// <tr> <td>david::Error_NoLiveImage</td> <td>Camera/Grabber is not running.</td> </tr>
948 /// <tr> <td>meshID</td> <td></td> <td>ID of the mesh that owns the requested buffer.</td> </tr>
949 /// <tr> <td>bufferType</td> <td></td> <td>Type of the buffer to be transmitted over binary channel:</td> </tr>
950 /// <tr> <td></td> <td>VertexPositions</td> <td>Positions of all vertices as float triples (x,y,z).</td> </tr>
951 /// <tr> <td></td> <td>VertexNormals</td> <td>Normals of all vertices as float triples (nx,ny,nz).</td> </tr>
952 /// <tr> <td></td> <td>VertexTexCoords</td> <td>Texture coordinates of all vertices as float pairs (u,v).</td> </tr>
953 /// <tr> <td></td> <td>Triangles</td> <td>Triangle indices (indexed face set) as int32_t triples (id1,id2,id3).</td> </tr>
954 /// <tr> <td>[coordinateSystem]</td> <td></td> <td>Coordinates should be relative to which coordinate system. World is assumed by default.</td></tr>
955 /// <tr> <td></td> <td>WorldCoordinates</td> <td>Coordinates are given with respect to world (global coordinates).</td></tr>
956 /// <tr> <td></td> <td>LocalCoordinates</td> <td>Coordinates are given with respect to local object coordinate system.</td></tr>
957 /// </table>
958 ///
959 /// <b>Return Values</b>
960 /// <table borders="0">
961 /// <tr> <td>vertexCount</td> <td>Number of vertices for requested mesh.</td> </tr>
962 /// <tr> <td>triangleCount</td> <td>Number of triangles for requested mesh.</td> </tr>
963 /// <tr> <td>size</td> <td>Size of the buffer in bytes to be transmitted over binary channel.</td> </tr>
964 /// </table>
965 ///
966 /// <b>Error Codes</b>
967 /// <table borders="0">
968 /// <tr> <td>david::Error_InvalidMeshId</td> <td>Specified meshID does not exist.</td> </tr>
974 /// Gets the texture image of a mesh as binary data. Each pixel is represented by 3 bytes in BGR order. The pixels are ordered row by row, from top to bottom, each row from left to right. The data size is (3*width*height) bytes.
1005 /// Gets the current transformation (position+rotation) of a mesh. Initially, an imported mesh has no transformation. The transformation depends on previous calls of the Align... functions, or the Rotate or Translate functions.
1006 /// The position is returned in vector (px, py, pz). The rotation is returned in three different representations which are equivalent: A rotation matrix (n,o,a), roll-pitch-yaw angles, and a quaternion.
1007 /// Note: If SDK Server is not licensed, this function will return the error code david::Error_NotLicensed.
1045 /// Sets the current transformation (position+rotation) of a mesh. Initially, an imported mesh has no transformation. The transformation depends on previous calls of the Align... functions, or the Rotate or Translate functions.
1046 /// The position is returned in vector (px, py, pz). The rotation is returned in three different representations which are equivalent: A rotation matrix (n,o,a), roll-pitch-yaw angles, and a quaternion.
1047 /// Note: If SDK Server is not licensed, this function will return the error code david::Error_NotLicensed.
1239 /// <tr> <td>meshID1</td> <td></td> <td>ID of the mesh that is to be aligned.</td> </tr>
1240 /// <tr> <td>meshID2</td> <td></td> <td>ID of the other mesh.</td> </tr>
1241 /// <tr> <td>[texturePercentage]</td> <td></td> <td>Percentage of texture influence on alignment (0-99). Only used if value is higher than 0 [optional, default 0].</td> </tr>
1242 /// <tr> <td>[motionInfo]</td> <td></td> <td>MotionInfo: Additional information about motion between two meshes [optional].</td> </tr>
1244 /// <tr> <td></td> <td>axisDirKnown</td> <td>Is direction vector 'axisDir' of motion axis is known?</td> </tr>
1245 /// <tr> <td></td> <td>angle</td> <td>Angle of rotation in degrees.</td> </tr>
1246 /// <tr> <td></td> <td>angleTolerance</td> <td>Tolerance of angle in degrees.</td> </tr>
1247 /// <tr> <td></td> <td>axisDir</td> <td>3D direction vector (x,y,z) of motion axis w.r.t. world coordinates.</td> </tr>
1248 /// <tr> <td>[qualityFactor]</td> <td></td> <td>Quality parameter for alignment. 1 is recommended. Larger values like 5 or 10 may create better results for symmetric objects, but increase computation time. Lower values like 0.01 to 0.1 decrease computation time, but may result in wrong alignment results [optional, default 1].</td> </tr>
1249 /// </table>
1250 ///
1251 /// <b>Return Values</b>
1252 /// <table borders="0">
1253 /// <tr> <td>Quality of alignment result as percentage of contact, in range [0,100]=[bad,good].</td> </tr>
1254 /// </table>
1255 ///
1256 /// <b>Error Codes</b>
1257 /// <table borders="0">
1258 /// <tr> <td>david::Error_InvalidMeshId</td> <td>Specified meshID does not exist.</td> </tr>
1275 /// <tr> <td>meshID1</td> <td></td> <td></td> <td>ID of the mesh that is to be aligned.</td> </tr>
1276 /// <tr> <td>meshID2</td> <td></td> <td></td> <td>ID of the other mesh.</td> </tr>
1277 /// <tr> <td>[texturePercentage]</td> <td></td> <td></td> <td>Percentage of texture influence on alignment (0-99). Only used if value is higher than 0 [optional, default 0].</td> </tr>
1278 /// <tr> <td>[maxNumIterations]</td> <td></td> <td></td> <td>Maximum number of iterations to run [optional, default 100].</td> </tr>
1279 /// <tr> <td>[maxTranslation]</td> <td></td> <td></td> <td>Maximum allowed drift[mm] of mesh center [optional, default = 0 = no limit]. Alignment will stop when this limit is reached.</td> </tr>
1280 /// <tr> <td>[maxRotation_deg]</td> <td></td> <td></td> <td>Maximum allowed rotation of mesh in degree [optional, default = 0 = no limit]. Alignment will stop when this limit is reached.</td> </tr>
1281 /// </table>
1282 ///
1283 /// <b>Error Codes</b>
1284 /// <table borders="0">
1285 /// <tr> <td>david::Error_InvalidMeshId</td> <td>Specified meshID does not exist.</td> </tr>
1302 /// <tr> <td>[texturePercentage]</td> <td></td> <td>Percentage of texture influence on alignment (only used if value is higher than 0 [optional, default 0].</td> </tr>
1303 /// <tr> <td>[numIterations]</td> <td></td> <td>Number of iterations to run [optional, default 20].</td> </tr>
1304 /// <tr> <td>[maxTranslation]</td> <td></td> <td>Maximum allowed drift[mm] of any mesh center [optional, default = 0 = no limit]. Global Fine Alignment will not rotate any scan more than this.</td> </tr>
1305 /// <tr> <td>[maxRotation_deg]</td> <td></td> <td>Maximum allowed rotation[deg] of any mesh in degree [optional, default = 0 = no limit]. Global Fine Alignment will not rotate any scan more than this.</td> </tr>
1322 /// <tr> <td>resolution</td> <td>Limits the maximum resolution and thus the required memory usage.</td> </tr>
1323 /// <tr> <td>holeSizeThresRel</td> <td>Holes, which have a smaller area than holeSizeThresRel * size of original data surface, will be closed. 0 = open all holes. 1 = close all holes.</td> </tr>
1324 /// <tr> <td>sharpness</td> <td>Fusion sharpness in [-3,+5]. Negative values for smoothing. Default 1.</td> </tr>
1325 /// </table>
1326 ///
1327 /// <b>Return Values</b>
1328 /// <table borders="0">
1329 /// <tr> <td>Mesh ID of the fusion result.</td> </tr>