Builder.cpp
Go to the documentation of this file.
1 #include "Builder.h"
2 
4 {
5 
7  dataMode(dataMode), queryTarget(target)
8  {
9  }
10 
13  {
15  input.memoryQueries = buildMemoryQueries();
16  input.dataMode = dataMode;
17  return input;
18  }
19 
20  armem::query::data::Input
22  {
23  return buildQueryInput().toIce();
24  }
25 
26  armem::query::data::MemoryQuerySeq
28  {
29  armem::query::data::MemoryQuerySeq memoryQueries;
30  for (const CoreSegmentSelector& child : _children)
31  {
32  for (armem::query::data::MemoryQueryPtr& query : child.buildQueries())
33  {
34  toIce(query->target, queryTarget);
35  memoryQueries.push_back(query);
36  }
37  }
38  return memoryQueries;
39  }
40 
43  {
44  return _addChild();
45  }
46 
49  {
50  return _addChild(selector);
51  }
52 
53  void
55  {
57  }
58 
59  void
61  {
63  }
64 
65  void
67  {
68  coreSegments()
71  .all()
72  .entities()
73  .all()
74  .snapshots()
75  .all();
76  }
77 
78  void
80  {
81  coreSegments()
84  .all()
85  .entities()
86  .all()
87  .snapshots()
88  .latest();
89  }
90 
91  void
92  Builder::allInProviderSegment(const MemoryID& providerSegmentID)
93  {
94  coreSegments()
95  .withName(providerSegmentID.coreSegmentName)
97  .withName(providerSegmentID.providerSegmentName)
98  .entities()
99  .all()
100  .snapshots()
101  .all();
102  }
103 
104  void
106  {
107  coreSegments()
108  .withName(providerSegmentID.coreSegmentName)
110  .withName(providerSegmentID.providerSegmentName)
111  .entities()
112  .all()
113  .snapshots()
114  .latest();
115  }
116 
117  void
119  {
120  coreSegments()
121  .withName(entityID.coreSegmentName)
123  .withName(entityID.providerSegmentName)
124  .entities()
125  .withName(entityID.entityName)
126  .snapshots()
127  .all();
128  }
129 
130  void
132  {
133  coreSegments()
134  .withName(entityID.coreSegmentName)
136  .withName(entityID.providerSegmentName)
137  .entities()
138  .withName(entityID.entityName)
139  .snapshots()
140  .latest();
141  }
142 
143  void
145  {
146  coreSegments()
147  .withName(snapshotID.coreSegmentName)
149  .withName(snapshotID.providerSegmentName)
150  .entities()
151  .withName(snapshotID.entityName)
152  .snapshots()
153  .atTime(snapshotID.timestamp);
154  }
155 
156  void
157  Builder::multipleEntitySnapshots(const std::vector<MemoryID>& snapshotIDs)
158  {
159  for (const MemoryID& snapshotID : snapshotIDs)
160  {
161  singleEntitySnapshot(snapshotID);
162  }
163  }
164 
165 } // namespace armarx::armem::client::query
armarx::armem::client::query::EntitySelector::all
EntitySelector & all() override
Definition: selectors.cpp:104
armarx::armem::client::query::Builder::allLatestInCoreSegment
void allLatestInCoreSegment(const MemoryID &coreSegmentID)
Get latest snapshots from all entities in all provider segments in a core segment.
Definition: Builder.cpp:79
armarx::armem::MemoryID::timestamp
Time timestamp
Definition: MemoryID.h:54
armarx::navigation::graph::coreSegmentID
const armem::MemoryID coreSegmentID
Definition: constants.h:30
armarx::armem::client::query::Builder::allInCoreSegment
void allInCoreSegment(const MemoryID &coreSegmentID)
Get all snapshots from all entities in all provider segments in a core segment.
Definition: Builder.cpp:66
armarx::armem::client::query::SnapshotSelector::latest
SnapshotSelector & latest()
Definition: selectors.cpp:30
armarx::armem::client::query::ProviderSegmentSelector::entities
EntitySelector & entities()
Start specifying entities.
Definition: selectors.cpp:135
armarx::armem::client::query::Builder::allLatest
void allLatest()
Get all latest snapshots from entities in all segments.
Definition: Builder.cpp:60
armarx::armem::client::query::Builder::singleEntitySnapshot
void singleEntitySnapshot(const MemoryID &snapshotID)
Definition: Builder.cpp:144
armarx::armem::client::query::Builder::allEntitySnapshots
void allEntitySnapshots(const MemoryID &entityID)
Definition: Builder.cpp:118
armarx::armem::MemoryID::providerSegmentName
std::string providerSegmentName
Definition: MemoryID.h:52
armarx::armem::client::query::Builder::buildQueryInput
QueryInput buildQueryInput() const
Definition: Builder.cpp:12
armarx::armem::client::query::EntitySelector::snapshots
SnapshotSelector & snapshots()
Start specifying entity snapshots.
Definition: selectors.cpp:92
boost::target
Vertex target(const detail::edge_base< Directed, Vertex > &e, const PCG &)
Definition: point_cloud_graph.h:668
armarx::armem::client::query::SnapshotSelector::all
SnapshotSelector & all() override
Definition: selectors.cpp:22
armarx::armem::client::query::Builder::multipleEntitySnapshots
void multipleEntitySnapshots(const std::vector< MemoryID > &snapshotIDs)
Definition: Builder.cpp:157
armarx::armem::client::query::CoreSegmentSelector::all
CoreSegmentSelector & all() override
Definition: selectors.cpp:190
armarx::armem::client::query::Builder::latestEntitySnapshot
void latestEntitySnapshot(const MemoryID &entityID)
Definition: Builder.cpp:131
armarx::armem::MemoryID::coreSegmentName
std::string coreSegmentName
Definition: MemoryID.h:51
armarx::armem::client::query::Builder::dataMode
armem::query::DataMode dataMode
Definition: Builder.h:69
armarx::armem::client::query::Builder::buildQueryInputIce
armem::query::data::Input buildQueryInputIce() const
Definition: Builder.cpp:21
armarx::armem::client::query
Definition: forward_declarations.h:6
armarx::armem::MemoryID
A memory ID.
Definition: MemoryID.h:47
armarx::armem::query::DataMode
DataMode
Definition: DataMode.h:6
armarx::armem::client::query::Builder::coreSegments
CoreSegmentSelector & coreSegments()
Start specifying core segments.
Definition: Builder.cpp:42
armarx::armem::client::QueryInput
A query for parts of a memory.
Definition: Query.h:23
armarx::aron::input
ReaderT::InputType & input
Definition: rw.h:12
armarx::armem::client::query::CoreSegmentSelector::withName
CoreSegmentSelector & withName(const std::string &name) override
Definition: selectors.cpp:198
armarx::armem::client::query::Builder::allLatestInProviderSegment
void allLatestInProviderSegment(const MemoryID &providerSegmentID)
Get latest snapshots from all entities in a provider segment.
Definition: Builder.cpp:105
armarx::armem::MemoryID::entityName
std::string entityName
Definition: MemoryID.h:53
armarx::armem::client::query::Builder::queryTarget
armem::query::QueryTarget queryTarget
Definition: Builder.h:70
armarx::armem::client::query::EntitySelector::withName
EntitySelector & withName(const std::string &name) override
Definition: selectors.cpp:112
armarx::armem::client::query::ProviderSegmentSelector::withName
ProviderSegmentSelector & withName(const std::string &name) override
Definition: selectors.cpp:155
armarx::armem::client::query::SnapshotSelector::atTime
SnapshotSelector & atTime(Time timestamp)
Definition: selectors.cpp:38
armarx::armem::client::query::CoreSegmentSelector
Definition: selectors.h:118
Builder.h
armarx::armem::client::query::CoreSegmentSelector::providerSegments
ProviderSegmentSelector & providerSegments()
Start specifying provider segments.
Definition: selectors.cpp:178
armarx::armem::client::query::Builder::allInProviderSegment
void allInProviderSegment(const MemoryID &providerSegmentID)
Get all snapshots from all entities in a provider segment.
Definition: Builder.cpp:92
armarx::armem::client::query::Builder::all
void all()
Get all snapshots from all entities in all segments.
Definition: Builder.cpp:54
armarx::armem::client::query::ProviderSegmentSelector::all
ProviderSegmentSelector & all() override
Definition: selectors.cpp:147
armarx::armem::client::query::detail::ParentSelectorOps< Builder, CoreSegmentSelector >::_addChild
ChildT & _addChild()
Definition: SelectorOps.h:90
armarx::armem::query::QueryTarget
QueryTarget
Definition: QueryTarget.h:8
armarx::armem::client::query::Builder::buildMemoryQueries
armem::query::data::MemoryQuerySeq buildMemoryQueries() const
Definition: Builder.cpp:27
armarx::armem::client::QueryInput::toIce
armem::query::data::Input toIce() const
Definition: Query.cpp:20
armarx::armem::client::toIce
void toIce(armem::query::data::Input &ice, const QueryInput &input)
Definition: Query.cpp:49
armarx::armem::client::query::Builder::Builder
Builder(armem::query::DataMode dataMode=armem::query::DataMode::WithData, armem::query::QueryTarget target=armem::query::QueryTarget::WM)
Definition: Builder.cpp:6
armarx::armem::client::query::detail::ParentSelectorOps< Builder, CoreSegmentSelector >::_children
std::vector< ChildT > _children
Definition: SelectorOps.h:110