Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
5beee98a
Commit
5beee98a
authored
4 years ago
by
Valentin Platzgummer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
temp
parent
67247b3b
Changes
30
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
575 additions
and
794 deletions
+575
-794
qgroundcontrol.pro
qgroundcontrol.pro
+3
-16
HashFunctions.h
src/MeasurementComplexItem/HashFunctions.h
+1
-1
IDArray.h
src/MeasurementComplexItem/IDArray.h
+4
-1
LogicalArray.h
src/MeasurementComplexItem/LogicalArray.h
+3
-0
NemoInterface.cpp
src/MeasurementComplexItem/NemoInterface.cpp
+253
-249
NemoInterface.h
src/MeasurementComplexItem/NemoInterface.h
+7
-1
TileArray.h
src/MeasurementComplexItem/TileArray.h
+2
-0
TilePtrArray.h
src/MeasurementComplexItem/TilePtrArray.h
+3
-0
Command.cpp
src/MeasurementComplexItem/nemo_interface/Command.cpp
+0
-9
Command.h
src/MeasurementComplexItem/nemo_interface/Command.h
+0
-30
CommandDispatcher.cpp
...asurementComplexItem/nemo_interface/CommandDispatcher.cpp
+4
-3
CommandDispatcher.h
...MeasurementComplexItem/nemo_interface/CommandDispatcher.h
+23
-3
MeasurementTile.cpp
...MeasurementComplexItem/nemo_interface/MeasurementTile.cpp
+5
-3
MeasurementTile.h
src/MeasurementComplexItem/nemo_interface/MeasurementTile.h
+5
-4
QNemoProgress.cc
src/MeasurementComplexItem/nemo_interface/QNemoProgress.cc
+0
-2
QNemoProgress.h
src/MeasurementComplexItem/nemo_interface/QNemoProgress.h
+0
-8
SnakeTileLocal.h
src/MeasurementComplexItem/nemo_interface/SnakeTileLocal.h
+0
-4
SnakeTiles.h
src/MeasurementComplexItem/nemo_interface/SnakeTiles.h
+0
-5
SnakeTilesLocal.h
src/MeasurementComplexItem/nemo_interface/SnakeTilesLocal.h
+0
-6
Task.cpp
src/MeasurementComplexItem/nemo_interface/Task.cpp
+11
-0
Task.h
src/MeasurementComplexItem/nemo_interface/Task.h
+33
-0
tileHelper.h
src/MeasurementComplexItem/nemo_interface/tileHelper.h
+57
-0
RosBridgeClient.cpp
src/comm/ros_bridge/include/RosBridgeClient.cpp
+2
-0
RosBridgeClient.h
src/comm/ros_bridge/include/RosBridgeClient.h
+92
-76
polygon_array.cpp
...e/include/messages/jsk_recognition_msgs/polygon_array.cpp
+0
-6
polygon_array.h
...dge/include/messages/jsk_recognition_msgs/polygon_array.h
+0
-328
heartbeat.h
src/comm/ros_bridge/include/messages/nemo_msgs/heartbeat.h
+27
-25
labeled_progress.h
.../ros_bridge/include/messages/nemo_msgs/labeled_progress.h
+2
-2
tile.cpp
src/comm/ros_bridge/include/messages/nemo_msgs/tile.cpp
+2
-3
tile.h
src/comm/ros_bridge/include/messages/nemo_msgs/tile.h
+36
-9
No files found.
qgroundcontrol.pro
View file @
5beee98a
...
...
@@ -453,8 +453,9 @@ HEADERS += \
src
/
MeasurementComplexItem
/
geometry
/
TileDiff
.
h
\
src
/
MeasurementComplexItem
/
geometry
/
geometry
.
h
\
src
/
MeasurementComplexItem
/
HashFunctions
.
h
\
src
/
MeasurementComplexItem
/
nemo_interface
/
Task
.
h
\
src
/
MeasurementComplexItem
/
nemo_interface
/
tileHelper
.
h
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
nemo_msgs
/
labeled_progress
.
h
\
src
/
MeasurementComplexItem
/
nemo_interface
/
Command
.
h
\
src
/
MeasurementComplexItem
/
nemo_interface
/
CommandDispatcher
.
h
\
src
/
MeasurementComplexItem
/
nemo_interface
/
MeasurementTile
.
h
\
src
/
QmlControls
/
QmlUnitsConversion
.
h
\
...
...
@@ -496,11 +497,6 @@ HEADERS += \
src
/
MeasurementComplexItem
/
geometry
/
GeoPoint3D
.
h
\
src
/
MeasurementComplexItem
/
NemoInterface
.
h
\
src
/
MeasurementComplexItem
/
nemo_interface
/
QNemoHeartbeat
.
h
\
src
/
MeasurementComplexItem
/
nemo_interface
/
QNemoProgress
.
h
\
src
/
MeasurementComplexItem
/
nemo_interface
/
QNemoProgress
.
h
\
src
/
MeasurementComplexItem
/
nemo_interface
/
SnakeTileLocal
.
h
\
src
/
MeasurementComplexItem
/
nemo_interface
/
SnakeTiles
.
h
\
src
/
MeasurementComplexItem
/
nemo_interface
/
SnakeTilesLocal
.
h
\
src
/
MeasurementComplexItem
/
call_once
.
h
\
src
/
api
/
QGCCorePlugin
.
h
\
src
/
api
/
QGCOptions
.
h
\
...
...
@@ -513,10 +509,6 @@ HEADERS += \
src
/
comm
/
ros_bridge
/
include
/
com_private
.
h
\
src
/
comm
/
ros_bridge
/
include
/
message_traits
.
h
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
geographic_msgs
/
geopoint
.
h
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
geometry_msgs
/
point32
.
h
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
geometry_msgs
/
polygon
.
h
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
geometry_msgs
/
polygon_stamped
.
h
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
jsk_recognition_msgs
/
polygon_array
.
h
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
nemo_msgs
/
heartbeat
.
h
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
nemo_msgs
/
tile
.
h
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
std_msgs
/
header
.
h
\
...
...
@@ -537,9 +529,9 @@ SOURCES += \
src
/
MeasurementComplexItem
/
geometry
/
SafeArea
.
cc
\
src
/
MeasurementComplexItem
/
geometry
/
geometry
.
cpp
\
src
/
MeasurementComplexItem
/
HashFunctions
.
cpp
\
src
/
MeasurementComplexItem
/
nemo_interface
/
Command
.
cpp
\
src
/
MeasurementComplexItem
/
nemo_interface
/
CommandDispatcher
.
cpp
\
src
/
MeasurementComplexItem
/
nemo_interface
/
MeasurementTile
.
cpp
\
src
/
MeasurementComplexItem
/
nemo_interface
/
Task
.
cpp
\
src
/
Vehicle
/
VehicleEscStatusFactGroup
.
cc
\
src
/
MeasurementComplexItem
/
AreaData
.
cc
\
src
/
api
/
QGCCorePlugin
.
cc
\
...
...
@@ -555,15 +547,10 @@ SOURCES += \
src
/
MeasurementComplexItem
/
geometry
/
clipper
/
clipper
.
cpp
\
src
/
MeasurementComplexItem
/
geometry
/
GeoPoint3D
.
cpp
\
src
/
MeasurementComplexItem
/
NemoInterface
.
cpp
\
src
/
MeasurementComplexItem
/
nemo_interface
/
QNemoProgress
.
cc
\
src
/
comm
/
QmlObjectListHelper
.
cpp
\
src
/
comm
/
ros_bridge
/
include
/
RosBridgeClient
.
cpp
\
src
/
comm
/
ros_bridge
/
include
/
com_private
.
cpp
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
geographic_msgs
/
geopoint
.
cpp
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
geometry_msgs
/
point32
.
cpp
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
geometry_msgs
/
polygon
.
cpp
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
geometry_msgs
/
polygon_stamped
.
cpp
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
jsk_recognition_msgs
/
polygon_array
.
cpp
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
nemo_msgs
/
heartbeat
.
cpp
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
nemo_msgs
/
labeled_progress
.
cpp
\
src
/
comm
/
ros_bridge
/
include
/
messages
/
nemo_msgs
/
tile
.
cpp
\
...
...
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/HashFunctions.h
View file @
5beee98a
...
...
@@ -11,7 +11,7 @@ namespace std {
template
<>
struct
hash
<
QGeoCoordinate
>
{
std
::
size_t
operator
()(
const
QGeoCoordinate
&
c
)
{
hash
<
double
>
h
;
return
h
(
c
.
latitude
())
^
h
(
c
.
longitude
())
^
h
(
c
.
altitude
()
);
return
h
(
c
.
latitude
())
^
(
h
(
c
.
longitude
())
<<
1
)
^
(
h
(
c
.
altitude
())
<<
2
);
}
};
...
...
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/IDArray.h
View file @
5beee98a
#ifndef IDARRAY_H
#define IDARRAY_H
typedef
QVector
<
long
>
IDArray
;
#include <QVector>
typedef
QVector
<
std
::
int64_t
>
IDArray
;
#endif // IDARRAY_H
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/LogicalArray.h
View file @
5beee98a
#ifndef LOGICALARRAY_H
#define LOGICALARRAY_H
#include <QVector>
typedef
QVector
<
bool
>
LogicalArray
;
#endif // LOGICALARRAY_H
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/NemoInterface.cpp
View file @
5beee98a
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/NemoInterface.h
View file @
5beee98a
...
...
@@ -37,6 +37,9 @@ public:
Q_PROPERTY
(
STATUS
status
READ
status
NOTIFY
statusChanged
)
Q_PROPERTY
(
QString
statusString
READ
statusString
NOTIFY
statusChanged
)
Q_PROPERTY
(
QString
infoString
READ
infoString
NOTIFY
infoStringChanged
)
Q_PROPERTY
(
QString
warningString
READ
warningString
NOTIFY
warningStringChanged
)
Q_PROPERTY
(
QString
editorQml
READ
editorQml
CONSTANT
)
Q_PROPERTY
(
bool
running
READ
running
NOTIFY
runningChanged
)
...
...
@@ -46,7 +49,6 @@ public:
Q_INVOKABLE
void
stop
();
// Tile editing.
void
addTiles
(
const
TilePtrArray
&
tileArray
);
void
addTiles
(
const
TileArray
&
tileArray
);
void
removeTiles
(
const
IDArray
&
idArray
);
void
clearTiles
();
...
...
@@ -63,10 +65,14 @@ public:
// Status.
STATUS
status
()
const
;
QString
statusString
()
const
;
QString
infoString
()
const
;
QString
warningString
()
const
;
bool
running
();
signals:
void
statusChanged
();
void
infoStringChanged
();
void
warningStringChanged
();
void
progressChanged
(
const
ProgressArray
&
progressArray
);
void
tilesChanged
();
void
runningChanged
();
...
...
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/TileArray.h
View file @
5beee98a
#ifndef TILEARRAY_H
#define TILEARRAY_H
#include "MeasurementTile.h"
typedef
QVector
<
MeasurementTile
>
TileArray
;
#endif // TILEARRAY_H
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/TilePtrArray.h
View file @
5beee98a
#ifndef TILEPTRARRAY_H
#define TILEPTRARRAY_H
#include "MeasurementTile.h"
typedef
QVector
<
MeasurementTile
*>
TilePtrArray
;
#endif // TILEPTRARRAY_H
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/Command.cpp
deleted
100644 → 0
View file @
67247b3b
#include "Command.h"
namespace
nemo_interface
{
Command
::
Command
(
Functor
onExec
)
:
_onExec
(
onExec
)
{}
QFuture
<
Command
::
ERROR
>
Command
::
exec
()
{
return
_onExec
();
}
}
// namespace nemo_interface
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/Command.h
deleted
100644 → 0
View file @
67247b3b
#ifndef COMMAND_H
#define COMMAND_H
#include <QFuture>
#include <functional>
namespace
nemo_interface
{
class
Command
{
public:
enum
class
ERROR
{
NO_ERROR
,
NETWORK_TIMEOUT
,
PARAMETER_ERROR
,
UNEXPECTED_SERVER_RESPONSE
};
typedef
QFuture
<
ERROR
>
ReturnType
;
typedef
std
::
function
<
ReturnType
()
>
Functor
;
Command
(
Functor
onExec
);
QFuture
<
ERROR
>
exec
();
private:
Functor
_onExec
;
};
}
// namespace nemo_interface
#endif // COMMAND_H
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/CommandDispatcher.cpp
View file @
5beee98a
#include "CommandDispatcher.h"
CommandDispatcher
::
CommandDispatcher
()
{
namespace
nemo_interface
{
}
CommandDispatcher
::
CommandDispatcher
()
{}
}
// namespace nemo_interface
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/CommandDispatcher.h
View file @
5beee98a
#ifndef COMMANDDISPATCHER_H
#define COMMANDDISPATCHER_H
#include <QThread>
#include <QVariant>
class
CommandDispatcher
{
#include "Task.h"
namespace
nemo_interface
{
class
CommandDispatcher
:
public
QThread
{
public:
CommandDispatcher
();
CommandDispatcher
();
bool
interruptionPoint
();
// thread safe
std
::
future
<
QVariant
>
dispatch
(
const
Task
&
c
);
// thread safe
std
::
future
<
QVariant
>
dispatchNext
(
const
Task
&
c
);
// thread safe
void
clear
();
// thread safe
void
stop
();
// thread safe
bool
running
();
// thread safe
private:
std
::
atomic_bool
_running
;
std
::
condition_variable
_condVar
;
QList
<
Task
>
_queue
;
std
::
mutex
_queueMutex
;
};
}
// namespace nemo_interface
#endif // COMMANDDISPATCHER_H
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/MeasurementTile.cpp
View file @
5beee98a
#include "MeasurementTile.h"
#
include
"MeasurementTile.h"
MeasurementTile
::
MeasurementTile
(
QObject
*
parent
)
:
GeoArea
(
parent
),
_progress
(
0
),
_id
(
0
)
{
...
...
@@ -33,15 +33,17 @@ void MeasurementTile::push_back(const QGeoCoordinate &c) {
void
MeasurementTile
::
init
()
{
this
->
setObjectName
(
"Tile"
);
}
u
int64_t
MeasurementTile
::
id
()
const
{
return
_id
;
}
int64_t
MeasurementTile
::
id
()
const
{
return
_id
;
}
void
MeasurementTile
::
setId
(
const
u
int64_t
&
id
)
{
void
MeasurementTile
::
setId
(
const
int64_t
&
id
)
{
if
(
_id
!=
id
)
{
_id
=
id
;
emit
idChanged
();
}
}
QList
<
QGeoCoordinate
>
MeasurementTile
::
tile
()
const
{
return
coordinateList
();
}
double
MeasurementTile
::
progress
()
const
{
return
_progress
;
}
void
MeasurementTile
::
setProgress
(
double
progress
)
{
...
...
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/MeasurementTile.h
View file @
5beee98a
...
...
@@ -14,7 +14,6 @@ public:
MeasurementTile
&
operator
=
(
const
MeasurementTile
&
other
);
Q_PROPERTY
(
double
progress
READ
progress
NOTIFY
progressChanged
)
Q_PROPERTY
(
long
id
READ
id
NOTIFY
idChanged
)
virtual
QString
mapVisualQML
()
const
override
;
virtual
QString
editorQML
()
const
override
;
...
...
@@ -25,8 +24,10 @@ public:
double
progress
()
const
;
void
setProgress
(
double
progress
);
uint64_t
id
()
const
;
void
setId
(
const
uint64_t
&
id
);
int64_t
id
()
const
;
void
setId
(
const
int64_t
&
id
);
QList
<
QGeoCoordinate
>
tile
()
const
;
signals:
void
progressChanged
();
...
...
@@ -35,5 +36,5 @@ signals:
private:
void
init
();
double
_progress
;
long
_id
;
int64_t
_id
;
};
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/QNemoProgress.cc
deleted
100644 → 0
View file @
67247b3b
#include "QNemoProgress.h"
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/QNemoProgress.h
deleted
100644 → 0
View file @
67247b3b
#pragma once
#include <QVector>
#include "ros_bridge/include/messages/nemo_msgs/progress.h"
namespace
nemo
=
ros_bridge
::
messages
::
nemo_msgs
;
typedef
nemo
::
progress
::
GenericProgress
<
int
,
QVector
>
QNemoProgress
;
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/SnakeTileLocal.h
deleted
100644 → 0
View file @
67247b3b
#pragma once
#include "geometry/GenericPolygon.h"
using
SnakeTileLocal
=
GenericPolygon
<
QPointF
,
std
::
vector
>
;
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/SnakeTiles.h
deleted
100644 → 0
View file @
67247b3b
#pragma once
#include "MeasurementTile.h"
#include "Wima/Geometry/GenericPolygonArray.h"
using
SnakeTiles
=
GenericPolygonArray
<
MeasurementTile
,
QVector
>
;
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/SnakeTilesLocal.h
deleted
100644 → 0
View file @
67247b3b
#pragma once
#include "MeasurementComplexItem//geometry/GenericPolygonArray.h"
#include "MeasurementComplexItem//nemo_interface/SnakeTileLocal.h"
#include <vector>
typedef
GenericPolygonArray
<
SnakeTileLocal
,
std
::
vector
>
SnakeTilesLocal
;
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/Task.cpp
0 → 100644
View file @
5beee98a
#include "Task.h"
namespace
nemo_interface
{
Task
::
Task
(
const
Task
::
Functor
&
onExec
)
:
_onExec
(
onExec
),
_isExpired
([]
{
return
false
;
}),
_isReady
([]
{
return
true
;
})
{}
void
Task
::
exec
(
std
::
promise
<
QVariant
>
p
)
{
this
->
_onExec
(
std
::
move
(
p
));
}
}
// namespace nemo_interface
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/Task.h
0 → 100644
View file @
5beee98a
#ifndef COMMAND_H
#define COMMAND_H
#include <functional>
#include <future>
#include <QVariant>
namespace
nemo_interface
{
class
Task
{
public:
typedef
std
::
function
<
void
(
std
::
promise
<
QVariant
>
p
)
>
Functor
;
typedef
std
::
function
<
bool
()
>
BooleanFunctor
;
Task
(
const
Functor
&
onExec
);
void
exec
(
std
::
promise
<
QVariant
>
p
);
bool
isReady
();
// default == true
bool
isExpired
();
// default == false
void
setOnExec
(
const
Functor
&
onExec
);
void
setIsReady
(
const
BooleanFunctor
&
isReady
);
void
setIsExpired
(
const
BooleanFunctor
&
isExpired
);
private:
Functor
_onExec
;
BooleanFunctor
_isExpired
;
BooleanFunctor
_isReady
;
};
}
// namespace nemo_interface
#endif // COMMAND_H
This diff is collapsed.
Click to expand it.
src/MeasurementComplexItem/nemo_interface/tileHelper.h
0 → 100644
View file @
5beee98a
#ifndef TILEHELPER_H
#define TILEHELPER_H
#include <iostream>
namespace
nemo_interface
{
namespace
coordinate
{
template
<
class
Coordinate
>
inline
std
::
int64_t
getHash
(
const
Coordinate
&
t
)
{
return
double
(
t
.
latitude
())
^
double
(
t
.
longitude
())
^
double
(
t
.
altitude
());
}
}
// namespace coordinate
namespace
coordinate_array
{
template
<
class
Container
>
inline
std
::
int64_t
getHash
(
const
Container
&
c
)
{
std
::
int64_t
hash
=
0
;
for
(
const
auto
&
entry
:
c
)
{
hash
^=
coordinate
::
getHash
(
entry
);
}
}
}
// namespace coordinate_array
namespace
tile
{
template
<
class
Tile
>
inline
std
::
int64_t
getHash
(
const
Tile
&
t
)
{
return
coordinate_array
::
getHash
(
t
.
tile
());
}
}
// namespace tile
namespace
tile_array
{
template
<
class
Container
>
inline
getHash
(
const
Container
&
c
)
{
std
::
int64_t
hash
=
0
;
for
(
const
auto
&
entry
:
c
)
{
hash
^=
tile
::
getHash
(
entry
);
}
}
}
// namespace tile_array
namespace
labeled_progress
{
template
<
class
LabeledProgress
>
inline
getHash
(
const
LabeledProgress
&
lp
)
{
return
std
::
int64_t
(
lp
.
id
())
^
double
(
lp
.
progress
());
}
namespace
progress_array
{
template
<
class
Container
>
inline
getHash
(
const
Container
&
c
)
{
std
::
int64_t
hash
=
0
;
for
(
const
auto
&
entry
:
c
)
{
hash
^=
labeled_progress
::
getHash
(
entry
);
}
}
}
// namespace progress_array
}
// namespace labeled_progress
}
// namespace nemo_interface
#endif // TILEHELPER_H
This diff is collapsed.
Click to expand it.
src/comm/ros_bridge/include/RosBridgeClient.cpp
View file @
5beee98a
...
...
@@ -302,6 +302,8 @@ void RosbridgeWsClient::run() {
});
}
bool
RosbridgeWsClient
::
running
()
{
return
!
this
->
stopped
->
load
();
}
void
RosbridgeWsClient
::
stop
()
{
if
(
stopped
->
load
())
return
;
...
...
This diff is collapsed.
Click to expand it.
src/comm/ros_bridge/include/RosBridgeClient.h
View file @
5beee98a
This diff is collapsed.
Click to expand it.
src/comm/ros_bridge/include/messages/jsk_recognition_msgs/polygon_array.cpp
deleted
100644 → 0
View file @
67247b3b
#include "polygon_array.h"
std
::
string
ros_bridge
::
messages
::
jsk_recognition_msgs
::
polygon_array
::
messageType
(){
return
"jsk_recognition_msgs/PolygonArray"
;
}
This diff is collapsed.
Click to expand it.
src/comm/ros_bridge/include/messages/jsk_recognition_msgs/polygon_array.h
deleted
100644 → 0
View file @
67247b3b
This diff is collapsed.
Click to expand it.
src/comm/ros_bridge/include/messages/nemo_msgs/heartbeat.h
View file @
5beee98a
...
...
@@ -5,46 +5,48 @@
namespace
ros_bridge
{
//! @brief Namespace containing classes and methodes ros message generation.
namespace
messages
{
//! @brief Namespace containing classes and methodes for geometry_msgs generation.
//! @brief Namespace containing classes and methodes for geometry_msgs
//! generation.
namespace
nemo_msgs
{
//! @brief Namespace containing methodes for geometry_msgs/GeoPoint message generation.
//! @brief Namespace containing methodes for geometry_msgs/GeoPoint message
//! generation.
namespace
heartbeat
{
std
::
string
messageType
();
//! @brief C++ representation of nemo_msgs/Heartbeat message
class
Heartbeat
{
class
Heartbeat
{
public:
Heartbeat
()
:
_status
(
0
){}
Heartbeat
(
int
status
)
:
_status
(
status
){}
Heartbeat
(
const
Heartbeat
&
heartbeat
)
:
_status
(
heartbeat
.
status
()){}
Heartbeat
()
:
_status
(
0
)
{}
Heartbeat
(
int
status
)
:
_status
(
status
)
{}
Heartbeat
(
const
Heartbeat
&
heartbeat
)
:
_status
(
heartbeat
.
status
())
{}
bool
operator
==
(
const
Heartbeat
&
hb
)
{
return
hb
.
_status
==
this
->
_status
;
}
bool
operator
!=
(
const
Heartbeat
&
hb
)
{
return
!
operator
==
(
hb
);
}
virtual
int
status
(
void
)
const
{
return
_status
;
}
virtual
void
setStatus
(
int
status
)
{
_status
=
status
;
}
virtual
int
status
(
void
)
const
{
return
_status
;}
virtual
void
setStatus
(
int
status
)
{
_status
=
status
;}
protected:
int
_status
;
int
_status
;
};
template
<
class
HeartbeatType
>
bool
toJson
(
const
HeartbeatType
&
heartbeat
,
rapidjson
::
Value
&
value
,
rapidjson
::
Document
::
AllocatorType
&
allocator
)
{
value
.
AddMember
(
"status"
,
std
::
int32_t
(
heartbeat
.
status
()),
allocator
);
return
true
;
bool
toJson
(
const
HeartbeatType
&
heartbeat
,
rapidjson
::
Value
&
value
,
rapidjson
::
Document
::
AllocatorType
&
allocator
)
{
value
.
AddMember
(
"status"
,
std
::
int32_t
(
heartbeat
.
status
()),
allocator
);
return
true
;
}
template
<
class
HeartbeatType
>
bool
fromJson
(
const
rapidjson
::
Value
&
value
,
HeartbeatType
&
heartbeat
)
{
if
(
!
value
.
HasMember
(
"status"
)
||
!
value
[
"status"
].
IsInt
()){
assert
(
false
);
return
false
;
}
heartbeat
.
setStatus
(
value
[
"status"
].
GetInt
());
return
true
;
bool
fromJson
(
const
rapidjson
::
Value
&
value
,
HeartbeatType
&
heartbeat
)
{
if
(
!
value
.
HasMember
(
"status"
)
||
!
value
[
"status"
].
IsInt
())
{
assert
(
false
);
return
false
;
}
heartbeat
.
setStatus
(
value
[
"status"
].
GetInt
());
return
true
;
}
}
// namespace heartbeat
...
...
This diff is collapsed.
Click to expand it.
src/comm/ros_bridge/include/messages/nemo_msgs/labeled_progress.h
View file @
5beee98a
...
...
@@ -41,8 +41,8 @@ protected:
template
<
class
LabeledProgressType
>
bool
toJson
(
const
LabeledProgressType
&
lp
,
rapidjson
::
Value
&
value
,
rapidjson
::
Document
::
AllocatorType
&
allocator
)
{
value
.
AddMember
(
idKey
,
l
b
.
id
(),
allocator
);
value
.
AddMember
(
progressKey
,
l
b
.
progress
(),
allocator
);
value
.
AddMember
(
idKey
,
l
p
.
id
(),
allocator
);
value
.
AddMember
(
progressKey
,
l
p
.
progress
(),
allocator
);
return
true
;
}
...
...
This diff is collapsed.
Click to expand it.
src/comm/ros_bridge/include/messages/nemo_msgs/tile.cpp
View file @
5beee98a
#include "tile.h"
tile
::
tile
()
{
std
::
string
ros_bridge
::
messages
::
nemo_msgs
::
tile
::
messageType
()
{
return
"nemo_msgs/Tile"
;
}
This diff is collapsed.
Click to expand it.
src/comm/ros_bridge/include/messages/nemo_msgs/tile.h
View file @
5beee98a
...
...
@@ -13,7 +13,7 @@ namespace messages {
namespace
nemo_msgs
{
//! @brief Namespace containing methodes for nemo_msgs/tile message
//! generation.
namespace
labeled_progress
{
namespace
tile
{
std
::
string
messageType
();
...
...
@@ -24,7 +24,8 @@ const char *tileKey = "tile";
}
// namespace
//! @brief C++ representation of nemo_msgs/tile message
template
<
class
GeoPoint
,
template
<
class
,
class
>
class
Container
=
std
::
vector
>
template
<
class
GeoPoint
=
geographic_msgs
::
geo_point
::
GeoPoint
,
template
<
class
,
class
...
>
class
Container
=
std
::
vector
>
class
GenericTile
{
public:
typedef
Container
<
GeoPoint
>
GeoContainer
;
...
...
@@ -52,25 +53,30 @@ typedef GenericTile<> Tile;
template
<
class
TileType
>
bool
toJson
(
const
TileType
&
tile
,
rapidjson
::
Value
&
value
,
rapidjson
::
Document
::
AllocatorType
&
allocator
)
{
value
.
AddMember
(
idKey
,
tile
.
id
(),
allocator
);
value
.
AddMember
(
progressKey
,
tile
.
progress
(),
allocator
);
using
namespace
rapidjson
;
value
.
AddMember
(
Value
(
idKey
,
allocator
),
Value
(
tile
.
id
()),
allocator
);
value
.
AddMember
(
Value
(
progressKey
,
allocator
),
Value
(
tile
.
progress
()),
allocator
);
using
namespace
messages
::
geographic_msgs
;
rapidjson
::
Value
geoPoints
(
rapidjson
::
kArrayType
);
for
(
unsigned
long
i
=
0
;
i
<
std
::
uint64_t
(
tile
.
tile
().
size
());
++
i
)
{
rapidjson
::
Document
geoPoint
(
rapidjson
::
kObjectType
);
rapidjson
::
Value
geoPoint
(
rapidjson
::
kObjectType
);
if
(
!
geo_point
::
toJson
(
tile
.
tile
()[
i
],
geoPoint
,
allocator
))
{
return
false
;
}
geoPoints
.
PushBack
(
geoPoint
,
allocator
);
}
value
.
AddMember
(
tileKey
,
geoPoints
,
allocator
);
rapidjson
::
Value
key
(
tileKey
,
allocator
);
value
.
AddMember
(
key
,
geoPoints
,
allocator
);
return
true
;
}
template
<
class
Progress
Type
>
bool
fromJson
(
const
rapidjson
::
Value
&
value
,
Progress
Type
&
p
)
{
template
<
class
Tile
Type
>
bool
fromJson
(
const
rapidjson
::
Value
&
value
,
Tile
Type
&
p
)
{
if
(
!
value
.
HasMember
(
progressKey
)
||
!
value
[
progressKey
].
IsDouble
())
{
return
false
;
}
...
...
@@ -79,13 +85,34 @@ bool fromJson(const rapidjson::Value &value, ProgressType &p) {
return
false
;
}
if
(
!
value
.
HasMember
(
tileKey
)
||
!
value
[
tileKey
].
IsArray
())
{
return
false
;
}
p
.
setId
(
value
[
idKey
].
GetInt
());
p
.
setProgress
(
value
[
progressKey
].
GetDouble
());
using
namespace
geographic_msgs
;
const
auto
&
jsonArray
=
value
[
tileKey
].
GetArray
();
p
.
tile
().
clear
();
p
.
tile
().
reserve
(
jsonArray
.
Size
());
typedef
decltype
(
p
.
tile
()[
0
])
PointTypeCVR
;
typedef
typename
std
::
remove_cv_t
<
typename
std
::
remove_reference_t
<
PointTypeCVR
>>
PointType
;
for
(
long
i
=
0
;
i
<
jsonArray
.
Size
();
++
i
)
{
PointType
pt
;
if
(
!
geo_point
::
fromJson
(
jsonArray
[
i
],
pt
))
{
return
false
;
}
p
.
tile
().
push_back
(
std
::
move
(
pt
));
}
return
true
;
}
}
// namespace
labeled_progress
}
// namespace
tile
}
// namespace nemo_msgs
}
// namespace messages
}
// namespace ros_bridge
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment