PlayerCc::LaserProxy Class Reference
Proxies

The `LaserProxy` class is used to control a laser device. More...

`#include <playerc++.h>`

Inheritance diagram for PlayerCc::LaserProxy:

## Public Member Functions

| LaserProxy (PlayerClient *aPc, uint32_t aIndex=0)
| constructor
| ~LaserProxy ()
| destructor
uint32_t | GetCount () const
| Number of points in scan.
double | GetMaxRange () const
| Max range for the latest set of data (meters)
double | GetScanRes () const
| Angular resolution of scan (radians)
double | GetRangeRes () const
| Range resolution of scan (mm)
double | GetScanningFrequency () const
| Scanning Frequency (Hz)
double | GetMinAngle () const
| Scan range for the latest set of data (radians)
double | GetMaxAngle () const
| Scan range for the latest set of data (radians)
double | GetConfMinAngle () const
| Scan range from the laser config (call RequestConfigure first) (radians)
double | GetConfMaxAngle () const
| Scan range from the laser config (call RequestConfigure first) (radians)
bool | IntensityOn () const
| Whether or not reflectance (i.e., intensity) values are being returned.
player_point_2d_t | GetPoint (uint32_t aIndex) const
| Scan data (Cartesian): x,y (m)
double | GetRange (uint32_t aIndex) const
| get the range
double | GetBearing (uint32_t aIndex) const
| get the bearing
int | GetIntensity (uint32_t aIndex) const
| get the intensity
int | GetID () const
| get the laser ID, call RequestId first
void | Configure (double aMinAngle, double aMaxAngle, uint32_t aScanRes, uint32_t aRangeRes, bool aIntensity, double aScanningFrequency)
| Configure the laser scan pattern. More...
void | RequestConfigure ()
| Request the current laser configuration; it is read into the relevant class attributes. More...
void | RequestID ()
| Request the ID of the laser; read it with GetID()
void | RequestGeom ()
| Get the laser's geometry; it is read into the relevant class attributes. More...
player_pose3d_t | GetPose ()
| Accessor for the pose of the laser with respect to its parent object (e.g., a robot). More...
player_pose3d_t | GetRobotPose ()
| Accessor for the pose of the laser's parent object (e.g., a robot). More...
player_bbox3d_t | GetSize ()
| Accessor for the size (fill it in by calling RequestGeom)
double | GetMinLeft () const
| Minimum range reading on the left side.
double | GetMinRight () const
| Minimum range reading on the right side.
double | MinLeft () const
double | MinRight () const
double | operator[] (uint32_t index) const
| Range access operator. More...
Public Member Functions inherited from PlayerCc::ClientProxy
bool | IsValid () const
| Returns true if we have received any data from the device.
bool | IsFresh () const
| Fresh is set to true on each new read. More...
void | NotFresh ()
| This states that the data in a client is currently not Fresh.
std::string | GetDriverName () const
| Returns the driver name. More...
double | GetDataTime () const
| Returns the received timestamp [s].
double | GetElapsedTime () const
| Returns the received timestamp [s].
PlayerClient * | GetPlayerClient () const
| Returns a pointer to the Player Client.
uint32_t | GetIndex () const
| Returns device index.
uint32_t | GetInterface () const
| Returns device interface.
std::string | GetInterfaceStr () const
| Returns device interface.
void | SetReplaceRule (bool aReplace, int aType=-1, int aSubtype=-1)
| Set a replace rule for this proxy on the server. More...
int | HasCapability (uint32_t aType, uint32_t aSubtype)
| Request capabilities of device. More...
int | GetBoolProp (char *aProperty, bool *aValue)
| Request a boolean property.
int | SetBoolProp (char *aProperty, bool aValue)
| Set a boolean property.
int | GetIntProp (char *aProperty, int32_t *aValue)
| Request an integer property.
int | SetIntProp (char *aProperty, int32_t aValue)
| Set an integer property.
int | GetDblProp (char *aProperty, double *aValue)
| Request a double property.
int | SetDblProp (char *aProperty, double aValue)
| Set a double property.
int | GetStrProp (char *aProperty, char **aValue)
| Request a string property.
int | SetStrProp (char *aProperty, char *aValue)
| Set a string property.
template<typename T >
connection_t | ConnectReadSignal (T aSubscriber)
| Connect a signal to this proxy For more information check out Signals & multithreading.
void | DisconnectReadSignal (connection_t aSubscriber)
| Disconnect a signal to this proxy.

