/usr/include/x86_64-linux-gnu/visp3/sensor/vpLaserScan.h is in libvisp-sensor-dev 3.1.0-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | /****************************************************************************
*
* This file is part of the ViSP software.
* Copyright (C) 2005 - 2017 by Inria. All rights reserved.
*
* This software is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* See the file LICENSE.txt at the root directory of this source
* distribution for additional information about the GNU GPL.
*
* For using ViSP with software that can not be combined with the GNU
* GPL, please contact Inria about acquiring a ViSP Professional
* Edition License.
*
* See http://visp.inria.fr for more information.
*
* This software was developed at:
* Inria Rennes - Bretagne Atlantique
* Campus Universitaire de Beaulieu
* 35042 Rennes Cedex
* France
*
* If you have questions regarding the use of this file, please contact
* Inria at visp@inria.fr
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* Description:
* Laser scan data structure.
*
* Authors:
* Fabien Spindler
*
*****************************************************************************/
#ifndef vpLaserScan_h
#define vpLaserScan_h
/*!
\file vpLaserScan.h
\brief Implements a laser scan data structure.
*/
#include "visp3/sensor/vpScanPoint.h"
#include <vector>
/*!
\class vpLaserScan
\ingroup group_sensor_laserscanner
\brief Implements a laser scan data structure that contains
especially the list of scanned points that have been recorded for
this laser scan.
Other data as the start/stop angle, the start/end timestamp are
also considered.
*/
class VISP_EXPORT vpLaserScan
{
public:
/*! Default constructor that initialize all the internal variable to zero.
*/
vpLaserScan()
: listScanPoints(), startTimestamp(0), endTimestamp(0), measurementId(0), numSteps(0), startAngle(0), stopAngle(0),
numPoints(0)
{
}
/*! Copy constructor. */
vpLaserScan(const vpLaserScan &scan)
: listScanPoints(scan.listScanPoints), startTimestamp(0), endTimestamp(0), measurementId(0), numSteps(0),
startAngle(0), stopAngle(0), numPoints(0)
{
startTimestamp = scan.startTimestamp;
endTimestamp = scan.endTimestamp;
measurementId = scan.measurementId;
numSteps = scan.numSteps;
startAngle = scan.startAngle;
stopAngle = scan.stopAngle;
numPoints = scan.numPoints;
}
/*! Default destructor that does nothing. */
virtual ~vpLaserScan(){};
/*! Add the scan point at the end of the list. */
inline void addPoint(const vpScanPoint &p) { listScanPoints.push_back(p); }
/*! Drop the list of points. */
inline void clear() { listScanPoints.clear(); }
/*! Get the list of points. */
inline std::vector<vpScanPoint> getScanPoints() { return listScanPoints; }
/*! Specifies the id of former measurements and increases with
every measurement. */
inline void setMeasurementId(const unsigned short &id) { this->measurementId = id; }
/*! Start time of measurement. */
inline void setStartTimestamp(const double &start_timestamp) { this->startTimestamp = start_timestamp; }
/*! End time of measurement. */
inline void setEndTimestamp(const double &end_timestamp) { this->endTimestamp = end_timestamp; }
/*! Angular steps per scanner rotation. */
inline void setNumSteps(const unsigned short &num_steps) { this->numSteps = num_steps; }
/*! Start angle of the measurement in angular steps. */
inline void setStartAngle(const short &start_angle) { this->startAngle = start_angle; }
/*! Stop angle of the measurement in angular steps. */
inline void setStopAngle(const short &stop_angle) { this->stopAngle = stop_angle; }
/*! Number of measured points of the measurement. */
inline void setNumPoints(const unsigned short &num_points) { this->numPoints = num_points; }
/*! Return the measurement start time. */
inline double getStartTimestamp() { return startTimestamp; }
/*! Return the measurement end time. */
inline double getEndTimestamp() { return endTimestamp; }
private:
std::vector<vpScanPoint> listScanPoints;
double startTimestamp;
double endTimestamp;
unsigned short measurementId;
unsigned short numSteps;
short startAngle;
short stopAngle;
unsigned short numPoints;
};
#endif
|