FieldParameter.hpp
Go to the documentation of this file.
1 //
2 // FieldParameter.hpp
3 //
4 // Created on: 30.08.2011
5 // Author: wahnfla
6 //
7 
8 #ifndef FIELDPARAMETER_HPP
9 #define FIELDPARAMETER_HPP
10 
11 #include "../BasicDatatypes.hpp"
12 #include "FieldDescription.hpp"
13 #include "Polygon2D.hpp"
14 #include <vector>
15 #include <stdexcept>
16 //#include "Trace.hpp"
17 
18 namespace datatypes
19 {
20 
21 //
22 // Class that represents the structure of a field parameter of a scanner
23 //
24 class FieldParameter : public BasicData
25 {
26 public:
28  {
30  ECR_LOW = 1,
31  ECR_HIGH = 2,
33  };
34 
35  // These codes match the internal representation of the LD-MRS
37  {
42  };
43 
45  virtual ~FieldParameter();
46  virtual const UINT32 getUsedMemory() const;
48  INT32 getAngleScaleOffset() const;
49  double getDistScaleFactor() const;
50  double getDistScaleOffset() const;
51  FieldDescription* getField() const;
53  std::string getFieldTypeInternAsString() const;
54  void setAngleScaleFactor(UINT32 angleScaleFactor);
55  void setAngleScaleOffset(INT32 angleScaleOffset);
56  void setDistScaleFactor(double distScaleFactor);
57  void setDistScaleOffset(double distScaleOffset);
58  void setField(FieldDescription* field);
59 
61  const UINT16 getFieldNumber() const;
62  const bool isValid() const;
63 
64  void setFieldTypeIntern(UINT8 fieldTypeIntern);
66  const std::string & getComment() const;
67  const std::string & getFieldName() const;
68  void setComment(const std::string& comment);
69  void setFieldName(const std::string& fieldName);
70  UINT8 getVersionNumber() const;
73  void setLastKnownInfringementState(CaseResult lastKnownInfringementState);
74 
75  bool isLayerFilterEnabled() const;
76  void setEnableLayerFilter(bool enableLayerFilter);
78  void setLayerFilterBitmap(UINT8 layerFilterBitmap);
79 
80  bool empty() const
81  {
82  return !m_field;
83  }
84 
85  const Polygon2D & getPolygon() const
86  {
87  if (empty())
88  {
89  throw std::runtime_error("FieldDescription::getPolygon(): No field available.");
90  }
91  return m_field->getFieldAsPolygon();
92  }
93 
95 
96 
97 private:
98  // Header data (sensor specific)
106  std::string m_fieldName;
107  std::string m_comment;
112 };
113 
114 } // namespace datatypes
115 
116 #endif // FIELDPARAMETER_HPP
Polygon2D.hpp
UINT16
uint16_t UINT16
Definition: BasicDatatypes.hpp:27
UINT8
uint8_t UINT8
Definition: BasicDatatypes.hpp:29
datatypes::FieldParameter::setComment
void setComment(const std::string &comment)
Definition: FieldParameter.cpp:182
datatypes::FieldParameter::getLastKnownInfringementState
CaseResult getLastKnownInfringementState() const
Definition: FieldParameter.cpp:215
datatypes::FieldParameter::m_fieldName
std::string m_fieldName
Definition: FieldParameter.hpp:106
datatypes::FieldParameter::getVersionNumber
UINT8 getVersionNumber() const
Definition: FieldParameter.cpp:204
datatypes::FieldParameter::m_versionNumber
UINT8 m_versionNumber
Definition: FieldParameter.hpp:105
datatypes::FieldParameter::ECR_LOW
@ ECR_LOW
Definition: FieldParameter.hpp:30
datatypes::FieldParameter::getAngleScaleOffset
INT32 getAngleScaleOffset() const
Definition: FieldParameter.cpp:62
datatypes::FieldParameter::getFieldTypeIntern
FieldTypeIntern getFieldTypeIntern() const
Definition: FieldParameter.cpp:82
datatypes::FieldParameter::setAngleScaleFactor
void setAngleScaleFactor(UINT32 angleScaleFactor)
Definition: FieldParameter.cpp:110
datatypes::FieldDescription::FieldType
FieldType
Definition: FieldDescription.hpp:24
datatypes::FieldParameter::m_lastKnownInfringementState
CaseResult m_lastKnownInfringementState
Definition: FieldParameter.hpp:109
datatypes::FieldParameter::FieldTypeIntern_RADIAL
@ FieldTypeIntern_RADIAL
Definition: FieldParameter.hpp:38
datatypes::FieldDescription
Definition: FieldDescription.hpp:21
datatypes::FieldParameter::getLayerFilterBitmap
UINT8 getLayerFilterBitmap() const
Definition: FieldParameter.cpp:225
datatypes::FieldParameter::m_distScaleFactor
double m_distScaleFactor
conversion factor
Definition: FieldParameter.hpp:99
datatypes::FieldParameter::FieldTypeIntern
FieldTypeIntern
Definition: FieldParameter.hpp:36
datatypes::FieldParameter::setEnableLayerFilter
void setEnableLayerFilter(bool enableLayerFilter)
Definition: FieldParameter.cpp:235
datatypes::FieldParameter::m_fieldTypeIntern
FieldTypeIntern m_fieldTypeIntern
internal parameter: sensor specific
Definition: FieldParameter.hpp:103
datatypes::FieldParameter::FieldTypeIntern_RECTANGLE
@ FieldTypeIntern_RECTANGLE
Definition: FieldParameter.hpp:39
datatypes::BasicData
Definition: BasicDatatypes.hpp:95
datatypes::FieldParameter::getField
FieldDescription * getField() const
Definition: FieldParameter.cpp:77
INT32
int32_t INT32
Definition: BasicDatatypes.hpp:25
datatypes::FieldParameter::CaseResult
CaseResult
Definition: FieldParameter.hpp:27
datatypes::FieldParameter::m_field
FieldDescription * m_field
Definition: FieldParameter.hpp:108
datatypes::FieldParameter::setVersionNumber
void setVersionNumber(UINT8 m_versionNumber)
Definition: FieldParameter.cpp:209
datatypes::FieldParameter::m_fieldNumber
UINT16 m_fieldNumber
Definition: FieldParameter.hpp:104
datatypes::FieldParameter::setFieldName
void setFieldName(const std::string &fieldName)
Definition: FieldParameter.cpp:194
datatypes::FieldParameter::getDistScaleFactor
double getDistScaleFactor() const
Definition: FieldParameter.cpp:67
datatypes::FieldParameter::setFieldNumber
void setFieldNumber(UINT16 m_fieldNumber)
Definition: FieldParameter.cpp:135
datatypes::FieldParameter
Definition: FieldParameter.hpp:24
datatypes::FieldParameter::ECR_DONT_CARE
@ ECR_DONT_CARE
Definition: FieldParameter.hpp:29
datatypes::FieldParameter::FieldParameter
FieldParameter()
Definition: FieldParameter.cpp:15
datatypes::FieldParameter::getDistScaleOffset
double getDistScaleOffset() const
Definition: FieldParameter.cpp:72
datatypes::FieldDescription::getFieldAsPolygon
const Polygon2D & getFieldAsPolygon() const
Definition: FieldDescription.hpp:37
datatypes::FieldParameter::setFieldTypeIntern
void setFieldTypeIntern(UINT8 fieldTypeIntern)
Definition: FieldParameter.cpp:163
datatypes::FieldParameter::setDistScaleFactor
void setDistScaleFactor(double distScaleFactor)
Definition: FieldParameter.cpp:120
datatypes::FieldParameter::getUsedMemory
virtual const UINT32 getUsedMemory() const
Definition: FieldParameter.cpp:30
datatypes::FieldParameter::getFieldTypeInternAsString
std::string getFieldTypeInternAsString() const
Definition: FieldParameter.cpp:90
datatypes::FieldParameter::setLayerFilterBitmap
void setLayerFilterBitmap(UINT8 layerFilterBitmap)
Definition: FieldParameter.cpp:240
datatypes::FieldParameter::~FieldParameter
virtual ~FieldParameter()
Definition: FieldParameter.cpp:26
datatypes::FieldParameter::ECR_DETECTING
@ ECR_DETECTING
Definition: FieldParameter.hpp:32
datatypes::FieldParameter::getPolygon
const Polygon2D & getPolygon() const
Definition: FieldParameter.hpp:85
datatypes::FieldParameter::getFieldType
const FieldDescription::FieldType getFieldType() const
Definition: FieldParameter.cpp:249
datatypes::FieldParameter::m_enableLayerFilter
bool m_enableLayerFilter
Definition: FieldParameter.hpp:110
datatypes::FieldParameter::m_angleScaleFactor
UINT32 m_angleScaleFactor
internal parameter: sensor specific
Definition: FieldParameter.hpp:101
datatypes::FieldParameter::FieldTypeIntern_SEGMENTED
@ FieldTypeIntern_SEGMENTED
Definition: FieldParameter.hpp:40
datatypes::FieldParameter::setAngleScaleOffset
void setAngleScaleOffset(INT32 angleScaleOffset)
Definition: FieldParameter.cpp:115
datatypes::FieldParameter::getAngleScaleFactor
UINT32 getAngleScaleFactor() const
Definition: FieldParameter.cpp:57
datatypes::Polygon2D
A polygon of 2D-points.
Definition: Polygon2D.hpp:43
datatypes::FieldParameter::setField
void setField(FieldDescription *field)
Definition: FieldParameter.cpp:130
datatypes::FieldParameter::m_distScaleOffset
double m_distScaleOffset
[m]
Definition: FieldParameter.hpp:100
datatypes::FieldParameter::FieldTypeintern_DYNAMIC
@ FieldTypeintern_DYNAMIC
Definition: FieldParameter.hpp:41
datatypes::FieldParameter::setLastKnownInfringementState
void setLastKnownInfringementState(CaseResult lastKnownInfringementState)
Definition: FieldParameter.cpp:220
UINT32
uint32_t UINT32
Definition: BasicDatatypes.hpp:26
FieldDescription.hpp
datatypes::FieldParameter::isValid
const bool isValid() const
Definition: FieldParameter.cpp:45
datatypes::FieldParameter::m_comment
std::string m_comment
Definition: FieldParameter.hpp:107
datatypes::FieldParameter::getComment
const std::string & getComment() const
Definition: FieldParameter.cpp:169
datatypes::FieldParameter::setDistScaleOffset
void setDistScaleOffset(double distScaleOffset)
Definition: FieldParameter.cpp:125
datatypes::FieldParameter::isLayerFilterEnabled
bool isLayerFilterEnabled() const
Definition: FieldParameter.cpp:230
datatypes::FieldParameter::empty
bool empty() const
Definition: FieldParameter.hpp:80
datatypes::FieldParameter::m_angleScaleOffset
INT32 m_angleScaleOffset
internal parameter: sensor specific
Definition: FieldParameter.hpp:102
datatypes::FieldParameter::getFieldName
const std::string & getFieldName() const
Definition: FieldParameter.cpp:174
datatypes::FieldParameter::getFieldNumber
const UINT16 getFieldNumber() const
Definition: FieldParameter.cpp:277
datatypes
Definition: BasicDatatypes.hpp:91
datatypes::FieldParameter::ECR_HIGH
@ ECR_HIGH
Definition: FieldParameter.hpp:31
datatypes::FieldParameter::m_layerFilterBitmap
UINT8 m_layerFilterBitmap
Definition: FieldParameter.hpp:111


libsick_ldmrs
Author(s): SICK AG , Martin Günther , Jochen Sprickerhof
autogenerated on Wed Oct 26 2022 02:11:57