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 * Provides methods that returns features from the current robot installation.
15 */
17{
18public:
22
23 std::vector<FeaturePtr> getAll();
24
25 /**
26 * @return the geometric features of the current installation
27 */
28 /**
29 * @param clazz the sort of geometric feature of interest, e.g.
30 * <code>FeaturePoint.class</code>,
31 * <code>FeatureLine.class</code>,
32 * <code>FeaturePlane.class</code>
33 * @param <T> The Feature type
34 * @return the collection of the corresponding features
35 */
36 template <typename T>
37 std::vector<FeaturePtr> getGeomFeture();
38
39 FeaturePtr getByName(const std::string &name);
40
41 /**
42 * @return the base feature of the current installation.
43 */
44 FeaturePtr getBaseFeature();
45
46 /**
47 * @return the tool feature of the current installation.
48 */
49 FeaturePtr getToolFeature();
50
51 std::vector<FeaturePtr> getFeatures(std::function<bool(FeaturePtr)> filter);
52
53private:
54 friend class DataSwitch;
56 void *d_{ nullptr };
57};
58
59} // namespace aubo_scope
60} // namespace arcs
61
62#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)
std::vector< FeaturePtr > getFeatures(std::function< bool(FeaturePtr)> filter)
std::vector< FeaturePtr > getAll()
FeatureModel(FeatureModel &&f)
std::vector< FeaturePtr > getGeomFeture()