TVM  0.9.4
ConvexHull.h
Go to the documentation of this file.
1 
3 #pragma once
4 
5 #include <tvm/robot/Frame.h>
6 
7 #include <sch/CD/CD_Pair.h>
8 #include <sch/S_Object/S_Object.h>
9 
10 namespace tvm
11 {
12 
13 namespace robot
14 {
15 
23 class TVM_DLLAPI ConvexHull : public graph::abstract::Node<ConvexHull>
24 {
25 public:
28 
29 
38  ConvexHull(std::shared_ptr<sch::S_Object> o, FramePtr f, const sva::PTransformd & X_f_o);
39 
51  ConvexHull(const std::string & path, FramePtr f, const sva::PTransformd & X_f_o);
52 
54  sch::CD_Pair makePair(const ConvexHull & hull) const;
55 
57  const Frame & frame() const;
58 
60  Frame & frame();
61 
62 private:
63  std::shared_ptr<sch::S_Object> o_;
64  FramePtr f_;
65  sva::PTransformd X_f_o_;
66 
67  void updatePosition();
68 };
69 
70 using ConvexHullPtr = std::shared_ptr<ConvexHull>;
71 
72 } // namespace robot
73 
74 } // namespace tvm
#define SET_UPDATES(SelfT,...)
Definition: AbstractNode.h:138
#define SET_OUTPUTS(SelfT,...)
Definition: Outputs.h:113
#define TVM_DLLAPI
Definition: api.h:35
Definition: Node.h:27
Definition: ConvexHull.h:24
Definition: Frame.h:32
Definition: probe.h:44
std::shared_ptr< Frame > FramePtr
Definition: Frame.h:99
std::shared_ptr< ConvexHull > ConvexHullPtr
Definition: ConvexHull.h:70
Definition: Clock.h:12