DAVID4 SDK  1.8.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
david::ITurntable Class Referenceabstract

Interface class for turntable control. More...

#include <ITurntable.h>

Inheritance diagram for david::ITurntable:
david::TurntableJsonRpc

Public Member Functions

virtual ~ITurntable ()
 Destructor.
 
virtual void Setup (bool enable)=0
 Set up the turntable (connect/disconnect). More...
 
virtual void Rotate (double degrees)=0
 Rotate the turntable. More...
 

Detailed Description

Interface class for turntable control.

All calls are delegated to a JSON-RPC 2.0 client. Example:

/// @example SimpleTurntable.cpp
///
/// Shows usage of david::Turntable, david::StructuredLightScanner, and david::ShapeFusion class.
#include "davidSDK/david.h"
namespace examples {
/// Shows usage of david::Turntable, david::StructuredLightScanner, and david::ShapeFusion class.
{
try
{
david.Connect();
david.turntable().Setup(true); // connect turntable
const double step = 45.0;
for (double angle=0.0; angle < 360.0; angle += step)
{
david.sls().Scan();
int meshID = david.sls().AddScanToShapeFusion();
david.fusion().Rotate(meshID, david::TransformGlobalY, -angle);
david.turntable().Rotate(step);
}
int fusionMeshID = david.fusion().Fuse(1500);
david.fusion().ExportMesh(fusionMeshID, "FusionResult.obj");
david.turntable().Setup(false); // disconnect
}
catch (david::Exception& e)
{
}
}
}

Definition at line 31 of file ITurntable.h.

Member Function Documentation

virtual void david::ITurntable::Rotate ( double  degrees)
pure virtual

Rotate the turntable.

The turntable rotates counterclockwise ('degrees' is postive) or clockwise ('degrees' is negative).

Parameters
[in]degreesAmount of rotation in degrees.
Exceptions
david::Error_DeviceNotAvailable(david::FunctionException) Rotation of turntable failed. Turntable not available?

Implemented in david::TurntableJsonRpc.

Examples:
SimpleTurntable.cpp.
virtual void david::ITurntable::Setup ( bool  enable)
pure virtual

Set up the turntable (connect/disconnect).

Parameters
[in]enableTrue for connect, false for disconnect.
Exceptions
david::Error_DeviceNotAvailable(david::FunctionException) Connection to turntable failed. Turntable not available?

Implemented in david::TurntableJsonRpc.

Examples:
SimpleTurntable.cpp.

The documentation for this class was generated from the following file: