Go to the documentation of this file.
24 std::optional<simox::Color>
color {};
64 using ObjectPoseList = std::list<objpose::ObjectPose>;
68 ChangeKind kind = MOVE;
70 ObjectPoseList::iterator iterator {};
75 ObjectPoseList newPoses;
76 std::map<std::string, Change> changed;
88 simox::OrientedBoxf
box;
103 std::priority_queue<size_t, std::vector<size_t>, std::greater<>> unusedIDs;
104 struct PlaceholderEntry
106 Placeholder placeholder;
109 std::vector<PlaceholderEntry> placeholders;
138 void visualizeMemory();
139 void visualizeMeta();
149 static constexpr
const char* memoryLayerName =
"Memory";
150 static constexpr
const char* metaLayerName =
"Meta";
151 static constexpr
const char* lineString =
"---------------------------";
153 std::vector<std::string> placeholderOptions;
165 InteractionObserver observer;
169 ChangeState changes{
this};
170 PlaceholderState placeholders{
this};
172 bool isCommitRequired;
173 bool isUpdateRequired;
174 bool isResetRequired;
175 bool isMemoryVizRequired;
176 bool isMetaVizRequired;
179 friend PlaceholderState;
ChangeState(Editor *editor)
Editor(viz::Client &client, Properties properties, std::function< void(objpose::ProvidedObjectPoseSeq &)> pushToMemory, std::function< objpose::ObjectPoseSeq(void)> pullFromMemory)
std::vector< ObjectPose > ObjectPoseSeq
Eigen::Matrix4f transform
bool applyTo(objpose::ObjectPose &pose)
std::vector< std::string > options
void movePlaceholder(size_t id, Eigen::Matrix4f const &transform)
void addPlaceholder(simox::OrientedBoxf box)
Used to find objects in the ArmarX objects repository [1] (formerly [2]).
void Identity(MatrixXX< N, N, T > *a)
Eigen::Matrix4f transform
void resetObject(objpose::ObjectPose const &object)
void moveObject(objpose::ObjectPose const &object, Eigen::Matrix4f const &transform)
void createObject(std::string const &objectID, Eigen::Matrix4f const &pose)
PlaceholderState(Editor *editor)
std::vector< ProvidedObjectPose > ProvidedObjectPoseSeq
float const & confidenceThreshold
void deleteObject(objpose::ObjectPose const &object)
float const & objectScaling
Eigen::Matrix4f getTransform(objpose::ObjectPose const &object)
void moveNewObjectsTo(objpose::ObjectPoseSeq &seq)
MatrixXX< 4, 4, float > Matrix4f
std::optional< simox::Color > color
void specifyObject(size_t id, std::string const &objectID, ChangeState &changeState)
auto transform(const Container< InputT, Alloc > &in, OutputT(*func)(InputT const &)) -> Container< OutputT, typename std::allocator_traits< Alloc >::template rebind_alloc< OutputT > >
Convenience function (with less typing) to transform a container of type InputT into the same contain...
std::vector< data::ObjectID > const & availableObjects
void removePlaceholder(size_t id)
Layer layer(std::string const &name) const
void visualizeNewObjects()
std::optional< float > alpha
void cloneObject(objpose::ObjectPose const &object)
VisualizationDescription buildVisualizationDescription(objpose::ObjectPose &object)
void visualizePlaceholders()
This file offers overloads of toIce() and fromIce() functions for STL container types.
An object pose as stored by the ObjectPoseStorage.