47 lines
2.3 KiB
C
47 lines
2.3 KiB
C
|
|
#pragma once
|
||
|
|
#include "CommonTypes.h"
|
||
|
|
#include "profiler/Profiler.h"
|
||
|
|
#include "api_global.h"
|
||
|
|
namespace mmind {
|
||
|
|
namespace eye {
|
||
|
|
/**
|
||
|
|
* @brief Obtains the rigid body transformations of the custom reference frame of a laser profiler.
|
||
|
|
* The custom reference frame can be adjusted using the "Custom Reference Frame" tool in Mech-Eye
|
||
|
|
* Viewer. The rigid body transformations are automatically calculated after the settings in this
|
||
|
|
* tool have been applied. The "Custom Reference Frame" tool is recommended as the GUI allows you to
|
||
|
|
* adjust the reference frame easily and conveniently.
|
||
|
|
* Alternatively, you can use the rotation and translation methods in @ref FrameTransformation to
|
||
|
|
* define the transformations manually.
|
||
|
|
* @param [in] profiler The @ref profiler handle.
|
||
|
|
* @return The rigid body transformations from the laser profiler reference frame to the custom
|
||
|
|
* reference frame. Refer to @ref FrameTransformation for more details.
|
||
|
|
*/
|
||
|
|
MMIND_API_EXPORT FrameTransformation getTransformationParams(Profiler& profiler);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief Transforms the reference frame of a point cloud.
|
||
|
|
* @param [in] coordinateTransformation The rigid body transformations from the original reference
|
||
|
|
* frame to the new reference frame. Refer to @ref FrameTransformation for more details.
|
||
|
|
* @param [in] originalPointCloud The @ref ProfileBatch::UntexturedPointCloud whose reference frame
|
||
|
|
* is to be transformed.
|
||
|
|
* @return The @ref ProfileBatch::UntexturedPointCloud after reference frame transformation.
|
||
|
|
*/
|
||
|
|
MMIND_API_EXPORT ProfileBatch::UntexturedPointCloud transformPointCloud(
|
||
|
|
const FrameTransformation& coordinateTransformation,
|
||
|
|
const ProfileBatch::UntexturedPointCloud& originalPointCloud);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief Transforms the reference frame of a textured point cloud.
|
||
|
|
* @param [in] coordinateTransformation The rigid body transformations from the original reference
|
||
|
|
* frame to the new reference frame. Refer to @ref FrameTransformation for more details.
|
||
|
|
* @param [in] originalTexturedPointCloud The @ref TexturedPointCloud whose reference frame is to be
|
||
|
|
* transformed.
|
||
|
|
* @return The @ref TexturedPointCloud after reference frame transformation.
|
||
|
|
*/
|
||
|
|
MMIND_API_EXPORT ProfileBatch::TexturedPointCloud transformTexturedPointCloud(
|
||
|
|
const FrameTransformation& coordinateTransformation,
|
||
|
|
const ProfileBatch::TexturedPointCloud& originalTexturedPointCloud);
|
||
|
|
|
||
|
|
} // namespace eye
|
||
|
|
} // namespace mmind
|