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 
8 namespace armarx::semantic
9 {
10 
11  class SimoxObjectShape : public semrel::Shape
12  {
13  public:
14 
16  SimoxObjectShape(const VirtualRobot::ManipulationObjectPtr& object,
17  const std::string& objectClassName);
18 
19  // Shape interface
20  Eigen::Vector3f getPosition() const override;
21  void setPosition(Eigen::Vector3f const& position) override;
22 
23  Eigen::Quaternionf getOrientation() const override;
24  void setOrientation(Eigen::Quaternionf const& orientation) override;
25 
26  semrel::TriMesh getTriMeshLocal() const override;
27 
29  semrel::AxisAlignedBoundingBox getAABB() const override;
30 
31  std::shared_ptr<btCollisionShape> getBulletCollisionShape(float margin) const override;
32 
33  void addMargin(float margin) override;
34 
35  std::string tagPrefix() const override;
36 
37 
38  public:
39 
40  VirtualRobot::ManipulationObjectPtr object = nullptr;
41  std::string objectClassName = "";
42  std::string entityId = "";
43 
44  };
45 
46 }
armarx::semantic::SimoxObjectShape::setPosition
void setPosition(Eigen::Vector3f const &position) override
Definition: SimoxObjectShape.cpp:26
armarx::semantic::SimoxObjectShape::addMargin
void addMargin(float margin) override
Definition: SimoxObjectShape.cpp:110
armarx::semantic::SimoxObjectShape::setOrientation
void setOrientation(Eigen::Quaternionf const &orientation) override
Definition: SimoxObjectShape.cpp:38
armarx::semantic::SimoxObjectShape::getOrientation
Eigen::Quaternionf getOrientation() const override
Definition: SimoxObjectShape.cpp:33
armarx::semantic::SimoxObjectShape::getAABB
semrel::AxisAlignedBoundingBox getAABB() const override
Definition: SimoxObjectShape.cpp:91
armarx::semantic::SimoxObjectShape::getAABBLocal
semrel::AxisAlignedBoundingBox getAABBLocal() const override
Definition: SimoxObjectShape.cpp:84
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:45
armarx::semantic::SimoxObjectShape::objectClassName
std::string objectClassName
Definition: SimoxObjectShape.h:41
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:116
armarx::semantic::SimoxObjectShape::entityId
std::string entityId
Definition: SimoxObjectShape.h:42
armarx::semantic::SimoxObjectShape::getBulletCollisionShape
std::shared_ptr< btCollisionShape > getBulletCollisionShape(float margin) const override
Definition: SimoxObjectShape.cpp:104
armarx::semantic
Definition: ShapesSupportRelations.cpp:32
armarx::semantic::SimoxObjectShape::SimoxObjectShape
SimoxObjectShape()
armarx::Quaternion< float, 0 >
armarx::semantic::SimoxObjectShape
Definition: SimoxObjectShape.h:11