VR-Forces 4.0.4 Class Documentation
include/vrvUtil/DtUnitConverter.h
Go to the documentation of this file.
00001 /********************************************************************
00002  * Copyright (c) 2011 MaK Technologies, Inc.
00003  * All rights reserved.
00004  ********************************************************************/
00005 /********************************************************************
00006  * $RCSfile: DtConvUtils.h,v $ $Revision: 1.7 $ $State: Exp $
00007  ********************************************************************/
00008 
00012 
00013 #pragma once
00014 #include <vrvUtil/vrvUtil.h>
00015 #include <vrvUtil/DtUnicode.h>
00016 #include <makArchives/DtDisplayUnitsSettingsRecord.h>
00017 
00018 namespace makVrv
00019 {
00020 
00023    class DT_DLL_VRVUTIL DtUnitConverter
00024    {
00025    public:
00026 
00028       DtUnitConverter();
00029 
00031       virtual DtUnitConverter* clone() const = 0;
00032 
00034       virtual ~DtUnitConverter();
00035 
00036    public:
00037      
00038       static void unitsForVelocity(
00039          makArchives::DtDisplayUnitsSettingsRecord::VelocityUnits units,
00040          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits& distUnit,
00041          makArchives::DtDisplayUnitsSettingsRecord::TimeUnits& timeUnit );
00042 
00043       static void unitsForAcceleration(
00044          makArchives::DtDisplayUnitsSettingsRecord::AccelerationUnits units,
00045          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits& distUnit,
00046          makArchives::DtDisplayUnitsSettingsRecord::TimeUnits& timeUnits );
00047 
00048       static void unitsForRotationalVelocity(
00049          makArchives::DtDisplayUnitsSettingsRecord::RotVelocityUnits units,
00050          makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits& oriUnit,
00051          makArchives::DtDisplayUnitsSettingsRecord::TimeUnits& timeUnit );
00052 
00053    private:
00055       DtUnitConverter( const DtUnitConverter& orig );
00056 
00058       DtUnitConverter& operator = ( const DtUnitConverter& rhs );      
00059 
00060    };
00061 
00062 
00065    class DT_DLL_VRVUTIL DtDistanceUnitConverter
00066       : public DtUnitConverter
00067    {
00068    public:
00069 
00071       DtDistanceUnitConverter(
00072          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit );
00073 
00075       virtual ~DtDistanceUnitConverter();
00076 
00078       virtual double metersToLocal( double meters ) const = 0;
00079 
00081       virtual double localToMeters( double local ) const = 0;
00082 
00083    protected:
00084 
00085       makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits myUnits;
00086 
00087    };
00088 
00089 
00092    class DT_DLL_VRVUTIL DtTimeUnitConverter
00093       : public DtUnitConverter
00094    {
00095    public:
00096 
00098       DtTimeUnitConverter(
00099          makArchives::DtDisplayUnitsSettingsRecord::TimeUnits unit );
00100 
00102       virtual ~DtTimeUnitConverter();
00103 
00105       virtual double secondsToLocal( double meters ) const = 0;
00106 
00108       virtual double localToSeconds( double local ) const = 0;
00109 
00110    protected:
00111 
00112       makArchives::DtDisplayUnitsSettingsRecord::TimeUnits myUnits;
00113 
00114    };
00115 
00116 
00119    class DT_DLL_VRVUTIL DtOrientationUnitConverter
00120       : public DtUnitConverter
00121    {
00122    public:
00123 
00125       DtOrientationUnitConverter(
00126          makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit );
00127 
00129       virtual ~DtOrientationUnitConverter();
00130 
00132       virtual double radiansToLocal( double radians ) const = 0;
00133 
00135       virtual double localToRadians( double local ) const = 0;
00136 
00137    protected:
00138 
00139       makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits myUnits;
00140 
00141    };
00142 
00143 
00148    class DT_DLL_VRVUTIL DtMeterConverter
00149       : public DtDistanceUnitConverter
00150    {
00151    public:
00152 
00154       DtMeterConverter();
00155 
00157       virtual DtUnitConverter* clone() const;
00158 
00160       virtual ~DtMeterConverter();
00161 
00163       virtual double metersToLocal( double meters ) const;
00164 
00166       virtual double localToMeters( double local ) const;
00167 
00168    };
00169 
00170 
00174    class DT_DLL_VRVUTIL DtKilometerConverter
00175       : public DtDistanceUnitConverter
00176    {
00177    public:
00178 
00180       DtKilometerConverter();
00181 
00183       virtual DtUnitConverter* clone() const;
00184 
00186       virtual ~DtKilometerConverter();
00187 
00189       virtual double metersToLocal( double meters ) const;
00190 
00192       virtual double localToMeters( double local ) const;
00193 
00194    };
00195 
00196 
00200    class DT_DLL_VRVUTIL DtFeetConverter
00201       : public DtDistanceUnitConverter
00202    {
00203    public:
00204 
00206       DtFeetConverter();
00207 
00209       virtual DtUnitConverter* clone() const;
00210 
00212       virtual ~DtFeetConverter();
00213 
00215       virtual double metersToLocal( double meters ) const;
00216 
00218       virtual double localToMeters( double local ) const;
00219 
00220    };
00221 
00222 
00226    class DT_DLL_VRVUTIL DtMileConverter
00227       : public DtDistanceUnitConverter
00228    {
00229    public:
00230 
00232       DtMileConverter();
00233 
00235       virtual DtUnitConverter* clone() const;
00236 
00238       virtual ~DtMileConverter();
00239 
00241       virtual double metersToLocal( double meters ) const;
00242 
00244       virtual double localToMeters( double local ) const;
00245 
00246    };
00247 
00248 
00252    class DT_DLL_VRVUTIL DtNauticalMileConverter
00253       : public DtDistanceUnitConverter
00254    {
00255    public:
00256 
00258       DtNauticalMileConverter();
00259 
00261       virtual DtUnitConverter* clone() const;
00262 
00264       virtual ~DtNauticalMileConverter();
00265 
00267       virtual double metersToLocal( double meters ) const;
00268 
00270       virtual double localToMeters( double local ) const;
00271 
00272    };
00273 
00274 
00279    class DT_DLL_VRVUTIL DtSecondConverter
00280       : public DtTimeUnitConverter
00281    {
00282    public:
00283 
00285       DtSecondConverter();
00286 
00288       virtual DtUnitConverter* clone() const;
00289 
00291       virtual ~DtSecondConverter();
00292 
00294       virtual double secondsToLocal( double meters ) const;
00295 
00297       virtual double localToSeconds( double local ) const;
00298 
00299    };
00300 
00304    class DT_DLL_VRVUTIL DtMinuteConverter
00305       : public DtTimeUnitConverter
00306    {
00307    public:
00308 
00310       DtMinuteConverter();
00311 
00313       virtual DtUnitConverter* clone() const;
00314 
00316       virtual ~DtMinuteConverter();
00317 
00319       virtual double secondsToLocal( double meters ) const;
00320 
00322       virtual double localToSeconds( double local ) const;
00323 
00324    };
00325 
00326 
00330    class DT_DLL_VRVUTIL DtHourConverter
00331       : public DtTimeUnitConverter
00332    {
00333    public:
00334 
00336       DtHourConverter();
00337 
00339       virtual DtUnitConverter* clone() const;
00340 
00342       virtual ~DtHourConverter();
00343 
00345       virtual double secondsToLocal( double meters ) const;
00346 
00348       virtual double localToSeconds( double local ) const;
00349 
00350    };
00351 
00352 
00357    class DT_DLL_VRVUTIL DtRadianConverter
00358       : public DtOrientationUnitConverter
00359    {
00360    public:
00361 
00363       DtRadianConverter();
00364 
00366       virtual DtUnitConverter* clone() const;
00367 
00369       virtual ~DtRadianConverter();
00370 
00372       virtual double radiansToLocal( double radians ) const;
00373 
00375       virtual double localToRadians( double local ) const;
00376 
00377    };
00378 
00379 
00383    class DT_DLL_VRVUTIL DtDegreeConverter
00384       : public DtOrientationUnitConverter
00385    {
00386    public:
00387 
00389       DtDegreeConverter();
00390 
00392       virtual DtUnitConverter* clone() const;
00393 
00395       virtual ~DtDegreeConverter();
00396 
00398       virtual double radiansToLocal( double radians ) const;
00399 
00401       virtual double localToRadians( double local ) const;
00402 
00403    };
00404 
00405 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)