AuboStudio SDK 0.6.3

feature_model.h
浏览该文件的文档.
1 #ifndef AUBO_SCOPE_FEATURE_MODEL_H
2 #define AUBO_SCOPE_FEATURE_MODEL_H
3
4 #include <vector>
5 #include <functional>
6 #include <aubo_caps/domain/feature/feature.h>
7
8 namespace arcs {
9 namespace aubo_scope {
10
11 ARCS_CLASS_FORWARD(FeatureModel);
12
13 /**
14 * @defgroup FeatureModel FeatureModel
15 * Provides methods that returns features from the current robot installation.
16 */
17 class ARCS_ABI_EXPORT FeatureModel
18 {
19 public:
20 FeatureModel(FeatureModel &f);
21 FeatureModel(FeatureModel &&f);
22 ~FeatureModel();
23
24 std::vector<FeaturePtr> getAll();
25
26 /**
27 * @ingroup FeatureModel
28 * @return the geometric features of the current installation
29 */
30 /**
31 * @param clazz the sort of geometric feature of interest, e.g.
32 * <code>FeaturePoint.class</code>,
33 * <code>FeatureLine.class</code>,
34 * <code>FeaturePlane.class</code>
35 * @param <T> The Feature type
36 * @return the collection of the corresponding features
37 */
38 template <typename T>
39 std::vector<FeaturePtr> getGeomFeture();
40
41 /**
42 * @ingroup FeatureModel
43 * @brief getByName
44 * @param name
45 * @return
46 */
47 FeaturePtr getByName(const std::string &name);
48
49 /**
50 * @ingroup FeatureModel
51 * @return the base feature of the current installation.
52 */
53 FeaturePtr getBaseFeature();
54
55 /**
56 * @ingroup FeatureModel
57 * @return the tool feature of the current installation.
58 */
59 FeaturePtr getToolFeature();
60
61 /**
62 * @ingroup FeatureModel
63 * @brief getFeatures
64 * @param filter
65 * @return
66 */
67 std::vector<FeaturePtr> getFeatures(std::function<bool(FeaturePtr)> filter);
68
69 private:
70 friend class DataSwitch;
71 FeatureModel();
72 void *d_{ nullptr };
73 };
74
75 } // namespace aubo_scope
76 } // namespace arcs
77
78 #endif // AUBO_SCOPE_FEATURE_MODEL_H
ARCS_ABI_EXPORT
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16
arcs::aubo_scope::FeatureModel
Definition: feature_model.h:18
arcs::aubo_scope::FeatureModel::~FeatureModel
~FeatureModel()
arcs::aubo_scope::FeatureModel::FeatureModel
FeatureModel(FeatureModel &f)
arcs::aubo_scope::FeatureModel::getAll
std::vector< FeaturePtr > getAll()
arcs::aubo_scope::FeatureModel::FeatureModel
FeatureModel(FeatureModel &&f)
arcs::aubo_scope::FeatureModel::FeatureModel
FeatureModel()
feature.h
arcs::aubo_scope::FeatureModel::getByName
FeaturePtr getByName(const std::string &name)
getByName
arcs::aubo_scope::FeatureModel::getBaseFeature
FeaturePtr getBaseFeature()
arcs::aubo_scope::FeatureModel::getGeomFeture
std::vector< FeaturePtr > getGeomFeture()
arcs::aubo_scope::FeatureModel::getToolFeature
FeaturePtr getToolFeature()
arcs::aubo_scope::FeatureModel::getFeatures
std::vector< FeaturePtr > getFeatures(std::function< bool(FeaturePtr)> filter)
getFeatures
arcs::aubo_scope::ARCS_CLASS_FORWARD
ARCS_CLASS_FORWARD(GripForceCapability)
arcs
Definition: contribution_provider.h:7