Go to the documentation of this file.
16 std::vector<std::unique_ptr<AbstractRobotElementDecorator>>
observers_;
33 tf2::Transform&
tf()
override {
return tf_;}
43 inline void setObservers(std::vector<std::unique_ptr<AbstractRobotElementDecorator>>& observer) {
44 for (
int i = 0; i < observer.size();i++){
std::vector< std::unique_ptr< AbstractRobotElementDecorator > > & observers()
Get observers.
bool inCollision(CetiRobot *R)
Collsion calculation.
void setObserverMask(int i)
std::vector< std::unique_ptr< AbstractRobotElementDecorator > > observers_
Wing shared pointers.
void setObservers(std::vector< std::unique_ptr< AbstractRobotElementDecorator >> &observer)
Set observers.
std::vector< tf2::Transform > bounds_
Bounds of table top surface.
void notify() override
Observer pattern.
std::bitset< 3 > observer_mask_
Bitmap to set observers.
void reset()
Resset all robot properties.
tf2::Transform root_tf_
Robot root on table top.
tf2::Transform & rootTf() override
Abstract Robot implementation.
CetiRobot(std::string &name, tf2::Transform tf, tf2::Vector3 size)
Ceti robot constructor.
std::bitset< 3 > observerMask()
tf2::Vector3 & size() override
std::vector< tf2::Transform > & bounds() override
bool checkSingleObjectCollision(tf2::Transform &obj, std::string &robot_element, std::bitset< 3 > &panel_mask) override
Collsion calculation for single objects.
tf2::Transform tf_
Pose of table.
std::string & name() override
std::vector< tf2::Transform > & robotRootBounds() override
tf2::Transform & tf() override
std::string name_
Name of robot.
tf2::Vector3 size_
Size of table.
std::vector< tf2::Transform > robot_root_bounds_
Bounds of robot arm as sub-region of table top.