## Private Member Functions

void | Subscribe (uint32_t aIndex)
void | Unsubscribe ()

## Private Attributes

playerc_laser_t * | mDevice
double | min_angle
double | max_angle
double | scan_res
double | range_res
double | scanning_frequency
bool | intensity

## Additional Inherited Members

Public Types inherited from PlayerCc::ClientProxy
typedef int | connection_t
typedef boost::mutex::scoped_lock | scoped_lock_t
typedef int | read_signal_t
Protected Member Functions inherited from PlayerCc::ClientProxy
| ClientProxy (PlayerClient *aPc, uint32_t aIndex)
template<typename T >
T | GetVar (const T &aV) const
template<typename T >
void | GetVarByRef (const T aBegin, const T aEnd, T aDest) const
Protected Attributes inherited from PlayerCc::ClientProxy
PlayerClient * | mPc
playerc_client_t * | mClient
playerc_device_t * | mInfo
bool | mFresh

## Detailed Description

The `LaserProxy` class is used to control a laser device.

The latest scan data is held in two arrays: `ranges` and `intensity`. The laser scan range, resolution and so on can be configured using the Configure() method.

## Member Function Documentation

void PlayerCc::LaserProxy::Configure | ( | double | aMinAngle,
|  | double | aMaxAngle,
|  | uint32_t | aScanRes,
|  | uint32_t | aRangeRes,
|  | bool | aIntensity,
|  | double | aScanningFrequency
| ) |  |

Configure the laser scan pattern.

Angles `min_angle` and `max_angle` are measured in radians. `scan_res` is measured in units of 0.01 degrees; valid values are: 25 (0.25 deg), 50 (0.5 deg) and 100 (1 deg). `range_res` is measured in mm; valid values are: 1, 10, 100. Set `intensity` to `true` to enable intensity measurements, or `false` to disable. `scanning_frequency` is measured in Hz

player_pose3d_t PlayerCc::LaserProxy::GetPose | ( |  | ) |

inline

Accessor for the pose of the laser with respect to its parent object (e.g., a robot).

Fill it in by calling RequestGeom.

References player_pose3d::px, player_pose3d::py, and player_pose3d::pyaw.

player_pose3d_t PlayerCc::LaserProxy::GetRobotPose | ( |  | ) |

inline

Accessor for the pose of the laser's parent object (e.g., a robot).

Filled in by some (but not all) laser data messages.

References player_pose3d::px, player_pose3d::py, and player_pose3d::pyaw.

double PlayerCc::LaserProxy::MinLeft | ( |  | ) | const

inline

Deprecated:
  Minimum range reading on the left side

double PlayerCc::LaserProxy::MinRight | ( |  | ) | const

inline

Deprecated:
  Minimum range reading on the right side

double PlayerCc::LaserProxy::operator[] | ( | uint32_t | index | ) | const

inline

Range access operator.

This operator provides an alternate way of access the range data. For example, given an `LaserProxy` named `lp`, the following expressions are equivalent: `lp.GetRange(0)` and `lp`[0].

void PlayerCc::LaserProxy::RequestConfigure | ( |  | ) |

Request the current laser configuration; it is read into the relevant class attributes.

void PlayerCc::LaserProxy::RequestGeom | ( |  | ) |

Get the laser's geometry; it is read into the relevant class attributes.

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

- playerc++.h

Last updated 12 September 2005 21:38:45