SCENE C++ API
2.1.0
|
The general interface to connect and communicate with a FARO Focus laser scanner. More...
#include <lsscanner.h>
Public Member Functions | |
LSScanner () | |
Constructs a new scanner interface. More... | |
virtual | ~LSScanner () |
Destroys the scanner interface. More... | |
LSResult::Result | connect (LSString address) |
Attempts to connect the scanner interface to the given address. More... | |
LSResult::Result | disconnect () |
Disconnects the scanner interface from any connected scanner. More... | |
ref_ptr< LSFutureTask > | takeScan () |
Take a scan which is stored locally on the scanner itself. More... | |
ref_ptr< LSFutureTask > | takeRemoteScan (LSString filePath) |
Take a scan which is streamed over the network. More... | |
void | stopScan () |
Stops a running scan. | |
bool | shutdown () |
Shutdown the connected scanner. More... | |
ref_ptr< LSAttributeContainer > | getCurrentScanProfile () const |
Gets the currently active scan profile. More... | |
bool | setCurrentScanProfile (ref_ptr< LSAttributeContainer > scanProfile) |
Sets the currently active scan profile. More... | |
LSPod< std::vector< ref_ptr< LSAttributeContainer > > > | getScanProfiles () const |
Gets the list of available scan profiles. More... | |
bool | selectScanProfile (LSString profileID) |
Selects a profile from the list of available scan profiles and sets it as the currently active scan profile. More... | |
bool | addScanProfile (ref_ptr< LSAttributeContainer > scanProfile) |
Adds a new profile to the list of available scan profiles. More... | |
bool | removeScanProfile (LSString profileID) |
Removes a profile from the list of available scan profiles. More... | |
LSPod< std::vector< ref_ptr< LSAttributeContainer > > > | getScanProjects () const |
Gets the list of available scan projects. More... | |
bool | selectScanProject (LSString projectID) |
Selects a project from the list of available scan projects and sets it as the currently active scan project. More... | |
bool | addScanProject (ref_ptr< LSAttributeContainer > scanProject) |
Adds a new project to the list of available scan projects. More... | |
bool | removeScanProject (LSString projectID) |
Removes a project from the list of available scan projects. More... | |
LSPod< std::vector< ref_ptr< LSAttributeContainer > > > | getOperators () const |
Gets the list of available operators. More... | |
bool | selectOperator (LSString operatorID) |
Selects an operator from the list of available operators and sets it as the currently active operator. More... | |
bool | addOperator (ref_ptr< LSAttributeContainer > scanOperator) |
Adds a new operator to the list of available operators. More... | |
bool | removeOperator (LSString operatorID) |
Removes an operator from the list of available operators. More... | |
ref_ptr< LSAttributeContainer > | getGeneralSettings () const |
Gets the general settings data container from the scanner. More... | |
bool | setGeneralSettings (ref_ptr< LSAttributeContainer > settings) |
Sets the general settings for the scanner. More... | |
LSPod< std::vector< ref_ptr< LSAttributeContainer > > > | getScans () const |
Gets a list of the scans which are stored on the scanner. More... | |
ref_ptr< LSAttributeContainer > | getScanProperties (LSString scanFile) const |
Gets the properties of a scan which is stored on the scanner. More... | |
ref_ptr< LSAttributeContainer > | getServiceInformation () const |
Gets the service information data container from the scanner. More... | |
ref_ptr< LSAttributeContainer > | getSensorInformation () const |
Gets the sensor information data container from the scanner. More... | |
ref_ptr< LSAttributeContainer > | getSystemVersion () const |
Gets the system version data container from the scanner. More... | |
ref_ptr< LSAttributeContainer > | getFirmwareVersion () const |
Gets the firmware version data container from the scanner. More... | |
ref_ptr< LSAttributeContainer > | getScannerStatus () const |
Gets the scanner status data container from the scanner. More... | |
LSPod< std::vector< ref_ptr< LSAttributeContainer > > > | getStatusMessages () const |
Gets a list of the stored status messages from the scanner. More... | |
ref_ptr< LSAttributeContainer > | getWarningMessage () const |
Gets the current warning message from the scanner. More... | |
ref_ptr< LSAttributeContainer > | getScannerParameters () const |
Gets the current set of scanner parameters from the scanner. More... | |
bool | setScannerParameters (ref_ptr< LSAttributeContainer > parameters) |
Sets the current set of scanner parameters for the scanner. More... | |
LSPod< std::vector< std::pair< LSString, LSString > > > | detectScanners (int waitForMs=1000) const |
Fetches a list of scanners available in the network. More... | |
bool | getSensorTemperature (double &temperature) const |
Gets the temperature of the sensor from inside the scanner. More... | |
The general interface to connect and communicate with a FARO Focus laser scanner.
This interface only supports Focus scanner models up to the V8 generation (Focus M and S series). The newer generations (V9+) are not supported by this interface! If you need to automate V9+ scanners, please contact the FARO customer service and ask for the LSWebAPI.
LSScanner | ( | ) |
Constructs a new scanner interface.
|
virtual |
Destroys the scanner interface.
LSResult::Result connect | ( | LSString | address | ) |
Attempts to connect the scanner interface to the given address.
address | The scanner address in the format IP:Port (e.g. 192.168.0.1:8765). Keep in mind that the port is not related to the port for the web user interface that can be changed in the scanner UI. The port is fixed and should be always 8765. |
LSResult::Result disconnect | ( | ) |
Disconnects the scanner interface from any connected scanner.
ref_ptr<LSFutureTask> takeScan | ( | ) |
Take a scan which is stored locally on the scanner itself.
ref_ptr<LSFutureTask> takeRemoteScan | ( | LSString | filePath | ) |
Take a scan which is streamed over the network.
No SD card required. This can be used to store a scan on the PC that controls the scanner. The supplied file path must be writable for the process that calls this method. For example it could be a local path or even a path to a SMB network share. Examples would be L"C:\\folder\\scan.fls" or L"\\\\host\\folder\\scan.fls". Currently the future will not report useful progress information. This method will return an error if the filePath already exists!
filePath | The file system path to the file in which the scan will be stored. Do not forget to escape any backslashes! |
bool shutdown | ( | ) |
Shutdown the connected scanner.
ref_ptr<LSAttributeContainer> getCurrentScanProfile | ( | ) | const |
Gets the currently active scan profile.
bool setCurrentScanProfile | ( | ref_ptr< LSAttributeContainer > | scanProfile | ) |
Sets the currently active scan profile.
scanProfile | The scan profile to be set. |
LSPod<std::vector<ref_ptr<LSAttributeContainer> > > getScanProfiles | ( | ) | const |
Gets the list of available scan profiles.
bool selectScanProfile | ( | LSString | profileID | ) |
Selects a profile from the list of available scan profiles and sets it as the currently active scan profile.
profileID | The profile ID of the profile to be selected. |
bool addScanProfile | ( | ref_ptr< LSAttributeContainer > | scanProfile | ) |
Adds a new profile to the list of available scan profiles.
scanProfile | The profile to be added to the list of scan profiles. |
bool removeScanProfile | ( | LSString | profileID | ) |
Removes a profile from the list of available scan profiles.
profileID | The profile ID of the profile to be removed. |
LSPod<std::vector<ref_ptr<LSAttributeContainer> > > getScanProjects | ( | ) | const |
Gets the list of available scan projects.
bool selectScanProject | ( | LSString | projectID | ) |
Selects a project from the list of available scan projects and sets it as the currently active scan project.
projectID | The project ID of the project to be selected. |
bool addScanProject | ( | ref_ptr< LSAttributeContainer > | scanProject | ) |
Adds a new project to the list of available scan projects.
scanProject | The project to be added to the list of scan projects. |
bool removeScanProject | ( | LSString | projectID | ) |
Removes a project from the list of available scan projects.
projectID | The project ID of the project to be removed. |
LSPod<std::vector<ref_ptr<LSAttributeContainer> > > getOperators | ( | ) | const |
Gets the list of available operators.
bool selectOperator | ( | LSString | operatorID | ) |
Selects an operator from the list of available operators and sets it as the currently active operator.
operatorID | The operator ID of the operator to be selected. |
bool addOperator | ( | ref_ptr< LSAttributeContainer > | scanOperator | ) |
Adds a new operator to the list of available operators.
scanOperator | The operator to be added to the list of operators. |
bool removeOperator | ( | LSString | operatorID | ) |
Removes an operator from the list of available operators.
operatorID | The operator ID of the operator to be removed. |
ref_ptr<LSAttributeContainer> getGeneralSettings | ( | ) | const |
Gets the general settings data container from the scanner.
bool setGeneralSettings | ( | ref_ptr< LSAttributeContainer > | settings | ) |
Sets the general settings for the scanner.
settings | The general settings to be set. |
LSPod<std::vector<ref_ptr<LSAttributeContainer> > > getScans | ( | ) | const |
Gets a list of the scans which are stored on the scanner.
ref_ptr<LSAttributeContainer> getScanProperties | ( | LSString | scanFile | ) | const |
Gets the properties of a scan which is stored on the scanner.
scanFile | The name of the scan for which the properties should be retrieved. |
ref_ptr<LSAttributeContainer> getServiceInformation | ( | ) | const |
Gets the service information data container from the scanner.
ref_ptr<LSAttributeContainer> getSensorInformation | ( | ) | const |
Gets the sensor information data container from the scanner.
ref_ptr<LSAttributeContainer> getSystemVersion | ( | ) | const |
Gets the system version data container from the scanner.
ref_ptr<LSAttributeContainer> getFirmwareVersion | ( | ) | const |
Gets the firmware version data container from the scanner.
ref_ptr<LSAttributeContainer> getScannerStatus | ( | ) | const |
Gets the scanner status data container from the scanner.
LSPod<std::vector<ref_ptr<LSAttributeContainer> > > getStatusMessages | ( | ) | const |
Gets a list of the stored status messages from the scanner.
ref_ptr<LSAttributeContainer> getWarningMessage | ( | ) | const |
Gets the current warning message from the scanner.
ref_ptr<LSAttributeContainer> getScannerParameters | ( | ) | const |
Gets the current set of scanner parameters from the scanner.
bool setScannerParameters | ( | ref_ptr< LSAttributeContainer > | parameters | ) |
Sets the current set of scanner parameters for the scanner.
parameters | The parameters to be set for the scanner. |
Fetches a list of scanners available in the network.
waitForMs | detectScanners sends a network broadcast message. waitForMS defines the time to wait until all answers are collected and returned. |
bool getSensorTemperature | ( | double & | temperature | ) | const |
Gets the temperature of the sensor from inside the scanner.
temperature | Output for the current sensor temperature in degree Celsius. |