From b1bfb625835eae96c4ad1a427b9923e05c7ebbc0 Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 16 Oct 2017 21:56:13 +0200 Subject: [PATCH] add derived unit electric potential --- src/App/FreeCADInit.py | 3 ++- src/Base/Unit.cpp | 2 ++ src/Base/Unit.h | 1 + src/Base/UnitsSchemaCentimeters.cpp | 4 ++++ src/Base/UnitsSchemaInternal.cpp | 4 ++++ src/Base/UnitsSchemaMKS.cpp | 4 ++++ src/Gui/DlgUnitsCalculatorImp.cpp | 3 ++- 7 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/App/FreeCADInit.py b/src/App/FreeCADInit.py index 497f853422..e2e6cbcadc 100644 --- a/src/App/FreeCADInit.py +++ b/src/App/FreeCADInit.py @@ -306,7 +306,8 @@ App.Units.Acceleration = App.Units.Unit(1,0,-2) App.Units.Temperature = App.Units.Unit(0,0,0,0,1) App.Units.ElectricCurrent = App.Units.Unit(0,0,0,1) -App.Units.AmountOfSubstance = App.Units.Unit(0,0,0,0,0,1) +App.Units.ElectricPotential = App.Units.Unit(2,1,-3,-1) +App.Units.AmountOfSubstance = App.Units.Unit(0,0,0,0,0,1) App.Units.LuminoseIntensity = App.Units.Unit(0,0,0,0,0,0,1) App.Units.Stress = App.Units.Unit(-1,1,-2) diff --git a/src/Base/Unit.cpp b/src/Base/Unit.cpp index 53c494dc95..569a40ebbc 100644 --- a/src/Base/Unit.cpp +++ b/src/Base/Unit.cpp @@ -475,6 +475,7 @@ QString Unit::getTypeString(void) const if(*this == Unit::Acceleration ) return QString::fromLatin1("Acceleration"); else if(*this == Unit::Temperature ) return QString::fromLatin1("Temperature"); else if(*this == Unit::ElectricCurrent ) return QString::fromLatin1("ElectricCurrent"); else + if(*this == Unit::ElectricPotential ) return QString::fromLatin1("ElectricPotential"); else if(*this == Unit::AmountOfSubstance ) return QString::fromLatin1("AmountOfSubstance"); else if(*this == Unit::LuminoseIntensity ) return QString::fromLatin1("LuminoseIntensity"); else if(*this == Unit::Pressure ) return QString::fromLatin1("Pressure"); else @@ -507,6 +508,7 @@ Unit Unit::Acceleration(1,0,-2); Unit Unit::Temperature(0,0,0,0,1); Unit Unit::ElectricCurrent(0,0,0,1); +Unit Unit::ElectricPotential(2,1,-3,-1); Unit Unit::AmountOfSubstance(0,0,0,0,0,1); Unit Unit::LuminoseIntensity(0,0,0,0,0,0,1); diff --git a/src/Base/Unit.h b/src/Base/Unit.h index fc11a75341..7b0b335c0c 100644 --- a/src/Base/Unit.h +++ b/src/Base/Unit.h @@ -107,6 +107,7 @@ public: static Unit Temperature; static Unit ElectricCurrent; + static Unit ElectricPotential; static Unit AmountOfSubstance; static Unit LuminoseIntensity; diff --git a/src/Base/UnitsSchemaCentimeters.cpp b/src/Base/UnitsSchemaCentimeters.cpp index 28bc969445..205108da8d 100644 --- a/src/Base/UnitsSchemaCentimeters.cpp +++ b/src/Base/UnitsSchemaCentimeters.cpp @@ -58,6 +58,10 @@ QString UnitsSchemaCentimeters::schemaTranslate(const Base::Quantity& quant, dou unitString = QString::fromLatin1("W"); factor = 1000000; } + else if (unit == Unit::ElectricPotential) { + unitString = QString::fromLatin1("V"); + factor = 1000000; + } else if (unit == Unit::HeatFlux) { unitString = QString::fromLatin1("W/m^2"); factor = 1.0; diff --git a/src/Base/UnitsSchemaInternal.cpp b/src/Base/UnitsSchemaInternal.cpp index dfa74390c2..5a28200d6b 100644 --- a/src/Base/UnitsSchemaInternal.cpp +++ b/src/Base/UnitsSchemaInternal.cpp @@ -167,6 +167,10 @@ QString UnitsSchemaInternal::schemaTranslate(const Quantity &quant, double &fact unitString = QString::fromLatin1("W"); factor = 1000000; } + else if (unit == Unit::ElectricPotential) { + unitString = QString::fromLatin1("V"); + factor = 1000000; + } else if (unit == Unit::SpecificEnergy) { unitString = QString::fromLatin1("m^2/s^2"); factor = 1000000; diff --git a/src/Base/UnitsSchemaMKS.cpp b/src/Base/UnitsSchemaMKS.cpp index 65a1a355c0..1d50c534eb 100644 --- a/src/Base/UnitsSchemaMKS.cpp +++ b/src/Base/UnitsSchemaMKS.cpp @@ -174,6 +174,10 @@ QString UnitsSchemaMKS::schemaTranslate(const Quantity &quant, double &factor, Q unitString = QString::fromLatin1("W"); factor = 1000000; } + else if (unit == Unit::ElectricPotential) { + unitString = QString::fromLatin1("V"); + factor = 1000000; + } else if (unit == Unit::SpecificEnergy) { unitString = QString::fromLatin1("m^2/s^2"); factor = 1000000; diff --git a/src/Gui/DlgUnitsCalculatorImp.cpp b/src/Gui/DlgUnitsCalculatorImp.cpp index 50bf4378c4..131df33a93 100644 --- a/src/Gui/DlgUnitsCalculatorImp.cpp +++ b/src/Gui/DlgUnitsCalculatorImp.cpp @@ -67,7 +67,8 @@ DlgUnitsCalculator::DlgUnitsCalculator( QWidget* parent, Qt::WindowFlags fl ) units << Base::Unit::Length << Base::Unit::Mass << Base::Unit::Angle << Base::Unit::Density << Base::Unit::Area << Base::Unit::Volume << Base::Unit::TimeSpan << Base::Unit::Velocity - << Base::Unit::Acceleration << Base::Unit::Temperature << Base::Unit::ElectricCurrent + << Base::Unit::Acceleration << Base::Unit::Temperature + << Base::Unit::ElectricCurrent << Base::Unit::ElectricPotential << Base::Unit::AmountOfSubstance << Base::Unit::LuminoseIntensity << Base::Unit::Stress << Base::Unit::Pressure << Base::Unit::Force << Base::Unit::Work << Base::Unit::Power << Base::Unit::ThermalConductivity << Base::Unit::ThermalExpansionCoefficient