[DEV] update new ETK
This commit is contained in:
parent
5982126e82
commit
8ad226763b
@ -38,7 +38,7 @@ static float angleBetweenUnitVectors(const vec2& _vect1, const vec2& _vect2) {
|
|||||||
if (n < -1.0 || n > +1.0){
|
if (n < -1.0 || n > +1.0){
|
||||||
n = round(n*100000.0f)/100000.0f;
|
n = round(n*100000.0f)/100000.0f;
|
||||||
}
|
}
|
||||||
return std::acos(n); // arc cosine of the vector dot product
|
return etk::acos(n); // arc cosine of the vector dot product
|
||||||
}
|
}
|
||||||
|
|
||||||
static float pathDistance(const etk::Vector<vec2>& _path1, const etk::Vector<vec2>& _path2) {
|
static float pathDistance(const etk::Vector<vec2>& _path1, const etk::Vector<vec2>& _path2) {
|
||||||
@ -123,8 +123,8 @@ float dollar::EngineN::optimalCosineDistance(const etk::Vector<vec2>& _vect1, co
|
|||||||
DOLLAR_ERROR("devide by 0");
|
DOLLAR_ERROR("devide by 0");
|
||||||
return M_PI;
|
return M_PI;
|
||||||
}
|
}
|
||||||
float angle = std::atan(somCross / somDot);
|
float angle = etk::atan(somCross / somDot);
|
||||||
return std::acos(somDot * std::cos(angle) + somCross * std::sin(angle));
|
return etk::acos(somDot * etk::cos(angle) + somCross * etk::sin(angle));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -219,7 +219,7 @@ float dollar::EnginePPlus::calculatePPlusDistance(const etk::Vector<vec2>& _poin
|
|||||||
// now we add panality:
|
// now we add panality:
|
||||||
fullDistance += float(nbTestNotUsed)* m_penalityNotLinkSample;
|
fullDistance += float(nbTestNotUsed)* m_penalityNotLinkSample;
|
||||||
fullDistance += float(nbReferenceNotUsed)* m_penalityNotLinkRef;
|
fullDistance += float(nbReferenceNotUsed)* m_penalityNotLinkRef;
|
||||||
fullDistance += std::abs(_inputAspectRatio - _referenceAspectRatio)*m_penalityAspectRatio;
|
fullDistance += etk::abs(_inputAspectRatio - _referenceAspectRatio)*m_penalityAspectRatio;
|
||||||
|
|
||||||
|
|
||||||
for (size_t kkk=0; kkk<usedId.size(); ++kkk) {
|
for (size_t kkk=0; kkk<usedId.size(); ++kkk) {
|
||||||
@ -339,7 +339,7 @@ dollar::Results dollar::EnginePPlus::recognize2(const etk::Vector<etk::Vector<ve
|
|||||||
distance = calculatePPlusDistance(points, gesture->getEnginePoints(), dataPair, inputAspectRatio, gesture->getAspectRatio());
|
distance = calculatePPlusDistance(points, gesture->getEnginePoints(), dataPair, inputAspectRatio, gesture->getAspectRatio());
|
||||||
//distance = calculatePPlusDistanceSimple(points, gesture->getEnginePoints(), dataPair);
|
//distance = calculatePPlusDistanceSimple(points, gesture->getEnginePoints(), dataPair);
|
||||||
if (nbStrokeRef != nbStrokeSample) {
|
if (nbStrokeRef != nbStrokeSample) {
|
||||||
distance += 0.1f*float(std::abs(nbStrokeRef-nbStrokeSample));
|
distance += 0.1f*float(etk::abs(nbStrokeRef-nbStrokeSample));
|
||||||
}
|
}
|
||||||
//storeSVG("out_dollar/lib/recognizePPlus/" + gesture->getName() + "_" + etk::toString(gesture->getId()) + ".svg", gesture, _strokes, points, dataPair, m_scaleKeepRatio);
|
//storeSVG("out_dollar/lib/recognizePPlus/" + gesture->getName() + "_" + etk::toString(gesture->getId()) + ".svg", gesture, _strokes, points, dataPair, m_scaleKeepRatio);
|
||||||
for (size_t kkk=0; kkk<m_nbResult; ++kkk) {
|
for (size_t kkk=0; kkk<m_nbResult; ++kkk) {
|
||||||
|
@ -35,7 +35,7 @@ static etk::Vector<etk::Vector<vec2>> loadPointsJson(const ejson::Document& _doc
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
etk::Vector<etk::Vector<vec2>> dollar::loadPoints(const etk::String& _fileName, etk::String* _label, std::string* _type) {
|
etk::Vector<etk::Vector<vec2>> dollar::loadPoints(const etk::String& _fileName, etk::String* _label, etk::String* _type) {
|
||||||
ejson::Document doc;
|
ejson::Document doc;
|
||||||
doc.load(_fileName);
|
doc.load(_fileName);
|
||||||
if (_label != nullptr) {
|
if (_label != nullptr) {
|
||||||
|
@ -46,5 +46,5 @@ namespace dollar {
|
|||||||
* @brief Load all point from a specific file
|
* @brief Load all point from a specific file
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
etk::Vector<etk::Vector<vec2>> loadPoints(const etk::String& _fileName, etk::String* _label=nullptr, std::string* _type=nullptr);
|
etk::Vector<etk::Vector<vec2>> loadPoints(const etk::String& _fileName, etk::String* _label=nullptr, etk::String* _type=nullptr);
|
||||||
}
|
}
|
||||||
|
@ -32,8 +32,8 @@ vec2 dollar::getBaryCenter(const etk::Vector<vec2>& _points) {
|
|||||||
etk::Vector<vec2> dollar::rotateBy(const etk::Vector<vec2>& _points, float _rotation) {
|
etk::Vector<vec2> dollar::rotateBy(const etk::Vector<vec2>& _points, float _rotation) {
|
||||||
etk::Vector<vec2> out;
|
etk::Vector<vec2> out;
|
||||||
vec2 center = getBaryCenter(_points);
|
vec2 center = getBaryCenter(_points);
|
||||||
float cosine = std::cos(_rotation);
|
float cosine = etk::cos(_rotation);
|
||||||
float sine = std::sin(_rotation);
|
float sine = etk::sin(_rotation);
|
||||||
for (auto &it : _points) {
|
for (auto &it : _points) {
|
||||||
float qx = (it.x() - center.x()) * cosine - (it.y() - center.y()) * sine + center.x();
|
float qx = (it.x() - center.x()) * cosine - (it.y() - center.y()) * sine + center.x();
|
||||||
float qy = (it.x() - center.x()) * sine + (it.y() - center.y()) * cosine + center.y();
|
float qy = (it.x() - center.x()) * sine + (it.y() - center.y()) * cosine + center.y();
|
||||||
@ -44,7 +44,7 @@ etk::Vector<vec2> dollar::rotateBy(const etk::Vector<vec2>& _points, float _rota
|
|||||||
|
|
||||||
etk::Vector<vec2> dollar::rotateToZero(const etk::Vector<vec2>& _points) {
|
etk::Vector<vec2> dollar::rotateToZero(const etk::Vector<vec2>& _points) {
|
||||||
vec2 center = getBaryCenter(_points);
|
vec2 center = getBaryCenter(_points);
|
||||||
float rotation = std::atan2(center.y() - _points[0].y(), center.x() - _points[0].x());
|
float rotation = etk::atan2(center.y() - _points[0].y(), center.x() - _points[0].x());
|
||||||
return rotateBy(_points, -rotation);
|
return rotateBy(_points, -rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ def configure(target, my_module):
|
|||||||
'dollar',
|
'dollar',
|
||||||
'dollar-data',
|
'dollar-data',
|
||||||
'test-debug',
|
'test-debug',
|
||||||
'gtest',
|
'etest',
|
||||||
])
|
])
|
||||||
my_module.copy_path('data/test/*.json', 'test')
|
my_module.copy_path('data/test/*.json', 'test')
|
||||||
return True
|
return True
|
||||||
|
@ -9,14 +9,14 @@
|
|||||||
|
|
||||||
#include <etk/etk.hpp>
|
#include <etk/etk.hpp>
|
||||||
#include <test-debug/debug.hpp>
|
#include <test-debug/debug.hpp>
|
||||||
#include <gtest/gtest.h>
|
#include <etest/etest.hpp>
|
||||||
|
|
||||||
int main(int _argc, const char *_argv[]) {
|
int main(int _argc, const char *_argv[]) {
|
||||||
// init Google test :
|
// init Google test :
|
||||||
::testing::InitGoogleTest(&_argc, const_cast<char **>(_argv));
|
::testing::InitGoogleTest(&_argc, const_cast<char **>(_argv));
|
||||||
// init etk log system and file interface:
|
// init etk log system and file interface:
|
||||||
etk::init(_argc, _argv);
|
etk::init(_argc, _argv);
|
||||||
// Run all test with gtest
|
// Run all test with etest
|
||||||
return RUN_ALL_TESTS();
|
return RUN_ALL_TESTS();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ int main(int _argc, const char *_argv[]) {
|
|||||||
return testCorpus(srcCorpus);
|
return testCorpus(srcCorpus);
|
||||||
}
|
}
|
||||||
|
|
||||||
void generateFile(const etk::String& _fileName, const etk::Vector<etk::String>& _list, const std::string& _refName) {
|
void generateFile(const etk::String& _fileName, const etk::Vector<etk::String>& _list, const etk::String& _refName) {
|
||||||
TEST_PRINT(" " << _fileName);
|
TEST_PRINT(" " << _fileName);
|
||||||
etk::String data("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n");
|
etk::String data("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n");
|
||||||
data += "<svg height=\"100\" width=\"100\">\n";
|
data += "<svg height=\"100\" width=\"100\">\n";
|
||||||
|
@ -55,7 +55,7 @@ void appl::widget::TextAreaRecognition::setCompare(const etk::String& _compare)
|
|||||||
m_compare = _compare;
|
m_compare = _compare;
|
||||||
}
|
}
|
||||||
|
|
||||||
void appl::widget::TextAreaRecognition::store(const etk::String& _userName, const etk::String& _value, const std::string& _type) {
|
void appl::widget::TextAreaRecognition::store(const etk::String& _userName, const etk::String& _value, const etk::String& _type) {
|
||||||
if (m_dataList.size() == 0) {
|
if (m_dataList.size() == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ namespace appl {
|
|||||||
public:
|
public:
|
||||||
void clear();
|
void clear();
|
||||||
void undo();
|
void undo();
|
||||||
void store(const etk::String& _userName, const etk::String& _value, const std::string& _type);
|
void store(const etk::String& _userName, const etk::String& _value, const etk::String& _type);
|
||||||
void setCompare(const etk::String& _compare);
|
void setCompare(const etk::String& _compare);
|
||||||
public:
|
public:
|
||||||
void onDraw() override;
|
void onDraw() override;
|
||||||
|
@ -43,7 +43,7 @@ def configure(target, my_module):
|
|||||||
])
|
])
|
||||||
my_module.add_flag('c++', [
|
my_module.add_flag('c++', [
|
||||||
"-DPROJECT_NAME=\"\\\"" + my_module.get_name() + "\\\"\"",
|
"-DPROJECT_NAME=\"\\\"" + my_module.get_name() + "\\\"\"",
|
||||||
"-DAPPL_VERSION=\"\\\"" + tools.version_toString(get_version()) + "\\\"\""
|
"-DAPPL_VERSION=\"\\\"" + tools.version_to_string(get_version()) + "\\\"\""
|
||||||
])
|
])
|
||||||
my_module.add_path(".")
|
my_module.add_path(".")
|
||||||
my_module.set_pkg("VERSION_CODE", 1)
|
my_module.set_pkg("VERSION_CODE", 1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user