SimoxObjectShape.h
Go to the documentation of this file.
1#pragma once
2
3#include <VirtualRobot/VirtualRobot.h>
4
5#include <SemanticObjectRelations/Shapes/Shape.h>
6
7namespace armarx::semantic
8{
9
10 class SimoxObjectShape : public semrel::Shape
11 {
12 public:
14 SimoxObjectShape(const VirtualRobot::ManipulationObjectPtr& object,
15 const std::string& objectClassName);
16
17 // Shape interface
18 Eigen::Vector3f getPosition() const override;
19 void setPosition(Eigen::Vector3f const& position) override;
20
21 Eigen::Quaternionf getOrientation() const override;
22 void setOrientation(Eigen::Quaternionf const& orientation) override;
23
24 semrel::TriMesh getTriMeshLocal() const override;
25
26 semrel::AxisAlignedBoundingBox getAABBLocal() const override;
27 semrel::AxisAlignedBoundingBox getAABB() const override;
28
29 std::shared_ptr<btCollisionShape> getBulletCollisionShape(float margin) const override;
30
31 void addMargin(float margin) override;
32
33 std::string tagPrefix() const override;
34
35
36 public:
37 VirtualRobot::ManipulationObjectPtr object = nullptr;
38 std::string objectClassName = "";
39 std::string entityId = "";
40 };
41
42} // namespace armarx::semantic
void setOrientation(Eigen::Quaternionf const &orientation) override
semrel::AxisAlignedBoundingBox getAABB() const override
Eigen::Quaternionf getOrientation() const override
void addMargin(float margin) override
void setPosition(Eigen::Vector3f const &position) override
Eigen::Vector3f getPosition() const override
std::string tagPrefix() const override
semrel::AxisAlignedBoundingBox getAABBLocal() const override
semrel::TriMesh getTriMeshLocal() const override
std::shared_ptr< btCollisionShape > getBulletCollisionShape(float margin) const override
Quaternion< float, 0 > Quaternionf