Avoid void* for the sake of forward declaration
This commit is contained in:
parent
a55e33824b
commit
281199e278
|
@ -155,23 +155,20 @@ private:
|
||||||
|
|
||||||
namespace nimagna {
|
namespace nimagna {
|
||||||
PoseTracking::PoseTracking(const char* calculatorGraphConfigFile) {
|
PoseTracking::PoseTracking(const char* calculatorGraphConfigFile) {
|
||||||
myInstance = new PoseTrackingImpl(calculatorGraphConfigFile);
|
mImplementation = new PoseTrackingImpl(calculatorGraphConfigFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PoseTracking::processFrame(const cv_wrapper::Mat& inputRGB8Bit) {
|
bool PoseTracking::processFrame(const cv_wrapper::Mat& inputRGB8Bit) {
|
||||||
auto* instance = static_cast<PoseTrackingImpl*>(myInstance);
|
|
||||||
const auto frame = cv::Mat(inputRGB8Bit.rows, inputRGB8Bit.cols, CV_8UC3, inputRGB8Bit.data);
|
const auto frame = cv::Mat(inputRGB8Bit.rows, inputRGB8Bit.cols, CV_8UC3, inputRGB8Bit.data);
|
||||||
return instance->processFrame(frame);
|
return mImplementation->processFrame(frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
cv_wrapper::Point3f* PoseTracking::lastDetectedLandmarks() {
|
cv_wrapper::Point3f* PoseTracking::lastDetectedLandmarks() {
|
||||||
auto* instance = static_cast<PoseTrackingImpl*>(myInstance);
|
return mImplementation->lastDetectedLandmarks();
|
||||||
return instance->lastDetectedLandmarks();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cv_wrapper::Mat PoseTracking::lastSegmentedFrame() {
|
cv_wrapper::Mat PoseTracking::lastSegmentedFrame() {
|
||||||
auto* instance = static_cast<PoseTrackingImpl*>(myInstance);
|
const cv::Mat result = mImplementation->lastSegmentedFrame();
|
||||||
const cv::Mat result = instance->lastSegmentedFrame();
|
|
||||||
|
|
||||||
return cv_wrapper::Mat(result.rows, result.cols, result.data);
|
return cv_wrapper::Mat(result.rows, result.cols, result.data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
#define DLLEXPORT __declspec(dllimport)
|
#define DLLEXPORT __declspec(dllimport)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
class PoseTrackingImpl;
|
||||||
|
|
||||||
namespace nimagna {
|
namespace nimagna {
|
||||||
namespace cv_wrapper {
|
namespace cv_wrapper {
|
||||||
struct Point2f {
|
struct Point2f {
|
||||||
|
@ -85,14 +87,14 @@ namespace nimagna {
|
||||||
};
|
};
|
||||||
|
|
||||||
PoseTracking(const char* calculatorGraphConfigFile);
|
PoseTracking(const char* calculatorGraphConfigFile);
|
||||||
~PoseTracking() { delete myInstance; }
|
~PoseTracking() { delete mImplementation; }
|
||||||
|
|
||||||
bool processFrame(const cv_wrapper::Mat& inputRGB8Bit);
|
bool processFrame(const cv_wrapper::Mat& inputRGB8Bit);
|
||||||
cv_wrapper::Mat lastSegmentedFrame();
|
cv_wrapper::Mat lastSegmentedFrame();
|
||||||
cv_wrapper::Point3f* lastDetectedLandmarks();
|
cv_wrapper::Point3f* lastDetectedLandmarks();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void* myInstance;
|
PoseTrackingImpl* mImplementation;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user