Version: 16.3.1.167ea6ecff

Namespaces | Classes | Typedefs | Functions
sal3d Namespace Reference

Namespace for all sal3d-related symbols. More...

Namespaces

namespace  AngularMetric
 Namespace for the Angular Metric Calibration Tool functions.
 
namespace  Area
 Namespace for the Area Tool functions.
 
namespace  Express
 Namespace for the functions and classes to access 3dexpress.
 
namespace  Geometric
 Namespace for the Geometric functions and classes.
 
namespace  LensDistortion
 Namespace for the Lens Distortion classes and functions.
 
namespace  Merger
 Namespace for the Merger Tool functions.
 
namespace  Metric
 Namespace for the Metric Calibration Tool functions.
 
namespace  Viewer
 Namespace for the Viewer functions.
 

Classes

class  Error
 Sal3d error management class of exceptions. More...
 
class  Array1D
 Wrapper template over 1D memory objects. More...
 
class  Array2D
 Wrapper template over 2D memory objects. More...
 
class  Grid
 Basic allocator for a matrix of elements. More...
 
class  Point2D
 Class that represents a point in 2D space or a 2D vector. More...
 
class  Point3D
 Class that represents a point in 3D space or a 3D vector. More...
 
class  Polygon2D
 Class that represents a polygon in 2D space. More...
 
class  Movement3D
 A 3D transformation representation (rotation and translation.) More...
 
class  COP
 Cloud of Points defining a 3D surface. More...
 
class  Timeout
 The grabber timed out while waiting for the next frame. More...
 
class  TransientError
 A transient error occured while trying to get the next image. More...
 
class  FrameGrabber
 Interface to SAL3D Frame Grabber Drivers. More...
 
class  TOFFrameGrabber
 TIme-Of-Flight framegrabber interface. More...
 
class  KinectFrameGrabber
 Kinect framegrabber interface. More...
 
class  Frame
 Manager class for 2D pictures in memory. More...
 
class  Mesh
 Structure defining a surface composed of vertices and triangles. More...
 
class  PipeLine
 Management of a pool of threads to run tasks in pipeline. More...
 
class  Profile
 Laser stripe position detected in a Frame. More...
 
class  RangeMap
 A 2D array of detected laser peak positions constituting a distorted 3D representation of an object. More...
 
class  ThreadPool
 Management of a pool of threads for a specific task. More...
 
class  ZMap
 Projection of a COP on the XY plane. More...
 
class  PeakFinder
 Vertical Software Peak Finder (Deprecated) More...
 
class  PeakFinderH
 Horizontal Software Peak Finder. More...
 
struct  Match3DParameters
 Struct holding the parameters to be used in the matching algorithm. More...
 
class  Match3D
 Aligns a cop against a given model cop. This class differs from Match3DCoarse in that the COPs have to be prealigned within a certain tolerancy for the alignment to be successful. More...
 
class  Match3DCoarse
 Aligns a cop against a given model cop. This class differs from Match3D in that the two COPs don't have to be prealigned. More...
 
class  Integrator
 Used to create a surface from provided COP's. More...
 

Typedefs

typedef sal3d_zmap_factors ZMapFactors
 
typedef sal3d_line2d Line2D
 
typedef sal3d_projection_2d Projection2D
 
typedef
sal3d_axes_aligned_rectangle 
AxesAlignedRectangle
 A rectangle in 2D space aligned with X and Y axes.
 
typedef sal3d_surface_point SurfacePoint
 Struct holding the coordinates and the normal for a point.
 
typedef std::vector< SurfacePointSurfacePoints
 

Functions

bool operator== (const ZMapFactors &lhs, const ZMapFactors &rhs)
 
bool isNaN (float f)
 
float getTrianglePerimeter (const Point3D &p1, const Point3D &p2, const Point3D &p3)
 
sal3d::Point3D operator* (const Movement3D &movement, const Point3D point)
 Transforms a Point3D using a 3D movement. More...
 
Movement3D operator* (const Movement3D &lhsMovement, const Movement3D &rhsMovement)
 Performs the multiplication of two 3D movements. More...
 
Metric::Config operator* (const Movement3D &m, const Metric::Config &mc)
 Multiply a Metric::Config by a Movement3DThis allows, for example, changing the coordinate system of the 3D points returned by the Metric::Config. More...
 
AngularMetric::Config operator* (const Movement3D &m, const AngularMetric::Config &mc)
 Multiply an AngularMetric::Config by a Movement3DThis allows, for example, changing the coordinate system of the 3D points returned by the AngularMetric::Config. More...
 
Point2D operator* (const Projection2D &projection, const Point3D &point3D)
 Projects a Point3D to a 2D surface using a Projection2D. More...
 
std::vector< int > cameraSync (const std::vector< long long > &timestamps, const std::string &conditions)
 Group camera acquisitions by timestamp. More...
 
ZMapFactors makeRatiosEqual (ZMapFactors factors)
 Modifies the ZMapFactors width or height to force having the same resolution in both axis. More...
 

Detailed Description

Namespace for all sal3d-related symbols.

Typedef Documentation

A representation of a line in 2D space. The line is expressed in the form Ax + By + C = 0, being A, B and C the 3 values in the array.

typedef sal3d_projection_2d sal3d::Projection2D

Projection2D is a rigid transformation matrix corresponding to a 3D to 2D transformation pipeline. Its use is mainly restricted to working with GL windows. This matrix is a 3x4 matrix and is used for right multiplications with the COP's 3D vertices in the form: 2D projection = Projection2D * 3D COP vertex

typedef std::vector<SurfacePoint> sal3d::SurfacePoints

List of points and its normals, which define a single surface, to be used with Match3D::Match3D(const SurfacePoints &points).

Factors to convert between COP to ZMap. We take the sal3d_zmap_factors from the C implementation

Function Documentation

bool sal3d::isNaN ( float  f)
inline

Funtion to find out if a float is a NaN or not in GNU/Linux and Windows environments

ZMapFactors sal3d::makeRatiosEqual ( ZMapFactors  factors)
inline

Modifies the ZMapFactors width or height to force having the same resolution in both axis.

The modified dimension (height or width) is the one having more resolution.

Metric::Config sal3d::operator* ( const Movement3D &  m,
const Metric::Config &  mc 
)
inline

Multiply a Metric::Config by a Movement3DThis allows, for example, changing the coordinate system of the 3D points returned by the Metric::Config.

Returns
A new Metric::Config with the movement applied
Exceptions
sal3d::ErrorOn error

References sal3d::Metric::Config::c_metric_config(), and sal3d::Movement3D::c_movement_3d().

AngularMetric::Config sal3d::operator* ( const Movement3D &  m,
const AngularMetric::Config &  mc 
)
inline

Multiply an AngularMetric::Config by a Movement3DThis allows, for example, changing the coordinate system of the 3D points returned by the AngularMetric::Config.

Returns
A new AngularMetric::Config with the movement applied
Exceptions
sal3d::ErrorOn error

References sal3d::AngularMetric::Config::c_metric_config(), and sal3d::Movement3D::c_movement_3d().