Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
RobotAPI
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Container Registry
Model registry
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Software
ArmarX
RobotAPI
Commits
da3d9847
Commit
da3d9847
authored
3 years ago
by
Rainer Kartmann
Browse files
Options
Downloads
Patches
Plain Diff
Add documentation and include
parent
62942f3d
No related branches found
Branches containing commit
No related tags found
Tags containing commit
1 merge request
!225
Feature/object pose client extension
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.h
+57
-4
57 additions, 4 deletions
source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.h
with
57 additions
and
4 deletions
source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.h
+
57
−
4
View file @
da3d9847
#pragma once
#include
"RobotAPI/libraries/ArmarXObjects/ObjectID.h"
#include
<optional>
#include
<RobotAPI/interface/objectpose/ObjectPoseStorageInterface.h>
#include
<RobotAPI/libraries/ArmarXObjects/ObjectID.h>
#include
<RobotAPI/libraries/ArmarXObjects/ObjectFinder.h>
#include
<RobotAPI/libraries/ArmarXObjects/ObjectPose.h>
...
...
@@ -17,30 +19,81 @@ namespace armarx::objpose
{
public:
/// Construct a disconnected client.
ObjectPoseClient
();
ObjectPoseClient
(
const
ObjectPoseStorageInterfacePrx
&
objectPoseStorage
,
const
ObjectFinder
&
finder
=
{});
/// Construct a client and connect it to the object pose storage.
ObjectPoseClient
(
const
ObjectPoseStorageInterfacePrx
&
objectPoseStorage
,
const
ObjectFinder
&
finder
=
{}
);
/**
* @brief Connect to the given object pose storage.
*
* This function can be used after default-constructing the client.
*
* @param objectPoseStorage The object pose storage.
*/
void
connect
(
const
ObjectPoseStorageInterfacePrx
&
objectPoseStorage
);
/**
* @brief Indicate whether this client is connected to an object pose
* storage.
*
* That is, whether its proxy has been set via the constructor or
* `connect()`.
*
* If false, all `fetch*()` functions will return empty results.
*
* @return True if connected
*/
bool
isConnected
()
const
;
/**
* @brief Fetch all known object poses.
* @return The known object poses.
*/
ObjectPoseSeq
fetchObjectPoses
();
/**
* @brief Fetch all known object poses.
* @return The known object poses, with object ID as key.
*/
ObjectPoseMap
fetchObjectPosesAsMap
();
/**
* @brief Fetch the pose of a single object.
*
* This is a network call. If you need multiple object poses, use
* `fetchObjectPoses()` instead.
*
* @param objectID The object's ID.
* @return The object's pose, if known.
*/
std
::
optional
<
ObjectPose
>
fetchObjectPose
(
const
ObjectID
&
objectID
);
/**
* @brief Fetch object poses from a specific provider.
* @param providerName The provider's name.
* @return The object poses from that provider.
*/
ObjectPoseSeq
fetchObjectPosesFromProvider
(
const
std
::
string
&
providerName
);
/**
* @brief Get the object pose storage's proxy.
*/
const
ObjectPoseStorageInterfacePrx
&
getObjectPoseStorage
()
const
;
/**
* @brief Get the internal object finder.
*/
const
ObjectFinder
&
getObjectFinder
()
const
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment