Skip to content

Commit a17e92c

Browse files
Fix sin/cos and small values display (#1631)
* Fix printing very small values for printTextBlock * Use degrees for sin and cos in block's programming instead of radians * Fix sin/cos generation for python and js on trik * Fix printTextBlock for trik too
1 parent 683154d commit a17e92c

File tree

7 files changed

+12
-8
lines changed

7 files changed

+12
-8
lines changed

plugins/robots/common/trikKit/src/blocks/details/trikPrintTextBlock.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ void TrikPrintTextBlock::doJob(kitBase::robotModel::robotParts::Display &display
3030
const int x = eval<int>("XCoordinateText");
3131
const int y = eval<int>("YCoordinateText");
3232
const int fontSize = eval<int>("FontSize");
33-
const QString result = boolProperty("Evaluate") ? eval<QString>("PrintText") : stringProperty("PrintText");
33+
const QString result = boolProperty("Evaluate")
34+
? QString::number(QString::number(eval<qreal>("PrintText"), 'f', 6).toDouble())
35+
: stringProperty("PrintText");
3436
const bool redraw = boolProperty("Redraw");
3537

3638
if (!errorsOccured()) {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
math.cos(@@ARGUMENT@@)
1+
math.cos(@@ARGUMENT@@*pi/180)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
math.sin(@@ARGUMENT@@)
1+
math.sin(@@ARGUMENT@@*pi/180)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Math.cos(@@ARGUMENT@@)
1+
Math.cos(@@ARGUMENT@@*pi/180)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Math.sin(@@ARGUMENT@@)
1+
Math.sin(@@ARGUMENT@@*pi/180)

plugins/robots/interpreters/interpreterCore/src/coreBlocks/details/printTextBlock.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ void PrintTextBlock::doJob(kitBase::robotModel::robotParts::Display &display)
2828
{
2929
const int x = eval<int>("XCoordinateText");
3030
const int y = eval<int>("YCoordinateText");
31-
const QString result = boolProperty("Evaluate") ? eval<QString>("PrintText") : stringProperty("PrintText");
31+
const QString result = boolProperty("Evaluate")
32+
? QString::number(QString::number(eval<qreal>("PrintText"), 'f', 6).toDouble())
33+
: stringProperty("PrintText");
3234
const bool redraw = boolProperty("Redraw");
3335

3436
if (!errorsOccured()) {

plugins/robots/interpreters/interpreterCore/src/textLanguage/robotsBlockParser.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@ void RobotsBlockParser::addIntrinsicFuctions()
198198
return text;
199199
});
200200

201-
addFloatFunction("sin", [](qreal x) {return qSin(x); });
202-
addFloatFunction("cos", [](qreal x) {return qCos(x); });
201+
addFloatFunction("sin", [](qreal x) { return qSin(M_PI / 180 * x); });
202+
addFloatFunction("cos", [](qreal x) { return qCos(M_PI / 180 * x); });
203203
addFloatFunction("ln", [](qreal x) {return qLn(x); });
204204
addFloatFunction("exp", [](qreal x) {return qExp(x); });
205205
addFloatFunction("asin", [](qreal x) {return qAsin(x); });

0 commit comments

Comments
 (0)