143 m_sensorRange = range;
162 m_rotationOrder = rotOrder;
177 double posIndex = 0)
const;
192 double posIndex = 0)
const;
float PointCoordinateType
Type of the coordinates of a (N-D) point.
int64_t CV_CLASS_ENUM
Type of object type flags (64 bits)
Ground-based Laser sensor.
void projectPoint(const CCVector3 &sourcePoint, CCVector2 &destPoint, PointCoordinateType &depth, double posIndex=0) const
Projects a point in the sensor world.
bool computeDepthBuffer(cloudViewer::GenericCloud *cloud, int &errorCode, ccPointCloud *projectedCloud=nullptr)
PointCoordinateType m_thetaMin
Minimal yaw limit (in radians)
void setRotationOrder(ROTATION_ORDER rotOrder)
Sets the sensor internal rotations order.
PointCoordinateType m_deltaTheta
Yaw step (in radians)
ColorGrid * projectColors(cloudViewer::GenericCloud *cloud, const ColorGrid &rgbColors) const
PointCoordinateType m_thetaMax
Maximal yaw limit (in radians)
ccBBox getOwnFitBB(ccGLMatrix &trans) override
Returns best-fit bounding-box (if available)
bool isSerializable() const override
Returns whether object is serializable of not.
virtual void clearDrawings() override
bool m_yawAnglesAreShifted
ROTATION_ORDER m_rotationOrder
Mirrors rotation order.
PointCoordinateType getMinPitch() const
Returns the minimal pitch limit (in radians)
virtual void hideShowDrawings(CC_DRAW_CONTEXT &context) override
ROTATION_ORDER
The order of inner-rotations of the sensor (body/mirrors)
PointCoordinateType m_phiMin
Minimal pitch limit (in radians)
PointCoordinateType m_deltaPhi
Pitch step (in radians)
PointCoordinateType getSensorRange() const
Returns the sensor max. range.
bool m_pitchAnglesAreShifted
PointCoordinateType getMinYaw() const
Returns the minimal yaw limit (in radians)
ccGBLSensor(const ccGBLSensor &sensor)
Copy constructor.
const ecvOrientedBBox & getSensorHead() const
CV_CLASS_ENUM getClassID() const override
Returns class ID.
void setYawRange(PointCoordinateType minTheta, PointCoordinateType maxTheta)
Sets the yaw scanning limits.
std::vector< CCVector3 > NormalGrid
2D grid of normals
bool convertToDepthMapCoords(PointCoordinateType yaw, PointCoordinateType pitch, unsigned &i, unsigned &j) const
const cloudViewer::geometry::LineSet & getSensorLegLines() const
void setUncertainty(PointCoordinateType u)
Sets the Z-buffer uncertainty on depth values.
ccGBLSensor(ROTATION_ORDER rotOrder=YAW_THEN_PITCH)
Default constructor.
PointCoordinateType getUncertainty() const
Returns the Z-buffer uncertainty on depth values.
~ccGBLSensor() override=default
Destructor.
bool toFile_MeOnly(QFile &out, short dataVersion) const override
Save own object data.
void setPitchRange(PointCoordinateType minPhi, PointCoordinateType maxPhi)
Sets the pitch scanning limits.
bool fromFile_MeOnly(QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) override
Loads own object data.
cloudViewer::geometry::LineSet m_leg
const cloudViewer::geometry::LineSet & getSensorAxis() const
bool computeAutoParameters(cloudViewer::GenericCloud *theCloud)
Computes angular parameters automatically (all but the angular steps!)
PointCoordinateType m_phiMax
Maximal pitch limit (in radians)
std::vector< ecvColor::Rgb > ColorGrid
2D grid of colors
void drawMeOnly(CC_DRAW_CONTEXT &context) override
Draws the entity only (not its children)
static QString GetErrorString(int errorCode)
Returns the error string corresponding to an error code.
bool yawIsShifted() const
const ccDepthBuffer & getDepthBuffer() const
Returns the associated depth buffer.
bool applyViewport() override
Apply sensor 'viewport' to a 3D view.
short minimumFileVersion_MeOnly() const override
ccBBox getOwnBB(bool withGLFeatures=false) override
Returns the entity's own bounding-box.
unsigned char checkVisibility(const CCVector3 &P) const override
NormalGrid * projectNormals(cloudViewer::GenericCloud *cloud, const NormalGrid &norms, double posIndex=0) const
Projects a set of point cloud normals in the sensor world.
void setSensorRange(PointCoordinateType range)
Sets the sensor max. range.
PointCoordinateType getPitchStep() const
Returns the lateral pitch step (in radians)
PointCoordinateType getMaxYaw() const
Returns the maximal yaw limit (in radians)
ccDepthBuffer m_depthBuffer
Associated Z-buffer.
void setYawStep(PointCoordinateType dTheta)
Sets the yaw step.
bool pitchIsShifted() const
ecvOrientedBBox m_obbHead
PointCoordinateType m_uncertainty
Z-buffer uncertainty.
PointCoordinateType m_sensorRange
Sensor max range.
ROTATION_ORDER getRotationOrder() const
Returns the sensor internal rotations order.
void clearDepthBuffer()
Removes the associated depth buffer.
cloudViewer::geometry::LineSet m_axis
PointCoordinateType getMaxPitch() const
Returns the maximal pitch limit (in radians)
PointCoordinateType getYawStep() const
Returns the yaw step (in radians)
void setPitchStep(PointCoordinateType dPhi)
Sets the pitch step.
Float version of ccGLMatrixTpl.
A 3D cloud and its associated features (color, normals, scalar fields, etc.)
Generic sensor interface.
QMultiMap< unsigned, unsigned > LoadedIDMap
Map of loaded unique IDs (old ID --> new ID)
LineSet define a sets of lines in 3D. A typical application is to display the point cloud corresponde...