Skip to content
Snippets Groups Projects
Commit 7931000b authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Add stateful API

parent 232514eb
No related branches found
No related tags found
No related merge requests found
......@@ -131,4 +131,37 @@ Mesh MeshConverter::toMujoco(const VirtualRobot::TriMeshModel& triMeshModel, flo
return fromVirtualRobot(triMeshModel, scaling);
}
MeshConverter::MeshConverter() = default;
float MeshConverter::getScaling() const
{
return scaling;
}
void MeshConverter::setScaling(float value)
{
this->scaling = value;
}
TriMeshModel MeshConverter::toVirtualRobot(const Mesh& mesh)
{
return toVirtualRobot(mesh, scaling);
}
TriMeshModelPtr MeshConverter::toVirtualRobotPtr(const Mesh& mesh)
{
return toVirtualRobotPtr(mesh, scaling);
}
Mesh MeshConverter::fromVirtualRobot(const TriMeshModel& triMeshModel)
{
return fromVirtualRobot(triMeshModel, scaling);
}
Mesh MeshConverter::toMujoco(const TriMeshModel& triMeshModel)
{
return toMujoco(triMeshModel, scaling);
}
}
......@@ -14,7 +14,9 @@ namespace VirtualRobot::mujoco
{
public:
// From mujoco::Mesh
// STATELESS API (static).
// From mujoco::Mesh to VirtualRobot::TriMeshModel
/// Construct a VirtualRobot::TriMeshModel from mujoco::Mesh.
static VirtualRobot::TriMeshModel toVirtualRobot(const mujoco::Mesh& mesh,
......@@ -23,7 +25,7 @@ namespace VirtualRobot::mujoco
float scaling = 1.0);
// To mujoco::Mesh
// To mujoco::Mesh (from VirtualRobot::TriMeshModel)
/// Construct mujoco::Mesh from a VirtualRobot::TriMeshModel.
static mujoco::Mesh fromVirtualRobot(const VirtualRobot::TriMeshModel& triMeshModel,
......@@ -33,10 +35,52 @@ namespace VirtualRobot::mujoco
static mujoco::Mesh toMujoco(const VirtualRobot::TriMeshModel& triMeshModel,
float scaling = 1.0);
public:
// STATEFUL API.
/// Constructor.
MeshConverter();
/// Set the scaling.
float getScaling() const;
/// Get the scaling.
void setScaling(float value);
// From mujoco::Mesh to VirtualRobot::TriMeshModel
/// Construct a VirtualRobot::TriMeshModel from mujoco::Mesh.
VirtualRobot::TriMeshModel toVirtualRobot(const mujoco::Mesh& mesh);
VirtualRobot::TriMeshModelPtr toVirtualRobotPtr(const mujoco::Mesh& mesh);
// To mujoco::Mesh (from VirtualRobot::TriMeshModel)
/// Construct mujoco::Mesh from a VirtualRobot::TriMeshModel.
mujoco::Mesh fromVirtualRobot(const VirtualRobot::TriMeshModel& triMeshModel);
/// Construct mujoco::Mesh from a VirtualRobot::TriMeshModel.
mujoco::Mesh toMujoco(const VirtualRobot::TriMeshModel& triMeshModel);
private:
/// Check whether the command `MESHLABSERVER` is available using `system("which ...")`.
static bool checkMeshlabserverAvailable();
/// Command used to convert mesh files to STL.
static const std::string MESHLABSERVER;
private:
/// Private constructor.
MeshConverter() = default;
/// The scaling.
float scaling = 1.0f;
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment