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 
7 namespace 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 
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
armarx::semantic::SimoxObjectShape::setPosition
void setPosition(Eigen::Vector3f const &position) override
Definition: SimoxObjectShape.cpp:27
armarx::semantic::SimoxObjectShape::addMargin
void addMargin(float margin) override
Definition: SimoxObjectShape.cpp:118
armarx::semantic::SimoxObjectShape::setOrientation
void setOrientation(Eigen::Quaternionf const &orientation) override
Definition: SimoxObjectShape.cpp:41
armarx::semantic::SimoxObjectShape::getOrientation
Eigen::Quaternionf getOrientation() const override
Definition: SimoxObjectShape.cpp:35
armarx::semantic::SimoxObjectShape::getAABB
semrel::AxisAlignedBoundingBox getAABB() const override
Definition: SimoxObjectShape.cpp:96
armarx::semantic::SimoxObjectShape::getAABBLocal
semrel::AxisAlignedBoundingBox getAABBLocal() const override
Definition: SimoxObjectShape.cpp:88
armarx::aron::simox::arondto::AxisAlignedBoundingBox
::simox::arondto::AxisAlignedBoundingBox AxisAlignedBoundingBox
Definition: simox.h:14
armarx::semantic::SimoxObjectShape::getTriMeshLocal
semrel::TriMesh getTriMeshLocal() const override
Definition: SimoxObjectShape.cpp:49
armarx::semantic::SimoxObjectShape::objectClassName
std::string objectClassName
Definition: SimoxObjectShape.h:38
armarx::semantic::SimoxObjectShape::getPosition
Eigen::Vector3f getPosition() const override
Definition: SimoxObjectShape.cpp:21
armarx::semantic::SimoxObjectShape::tagPrefix
std::string tagPrefix() const override
Definition: SimoxObjectShape.cpp:125
armarx::semantic::SimoxObjectShape::entityId
std::string entityId
Definition: SimoxObjectShape.h:39
armarx::semantic::SimoxObjectShape::getBulletCollisionShape
std::shared_ptr< btCollisionShape > getBulletCollisionShape(float margin) const override
Definition: SimoxObjectShape.cpp:111
armarx::semantic
Definition: ShapesSupportRelations.cpp:32
armarx::semantic::SimoxObjectShape::SimoxObjectShape
SimoxObjectShape()
armarx::Quaternion< float, 0 >
armarx::semantic::SimoxObjectShape
Definition: SimoxObjectShape.h:10