Go to the documentation of this file.
28 #include <Eigen/Eigen>
30 #include <IceUtil/IceUtil.h>
35 #include <RobotAPI/interface/visualization/DebugDrawerInterface.h>
38 #include <VisionX/interface/components/AffordancePipelineVisualization.h>
39 #include <VisionX/interface/components/PointCloudSegmenter.h>
42 #include <AffordanceKit/primitives/Box.h>
43 #include <AffordanceKit/primitives/Cylinder.h>
44 #include <AffordanceKit/primitives/Plane.h>
45 #include <AffordanceKit/primitives/Sphere.h>
47 #include <MemoryX/interface/components/WorkingMemoryInterface.h>
64 defineOptionalProperty<std::string>(
65 "WorkingMemoryName",
"WorkingMemory",
"Name of WorkingMemory component");
66 defineOptionalProperty<std::string>(
67 "DebugDrawerTopicName",
"DebugDrawerUpdates",
"The name of the debug drawer topic");
68 defineOptionalProperty<std::string>(
"DebugDrawerSelectionsTopicName",
69 "DebugDrawerSelections",
70 "The name of the debug drawer topic");
71 defineOptionalProperty<std::string>(
72 "VisualizationUpdateTopicName",
73 "AffordanceVisualizationTopic",
74 "Topic under which visualization updates are reported");
75 defineOptionalProperty<bool>(
"EnableDebugDrawerSelections",
77 "Allow users to select primitives via debug drawer");
79 defineOptionalProperty<bool>(
80 "EnablePrimitiveVisualization",
true,
"Initially enable primitive visualization");
81 defineOptionalProperty<bool>(
82 "EnableAffordanceVisualization",
true,
"Initially enable affordance visualization");
83 defineOptionalProperty<bool>(
84 "EnableDebugVisualization",
false,
"Initially enable debug visualization");
86 defineOptionalProperty<std::string>(
87 "VisualizeAffordanceBeliefFunction",
89 "The affordance belief function that should initially be visualized");
90 defineOptionalProperty<float>(
91 "MinExpectedProbability",
93 "Visualize only samplings with expected probability greater than X");
95 defineOptionalProperty<bool>(
96 "NoAffordanceExtractionConfigured",
98 "In this case visualization will start as soon as primitives are computed");
100 defineOptionalProperty<std::string>(
101 "FileName",
"",
"Load affordances from a file name and exit.");
114 virtual public AffordancePipelineVisualizationInterface
125 return "AffordancePipelineVisualization";
132 const Ice::Current&
c = Ice::emptyCurrent)
override;
134 const Ice::Current&
c = Ice::emptyCurrent)
override;
138 bool enableAffordances,
139 bool enableDebugInformation,
140 const Ice::Current&
c = Ice::emptyCurrent)
override;
142 const std::vector<std::string>& primitives,
143 const std::vector<std::string>& affordances,
144 float minExpectedProbability,
145 const Ice::Current&
c = Ice::emptyCurrent)
override;
149 const Ice::Current&
c = Ice::emptyCurrent)
override;
151 const Ice::Current&
c = Ice::emptyCurrent)
override;
157 const ::Ice::Current& = Ice::emptyCurrent)
override;
186 bool updatePrimitives =
true,
187 bool updateAffordances =
true,
188 bool updateDebugInfo =
true);
193 const AffordanceKit::PrimitivePtr& primitve,
196 const std::vector<std::string>& labels);
205 void visualize(
bool updatePrimitives =
true,
206 bool updateAffordances =
true,
207 bool updateDebugInfo =
true);
void reportSelectionChanged(const DebugDrawerSelectionList &selectedObjects, const ::Ice::Current &=Ice::emptyCurrent) override
void visualizePrimitive(const AffordanceKit::PrimitivePtr &primitive)
AffordanceVisualizationStyle visualizationStyle
void configureAffordanceVisualization(AffordanceVisualizationStyle style, const std::vector< std::string > &primitives, const std::vector< std::string > &affordances, float minExpectedProbability, const Ice::Current &c=Ice::emptyCurrent) override
DrawColor primitiveColorFrame
std::set< std::string > selections
PropertyDefinitionsPtr createPropertyDefinitions() override
void selectPrimitive(const std::string &id, const Ice::Current &c=Ice::emptyCurrent) override
void visualizeAffordance(const AffordanceKit::AffordancePtr &affordance, const AffordanceKit::PrimitivePtr &primitve, unsigned int index)
void deselectPrimitive(const std::string &id, const Ice::Current &c=Ice::emptyCurrent) override
memoryx::EnvironmentalPrimitiveSegmentBasePrx environmentalPrimitiveSegment
void onDisconnectComponent() override
AffordancePipelineVisualizationListenerPrx affordanceVisualizationTopicPrx
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
void deselectAllPrimitives(const Ice::Current &c=Ice::emptyCurrent) override
IceInternal::Handle< Affordance > AffordancePtr
void enableVisualization(bool enablePrimitives, bool enableAffordances, bool enableDebugInformation, const Ice::Current &c=Ice::emptyCurrent) override
bool debugVisualizationEnabled
memoryx::AffordanceSegmentBasePrx affordanceSegment
std::shared_ptr< Scene > ScenePtr
std::vector< std::string > visualizationAffordanceSet
std::map< int, std::list< std::string > > labelMap
AffordanceKitArmarX::SceneArmarXPtr scene
void exportVisualizationAsJSON(const std::string &filename, const Ice::Current &c=Ice::emptyCurrent) override
DebugDrawerInterfacePrx debugDrawerTopicPrx
void onExitComponent() override
void visualizeDebugInformation(const AffordanceKit::ScenePtr &scene)
void exportVisualizationAsIV(const std::string &filename, const Ice::Current &c=Ice::emptyCurrent) override
void reportNewAffordances(const Ice::Current &c=Ice::emptyCurrent) override
void visualizeSphere(const AffordanceKit::SpherePtr &sphere)
void visualizeAffordanceLabels(const AffordanceKit::PrimitivePtr &primitive, const std::vector< std::string > &labels)
memoryx::WorkingMemoryInterfacePrx workingMemoryPrx
AffordancePipelineVisualization()
void reportNewPointCloudSegmentation(const Ice::Current &c=Ice::emptyCurrent) override
AffordancePipelineVisualizationPropertyDefinitions(std::string prefix)
void visualizeScene(const AffordanceKit::ScenePtr &scene, bool updatePrimitives=true, bool updateAffordances=true, bool updateDebugInfo=true)
void visualizePrimitives(const AffordanceKit::PrimitiveSetPtr &primitives)
std::string getDefaultName() const override
Baseclass for all ArmarX ManagedIceObjects requiring properties.
void clearVisualization(const Ice::Current &c=Ice::emptyCurrent) override
void visualizePlane(const AffordanceKit::PlanePtr &plane)
void visualizeCylinder(const AffordanceKit::CylinderPtr &cylinder)
Default component property definition container.
void triggerVisualization(const Ice::Current &c=Ice::emptyCurrent) override
bool primitiveVisualizationEnabled
void visualizeAffordances(const AffordanceKit::ScenePtr &scene)
std::shared_ptr< SceneArmarX > SceneArmarXPtr
void onInitComponent() override
DrawColor affordanceLabelColor
float visualizationMinExpectedProbability
void onConnectComponent() override
void visualize(bool updatePrimitives=true, bool updateAffordances=true, bool updateDebugInfo=true)
std::vector< std::string > visualizationPrimitiveSet
void visualizeBox(const AffordanceKit::BoxPtr &box)
This file offers overloads of toIce() and fromIce() functions for STL container types.
bool affordanceVisualizationEnabled