13 #include "generalmod.h" 42 : NamedObject(n), symbol_(s)
46 : NamedObject(uom.name())
50 const char*
symbol()
const {
return symbol_.buf(); }
61 bool isImperial()
const;
65 {
return ( T ) scaler_.scale(inp); }
68 {
return ( T ) scaler_.unScale(inp); }
70 T internalValue(T inp)
const;
72 T userValue(T inp)
const;
90 static uiString surveyDefZUnitAnnot(
bool symbol,
bool withparens);
91 static uiString surveyDefTimeUnitAnnot(
bool symbol,
bool withparens);
92 static uiString surveyDefDepthUnitAnnot(
bool symbol,
bool withparens);
93 static uiString surveyDefVelUnitAnnot(
bool symbol,
bool withparens);
94 static uiString zUnitAnnot(
bool time,
bool symbol,
bool withparens);
96 static IOPar& currentDefaults();
99 static void saveCurrentDefaults();
115 template <
class T>
void convValue(T& val,
161 const char* nm)
const;
164 friend mGlobal(General) UnitOfMeasureRepository&
UoMR();
172 if (
SI().zInFeet() )
174 if ( symbol_.contains(
"ft") )
176 else if ( symbol_.contains(
"m") )
183 return getSIValue( inp );
189 if (
SI().zInFeet() )
196 return feetunit ? feetunit->
getSIValue( inp ) : inp;
212 if ( oldunit == newunit ||
mIsUdf(val) )
#define mExpClass(module)
Definition: commondefs.h:157
void setSource(Repos::Source s)
Definition: unitofmeasure.h:76
#define mIsUdf(val)
Use mIsUdf to check for undefinedness of simple types.
Definition: undefval.h:285
bool add(const UnitOfMeasure &)
returns false when already present
const UnitOfMeasure * getInternalFor(PropertyRef::StdType) const
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
#define mGlobal(module)
Definition: commondefs.h:160
Repository of all Units of Measure in the system.
Definition: unitofmeasure.h:133
Ref Data for a (usually petrophysical) property.
Definition: propertyref.h:40
UnitOfMeasure(const char *n, const char *s, double f, PropertyRef::StdType t=PropertyRef::Other)
Definition: unitofmeasure.h:40
bool contains(char) const
Definition: uistring.h:88
const UnitOfMeasure * findBest(const ObjectSet< const UnitOfMeasure > &, const char *nm) const
Will try names first, then symbols, otherwise null.
const UnitOfMeasure * getDefault(const char *key, PropertyRef::StdType) const
PropertyRef::StdType proptype_
Definition: unitofmeasure.h:107
T getSIValue(T inp) const
Definition: unitofmeasure.h:64
Definition: propertyref.h:47
T getConvertedValue(T val, const UnitOfMeasure *oldunit, const UnitOfMeasure *newunit)
Definition: unitofmeasure.h:209
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
T userValue(T inp) const
Definition: unitofmeasure.h:187
const char * symbol() const
Definition: unitofmeasure.h:50
Source
Definition: repos.h:23
const UnitOfMeasure * getCurDefaultFor(const char *key) const
void addUnitsFromFile(const char *, Repos::Source)
Repos::Source source_
Definition: unitofmeasure.h:108
void setScaler(const LinScaler &s)
Definition: unitofmeasure.h:56
const UnitOfMeasure * get(PropertyRef::StdType, const char *nm) const
Repos::Source source() const
Definition: unitofmeasure.h:75
PropertyRef::StdType propType() const
Definition: unitofmeasure.h:51
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
object with a name.
Definition: namedobj.h:20
T internalValue(T inp) const
Definition: unitofmeasure.h:170
UnitOfMeasure(const UnitOfMeasure &uom)
Definition: unitofmeasure.h:45
bool write(Repos::Source) const
void getRelevant(PropertyRef::StdType, ObjectSet< const UnitOfMeasure > &) const
LinScaler scaler_
Definition: unitofmeasure.h:106
const LinScaler & scaler() const
Definition: unitofmeasure.h:52
T getUserValueFromSI(T inp) const
Definition: unitofmeasure.h:67
ManagedObjectSet< const UnitOfMeasure > entries
Definition: unitofmeasure.h:157
void setSymbol(const char *s)
Definition: unitofmeasure.h:54
StdType
Definition: propertyref.h:44
UnitOfMeasureRepository()
const ObjectSet< const UnitOfMeasure > & all() const
Definition: unitofmeasure.h:142
void setPropType(PropertyRef::StdType t)
Definition: unitofmeasure.h:58
BufferString symbol_
Definition: unitofmeasure.h:105
UnitOfMeasure()
Definition: unitofmeasure.h:37
void convValue(T &val, const UnitOfMeasure *oldunit, const UnitOfMeasure *newunit)
Definition: unitofmeasure.h:204
static const char * guessedStdName(const char *)
May return null.
Unit of Measure.
Definition: unitofmeasure.h:33
Linear scaling.
Definition: scaler.h:55
UnitOfMeasureRepository & UoMR()