ObjectInstanceToIndex.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @package RobotAPI::ArmarXObjects::RobotAndObjectToIndex
17  * @author Rainer Kartmann ( rainer dot kartmann at kit dot edu )
18  * @date 2022
19  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20  * GNU General Public License
21  */
22 
23 #pragma once
24 
25 #include <vector>
26 
28 
32 
33 
34 namespace armarx::armem::objects
35 {
36 
38  {
39  public:
41  const std::vector<armem::MemoryID>& updatedObjectInstanceSnapshotIDs);
42 
43  private:
44  std::vector<const objpose::ObjectPose*>
45  filterObjectPoses(const objpose::ObjectPoseSeq& objectPoses,
46  const std::vector<armem::MemoryID>& updatedObjectInstanceSnapshotIDs);
47 
48  public:
51 
54 
55 
56  struct Parameters
57  {
59  };
61 
62  struct State
63  {
64  std::map<armarx::ObjectID, armarx::DateTime> latestUpdateDateTimes;
65  };
67  };
68 
69 } // namespace armarx::armem::objects
armarx::armem::objects::ObjectInstanceToIndex::indexSpatialProviderSegmentID
armem::MemoryID indexSpatialProviderSegmentID
Definition: ObjectInstanceToIndex.h:52
Writer.h
armarx::objpose::ObjectPoseSeq
std::vector< ObjectPose > ObjectPoseSeq
Definition: forward_declarations.h:20
armarx::armem::objects::ObjectInstanceToIndex::Parameters::maxFrequency
armarx::Frequency maxFrequency
Definition: ObjectInstanceToIndex.h:58
armarx::armem::objects::ObjectInstanceToIndex::params
Parameters params
Definition: ObjectInstanceToIndex.h:60
MemoryID.h
Frequency.h
armarx::core::time::Frequency
Represents a frequency.
Definition: Frequency.h:17
armarx::armem::objects::ObjectInstanceToIndex::State
Definition: ObjectInstanceToIndex.h:62
armarx::objpose::ObjectPoseClient
Provides access to the armarx::objpose::ObjectPoseStorageInterface (aka the object memory).
Definition: ObjectPoseClient.h:18
armarx::armem::objects::ObjectInstanceToIndex::fetchAndCommitObjectInstances
void fetchAndCommitObjectInstances(const std::vector< armem::MemoryID > &updatedObjectInstanceSnapshotIDs)
Definition: ObjectInstanceToIndex.cpp:40
armarx::armem::MemoryID
A memory ID.
Definition: MemoryID.h:47
armarx::core::time::Frequency::HertzDouble
static Frequency HertzDouble(double hertz)
Definition: Frequency.cpp:34
armarx::armem::objects::ObjectInstanceToIndex::state
State state
Definition: ObjectInstanceToIndex.h:66
ObjectPoseClient.h
armarx::armem::client::Writer
Helps a memory client sending data to a memory.
Definition: Writer.h:22
armarx::armem::objects::ObjectInstanceToIndex::indexNamedProviderSegmentID
armem::MemoryID indexNamedProviderSegmentID
Definition: ObjectInstanceToIndex.h:53
armarx::armem::objects
Definition: ObjectInstanceToIndex.cpp:36
armarx::armem::objects::ObjectInstanceToIndex
Definition: ObjectInstanceToIndex.h:37
armarx::armem::objects::ObjectInstanceToIndex::indexSpatialMemoryWriter
armem::client::Writer indexSpatialMemoryWriter
Definition: ObjectInstanceToIndex.h:50
armarx::armem::objects::ObjectInstanceToIndex::objectPoseClient
objpose::ObjectPoseClient objectPoseClient
Definition: ObjectInstanceToIndex.h:49
armarx::armem::objects::ObjectInstanceToIndex::State::latestUpdateDateTimes
std::map< armarx::ObjectID, armarx::DateTime > latestUpdateDateTimes
Definition: ObjectInstanceToIndex.h:64
armarx::armem::objects::ObjectInstanceToIndex::Parameters
Definition: ObjectInstanceToIndex.h:56