diff --git a/source/RobotAPI/components/FamiliarObjectDetectionExample/FamiliarObjectDetectionExample.cpp b/source/RobotAPI/components/FamiliarObjectDetectionExample/FamiliarObjectDetectionExample.cpp index 08d848d49fd6ae7e791e093545f137d7e51e198a..e2f09c5f519d5959954e0ccd2d21e2f9aad0fdae 100644 --- a/source/RobotAPI/components/FamiliarObjectDetectionExample/FamiliarObjectDetectionExample.cpp +++ b/source/RobotAPI/components/FamiliarObjectDetectionExample/FamiliarObjectDetectionExample.cpp @@ -54,6 +54,10 @@ namespace armarx::familiar_objects FamiliarObjectDetectionExample::FamiliarObjectDetectionExample() { addPlugin(familiarObjectInstanceReaderPlugin); + + p.exemplaryFamiliarObjectID.dataset = "myDataset"; + p.exemplaryFamiliarObjectID.className = "sphere"; + p.exemplaryFamiliarObjectID.instanceName = "0"; } armarx::PropertyDefinitionsPtr @@ -63,6 +67,11 @@ namespace armarx::familiar_objects new ComponentPropertyDefinitions(getConfigIdentifier()); defs->required(p.robotName, "p.robotName"); + + defs->optional(p.exemplaryFamiliarObjectID.dataset, "p.objectId.dataset"); + defs->optional(p.exemplaryFamiliarObjectID.className, "p.objectId.className"); + defs->optional(p.exemplaryFamiliarObjectID.instanceName, "p.objectId.instanceName"); + defs->component(familiarObjectPoseStoragePrx, "ObjectMemory"); return defs; @@ -77,9 +86,7 @@ namespace armarx::familiar_objects void FamiliarObjectDetectionExample::onInitComponent() { - exemplaryFamiliarObjectID.dataset = "myDataset"; - exemplaryFamiliarObjectID.className = "sphere"; - exemplaryFamiliarObjectID.instanceName = "0"; + } void @@ -116,7 +123,7 @@ namespace armarx::familiar_objects // familiarObject.poseSensFrame.header.frame = "AzureKinect_RGB"; - familiarObject.objectID = exemplaryFamiliarObjectID; + familiarObject.objectID = p.exemplaryFamiliarObjectID; familiarObject.confidence = 1.0; @@ -240,7 +247,7 @@ namespace armarx::familiar_objects ARMARX_IMPORTANT << "Reading all instances of a specific class"; { armarx::ObjectID objectId; - fromAron(exemplaryFamiliarObjectID, objectId); + fromAron(p.exemplaryFamiliarObjectID, objectId); const auto instances = familiarObjectInstanceReader.queryLatestFamiliarObjectInstancesFromClass( @@ -263,7 +270,7 @@ namespace armarx::familiar_objects ARMARX_IMPORTANT << "Reading a specific instance"; { armarx::ObjectID objectId; - fromAron(exemplaryFamiliarObjectID, objectId); + fromAron(p.exemplaryFamiliarObjectID, objectId); const std::optional<std::map<std::string, armem::arondto::FamiliarObjectInstance>> instances = diff --git a/source/RobotAPI/components/FamiliarObjectDetectionExample/FamiliarObjectDetectionExample.h b/source/RobotAPI/components/FamiliarObjectDetectionExample/FamiliarObjectDetectionExample.h index 39a0e969f82d01f2fd3f154bfa37cd0820d895ef..a4b439116e2a1d84f74c82bf1e3fce64775005fa 100644 --- a/source/RobotAPI/components/FamiliarObjectDetectionExample/FamiliarObjectDetectionExample.h +++ b/source/RobotAPI/components/FamiliarObjectDetectionExample/FamiliarObjectDetectionExample.h @@ -64,6 +64,9 @@ namespace armarx::familiar_objects struct Properties { std::string robotName; + + armarx::arondto::ObjectID exemplaryFamiliarObjectID; + } p; // Writing familiar object instances to memory @@ -73,9 +76,6 @@ namespace armarx::familiar_objects std::experimental::observer_ptr<armem::client::plugins::ReaderWriterPlugin< armarx::armem::obj::familiar_object_instance::Reader>> familiarObjectInstanceReaderPlugin; - - - armarx::arondto::ObjectID exemplaryFamiliarObjectID; }; } // namespace armarx::familiar_objects