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>
7
8namespace arcs {
9namespace aubo_scope {
10
12
13/**
14 * @ingroup ApplicationApi
15 * Provides methods that returns features from the current robot installation.
16 */
18{
19public:
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
69private:
70 friend class DataSwitch;
72 void *d_{ nullptr };
73};
74
75} // namespace aubo_scope
76} // namespace arcs
77
78#endif // AUBO_SCOPE_FEATURE_MODEL_H
#define ARCS_ABI_EXPORT
#define ARCS_CLASS_FORWARD(C)
Macro that forward declares a class and defines the respective smartpointers through ARCS_DECLARE_PTR...
Provides methods that returns features from the current robot installation.
FeaturePtr getByName(const std::string &name)
getByName
std::vector< FeaturePtr > getFeatures(std::function< bool(FeaturePtr)> filter)
getFeatures
std::vector< FeaturePtr > getAll()
FeatureModel(FeatureModel &&f)
std::vector< FeaturePtr > getGeomFeture()