Switching the UnitsApi to the new Quantity system

This commit is contained in:
jriegel
2013-12-01 19:23:59 +01:00
parent aea66d9e1a
commit 87c8d5b022
23 changed files with 485 additions and 647 deletions

View File

@@ -129,14 +129,14 @@ int WaypointPy::PyInit(PyObject* args, PyObject* kwd)
getWaypointPtr()->Velocity = 0;
}
else
getWaypointPtr()->Velocity = Base::UnitsApi::toDblWithUserPrefs(Base::Velocity,vel);
getWaypointPtr()->Velocity = Base::UnitsApi::toDbl(vel,Base::Unit::Velocity);
getWaypointPtr()->Cont = cont?true:false;
getWaypointPtr()->Tool = tool;
getWaypointPtr()->Base = base;
if(acc == 0)
getWaypointPtr()->Accelaration = 100;
else
getWaypointPtr()->Accelaration = Base::UnitsApi::toDblWithUserPrefs(Base::Acceleration,acc);;
getWaypointPtr()->Accelaration = Base::UnitsApi::toDbl(acc,Base::Unit::Acceleration);
return 0;
}

View File

@@ -131,12 +131,12 @@ void TaskRobot6Axis::viewTcp(const Base::Placement pos)
pos.getRotation().getYawPitchRoll(A,B,C);
QString result = QString::fromAscii("TCP:( %1, %2, %3, %4, %5, %6 )")
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Length,pos.getPosition().x),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Length,pos.getPosition().y),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Length,pos.getPosition().z),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Angle,A),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Angle,B),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Angle,C),0,'f',1);
.arg(pos.getPosition().x,0,'f',1)
.arg(pos.getPosition().y,0,'f',1)
.arg(pos.getPosition().z,0,'f',1)
.arg(A,0,'f',1)
.arg(B,0,'f',1)
.arg(C,0,'f',1);
ui->label_TCP->setText(result);
}
@@ -147,12 +147,12 @@ void TaskRobot6Axis::viewTool(const Base::Placement pos)
pos.getRotation().getYawPitchRoll(A,B,C);
QString result = QString::fromAscii("Tool:( %1, %2, %3, %4, %5, %6 )")
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Length,pos.getPosition().x),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Length,pos.getPosition().y),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Length,pos.getPosition().z),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Angle,A),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Angle,B),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Angle,C),0,'f',1);
.arg(pos.getPosition().x,0,'f',1)
.arg(pos.getPosition().y,0,'f',1)
.arg(pos.getPosition().z,0,'f',1)
.arg(A,0,'f',1)
.arg(B,0,'f',1)
.arg(C,0,'f',1);
ui->label_Tool->setText(result);
}

View File

@@ -119,12 +119,12 @@ void TaskTrajectory::viewTool(const Base::Placement pos)
pos.getRotation().getYawPitchRoll(A,B,C);
QString result = QString::fromAscii("Pos:(%1, %2, %3, %4, %5, %6)")
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Length,pos.getPosition().x),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Length,pos.getPosition().y),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Length,pos.getPosition().z),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Angle,A),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Angle,B),0,'f',1)
.arg(Base::UnitsApi::toDblWithUserPrefs(Base::Angle,C),0,'f',1);
.arg(pos.getPosition().x,0,'f',1)
.arg(pos.getPosition().y,0,'f',1)
.arg(pos.getPosition().z,0,'f',1)
.arg(A,0,'f',1)
.arg(B,0,'f',1)
.arg(C,0,'f',1);
ui->label_Pos->setText(result);
}

View File

@@ -112,7 +112,7 @@ void TaskSketcherGeneral::toggleGridView(bool on)
void TaskSketcherGeneral::setGridSize(const QString& val)
{
float gridSize = (float) Base::UnitsApi::translateUnit(val);
float gridSize = (float) Base::Quantity::parse(val.toAscii()).getValue();
if (gridSize > 0)
sketchView->GridSize.setValue(gridSize);
}

View File

@@ -42,6 +42,7 @@ class TestCmd:
QtUnitGui.addTest("TestApp.All")
QtUnitGui.setTest("TestApp.All")
QtUnitGui.addTest("BaseTests")
QtUnitGui.addTest("UnitTests")
QtUnitGui.addTest("Document")
QtUnitGui.addTest("UnicodeTests")
QtUnitGui.addTest("MeshTestsApp")

View File

@@ -2,7 +2,10 @@
import FreeCAD, os, unittest, math
def tu(str):
return FreeCAD.Units.Quantity(str).Value
#---------------------------------------------------------------------------
# define the functions to test the FreeCAD UnitApi code
#---------------------------------------------------------------------------
@@ -12,9 +15,9 @@ def compare(x,y): return math.fabs(x-y)<0.00001
class UnitBasicCases(unittest.TestCase):
def testConversions(self):
tu = FreeCAD.Units.translateUnit
#tu = FreeCAD.Units.translateUnit
self.failUnless(compare( tu('10 m') , 10000.0 ) )
self.failUnless(compare( tu('3/8 in') , 0.014763779527 ) )
self.failUnless(compare( tu('3/8 in') , 9.525 ) )
self.failUnless(compare( tu('100 km/h') , 27777.77777777 ) )
self.failUnless(compare( tu('m^2*kg*s^-3*A^-2') , 1000000.0 ) )
self.failUnless(compare( tu('(m^2*kg)/(A^2*s^3)') , 1000000.0 ) )
@@ -22,13 +25,13 @@ class UnitBasicCases(unittest.TestCase):
self.failUnless(compare( tu('2*pi rad') / tu('gon') , 400.0 ) )
def testImperial(self):
tu = FreeCAD.Units.translateUnit
self.failUnless(compare( tu('3/8 in') , 0.014763779527 ) )
self.failUnless(compare( tu('1fo+(3+7/16)in') , 392.112500 ) )
self.failUnless(compare( tu('1\'+(3+7/16)"') , 392.112500 ) )
#tu = FreeCAD.Units.translateUnit
self.failUnless(compare( tu('3/8 in') , 9.525 ) )
self.failUnless(compare( tu('1fo (3+7/16)in') , 392.112500 ) )
self.failUnless(compare( tu('1\' (3+7/16)"') , 392.112500 ) )
def testTrigonometric(self):
tu = FreeCAD.Units.translateUnit
#tu = FreeCAD.Units.translateUnit
self.failUnless(compare( tu('sin(pi)') , math.sin(math.pi) ) )
self.failUnless(compare( tu('cos(pi)') , math.cos(math.pi) ) )
self.failUnless(compare( tu('tan(pi)') , math.tan(math.pi) ) )