GraspCandidateWriter.h
Go to the documentation of this file.
1#pragma once
2
3#include <mutex>
4
6
7#include <RobotAPI/interface/units/GraspCandidateProviderInterface.h>
10
11namespace armarx::armem
12{
14 {
15 public:
17
18 void connect(armem::client::MemoryNameSystem& memoryNameSystem);
19
21
22 bool commitGraspCandidate(const armarx::grasping::GraspCandidate& candidate,
24 const std::string& provider);
25 bool commitBimanualGraspCandidate(const armarx::grasping::BimanualGraspCandidate& candidate,
27 const std::string& provider);
28
29 bool commitGraspCandidateSeq(const armarx::grasping::GraspCandidateSeq& candidates,
31 const std::string& provider);
33 const armarx::grasping::BimanualGraspCandidateSeq& candidates,
35 const std::string& provider);
36
37
38 private:
39 bool commitToMemory(const std::vector<armarx::aron::data::DictPtr>& instances,
40 const std::string& providerName,
41 const std::string& entityName,
43 const std::string& coreMemoryName);
44
45 armem::client::Writer memoryWriter;
46
47 struct Properties
48 {
49 std::string memoryName = "Grasp";
50 std::string graspMemoryName = "GraspCandidate";
51 std::string bimanualGraspMemoryName = "BimanualGraspCandidate";
52 } properties;
53
54 std::mutex memoryWriterMutex;
55
56 const std::string propertyPrefix = "mem.grasping.";
57 };
58
59
60} // namespace armarx::armem
std::string timestamp()
bool commitBimanualGraspCandidateSeq(const armarx::grasping::BimanualGraspCandidateSeq &candidates, const armem::Time &timestamp, const std::string &provider)
void connect(armem::client::MemoryNameSystem &memoryNameSystem)
bool commitBimanualGraspCandidate(const armarx::grasping::BimanualGraspCandidate &candidate, const armem::Time &timestamp, const std::string &provider)
bool commitGraspCandidate(const armarx::grasping::GraspCandidate &candidate, const armem::Time &timestamp, const std::string &provider)
bool commitGraspCandidateSeq(const armarx::grasping::GraspCandidateSeq &candidates, const armem::Time &timestamp, const std::string &provider)
void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr &def)
The memory name system (MNS) client.
Helps a memory client sending data to a memory.
Definition Writer.h:23
armarx::core::time::DateTime Time
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.