4#include <unordered_map>
6#include <VirtualRobot/VirtualRobot.h>
7#include <VirtualRobot/XML/ObjectIO.h>
26 using path = std::filesystem::path;
45 std::optional<ObjectInfo>
findObject(
const std::string& dataset,
46 const std::string& name)
const;
47 std::optional<ObjectInfo>
findObject(
const std::string& nameOrID)
const;
54 std::vector<ObjectInfo>
findAllObjects(
bool checkPaths =
true)
const;
55 std::map<std::string, std::vector<ObjectInfo>>
58 bool checkPaths =
true)
const;
60 std::vector<armem::articulated_object::ArticulatedObjectDescription>
62 std::vector<armem::articulated_object::ArticulatedObjectDescription>
64 std::unordered_map<std::string,
65 std::vector<armem::articulated_object::ArticulatedObjectDescription>>
69 const std::optional<ObjectInfo>& ts,
70 VirtualRobot::ObjectIO::ObjectDescription loadMode =
71 VirtualRobot::ObjectIO::ObjectDescription::eFull);
72 VirtualRobot::ManipulationObjectPtr
74 VirtualRobot::ObjectIO::ObjectDescription loadMode =
75 VirtualRobot::ObjectIO::ObjectDescription::eFull)
const;
77 VirtualRobot::ObstaclePtr
static loadObstacle(
const std::optional<ObjectInfo>& ts);
92 bool includeClassName =
false)
const;
104 bool includeClassName =
false)
const;
111 bool isDatasetDirValid(
const std::filesystem::path&
path)
const;
113 path _rootDirAbs()
const;
114 path _rootDirRel()
const;
121 mutable std::string packageName;
127 mutable path absPackageDataDir;
134 bool logObjectDiscoveryError =
true;
std::vector< path > getDatasetDirectories() const
std::vector< std::string > loadSpokenNames(const ObjectID &objectID, bool includeClassName=false) const
Load names to use when verbalizing an object name.
ObjectFinder(const std::string &objectsPackageName=DefaultObjectsPackageName, const path &relObjectsDir=DefaultObjectsDirectory)
std::vector< std::string > getDatasets() const
ObjectFinder & operator=(ObjectFinder &&)=default
static VirtualRobot::ObstaclePtr loadObstacle(const std::optional< ObjectInfo > &ts)
std::vector< std::string > loadRecognizedNames(const ObjectID &objectID, bool includeClassName=false) const
Load names to use when matched when recognizing an object by name.
std::vector< ObjectInfo > findAllObjects(bool checkPaths=true) const
std::unordered_map< std::string, std::vector< armem::articulated_object::ArticulatedObjectDescription > > findAllArticulatedObjectsByDataset(bool checkPaths=true) const
std::string getPackageName() const
ObjectFinder(ObjectFinder &&)=default
void setPath(const std::string &path)
std::filesystem::path path
static VirtualRobot::ManipulationObjectPtr loadManipulationObject(const std::optional< ObjectInfo > &ts, VirtualRobot::ObjectIO::ObjectDescription loadMode=VirtualRobot::ObjectIO::ObjectDescription::eFull)
std::vector< armem::articulated_object::ArticulatedObjectDescription > findAllArticulatedObjects(bool checkPaths) const
std::vector< armem::articulated_object::ArticulatedObjectDescription > findAllArticulatedObjectsOfDataset(const std::string &dataset, bool checkPaths) const
void setLogObjectDiscoveryError(bool logEnabled)
std::vector< ObjectInfo > findAllObjectsOfDataset(const std::string &dataset, bool checkPaths=true) const
ObjectFinder(const ObjectFinder &)=default
static const std::string DefaultObjectsPackageName
static const std::string DefaultObjectsDirectory
std::map< std::string, std::vector< ObjectInfo > > findAllObjectsByDataset(bool checkPaths=true) const
std::optional< ObjectInfo > findObject(const std::string &dataset, const std::string &name) const
ObjectFinder & operator=(const ObjectFinder &)=default
A known object ID of the form "Dataset/ClassName" or "Dataset/ClassName/InstanceName".
This file offers overloads of toIce() and fromIce() functions for STL container types.
An object pose as stored by the ObjectPoseStorage.