Changeset 311 in pacpusframework for branches/0.1.x


Ignore:
Timestamp:
07/23/14 18:01:08 (10 years ago)
Author:
DHERBOMEZ Gérald
Message:

Add the dllexport/dllimport macro to geodesie functions (for Windows olny)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/0.1.x/include/Pacpus/PacpusTools/geodesie.h

    r162 r311  
    66/// @author  Jean Laneurit <firstname.surname@utc.fr>
    77/// @date    April, 2010
    8 /// @version $Id: geodesie.h 75 2013-01-10 17:04:19Z kurdejma $
     8/// @version $Id: geodesie.h 116 2013-06-25 11:44:25Z kurdejma $
    99/// @copyright Copyright (c) UTC/CNRS Heudiasyc 2006 - 2013. All rights reserved.
    1010/// @brief Brief description.
     
    1919#include <vector>
    2020
    21 #include <QMatrix4x4>
    22 #include <QVector3D>
    23 
    24 #include "PacpusToolsConfig.h"
     21#include "Pacpus\kernel\PacpusToolsConfig.h"
     22
    2523
    2624namespace Geodesie {
     
    7169};
    7270
    73 PACPUSTOOLS_API Matrice TransMat(const Matrice A);
    74 PACPUSTOOLS_API Matrice ProdMat(const Matrice A,const Matrice B);
    75 PACPUSTOOLS_API void Write(const Matrice A,std::ostream& out);
     71Matrice PACPUSTOOLS_API TransMat(const Matrice A);
     72
     73Matrice PACPUSTOOLS_API ProdMat(const Matrice A,const Matrice B);
     74void Write(const Matrice A,std::ostream& out);
    7675
    7776////////////////////////////////////////////////////////////////////////
     
    9392    /// @param latitude [degrees]
    9493    /// @param Hwgs84 Output: interpolated altitude using WGS84 geoid model [meters]
    95     bool Interpol(double longitude/*deg*/, double latitude/*deg*/, double* Hwgs84) const;
     94    bool Interpol(double longitudeDegrees, double latitudeDegrees, double * heightMetersWgs84) const;
    9695   
    9796private:
     
    103102
    104103////////////////////////////////////////////////////////////////////////
    105 inline double Deg2Rad(double deg)
    106 {
    107     return deg*M_PI/180.0;
    108 }
    109 
    110 inline double Rad2Deg(double rad)
    111 {
    112     return rad*180.0/M_PI;
    113 }
    114 
     104inline double PACPUSTOOLS_API Deg2Rad(double deg) {return deg*M_PI/180.0;}
     105inline double PACPUSTOOLS_API Rad2Deg(double rad) {return rad*180.0/M_PI;}
    115106////////////////////////////////////////////////////////////////////////
    116107
     
    135126
    136127////////////////////////////////////////////////////////////////////////
    137 PACPUSTOOLS_API void Geographique_2_Lambert93(const Raf98& raf98,double lambda,double phi,double he,Matrice in,double& E,double& N,double& h,Matrice& out);
    138 PACPUSTOOLS_API void Geographique_2_Lambert93(const Raf98& raf98,double lambda,double phi,double he,double& E,double& N,double& h);
    139 PACPUSTOOLS_API void Lambert93_2_Geographique(const Raf98& raf98,double E,double N,double h,double& lambda,double& phi,double& he);
    140 PACPUSTOOLS_API void Lambert93_2_Geographique(const Raf98& raf98,double E,double N,double h,Matrice in,double& lambda,double& phi,double& he,Matrice& out);
    141 /** Convert from geographique to ECEF.
    142  * @param[in] longitude Longitude in radian.
    143  * @param[in] latitude Latitude in radian.
    144  * @param[in] he Height in meter.
    145  */
    146 PACPUSTOOLS_API void Geographique_2_ECEF(double longitude, double latitude, double he, double& x, double& y, double& z);
    147 /** Convert from ECEF two ENU.
    148  * @param[in] lon0 Longitude of the origin in radian.
    149  * @param[in] lat0 Latitude of the origin in radian.
    150  * @param[in] he0 Height of the origin in radian.
    151  */
    152 PACPUSTOOLS_API void ECEF_2_ENU(double x,double y,double z,double& e,double& n,double& u,double lon0,double lat0,double he0);
     128void PACPUSTOOLS_API Geographique_2_Lambert93(const Raf98& raf98,double lambda,double phi,double he,Matrice in,double& E,double& N,double& h,Matrice& out);
     129void PACPUSTOOLS_API Geographique_2_Lambert93(const Raf98& raf98,double lambda,double phi,double he,double& E,double& N,double& h);
     130void PACPUSTOOLS_API Lambert93_2_Geographique(const Raf98& raf98,double E,double N,double h,double& lambda,double& phi,double& he);
     131void PACPUSTOOLS_API Lambert93_2_Geographique(const Raf98& raf98,double E,double N,double h,Matrice in,double& lambda,double& phi,double& he,Matrice& out);
     132/// Convert from geographique to ECEF.
     133/// @param[in] longitude Longitude in radian.
     134/// @param[in] latitude Latitude in radian.
     135/// @param[in] he Height in meter.
     136void PACPUSTOOLS_API Geographique_2_ECEF(double longitude, double latitude, double he, double& x, double& y, double& z);
     137/// Convert from ECEF two ENU.
     138/// @param[in] lon0 Longitude of the origin in radian.
     139/// @param[in] lat0 Latitude of the origin in radian.
     140/// @param[in] he0 Height of the origin in radian.
     141void PACPUSTOOLS_API ECEF_2_ENU(double x,double y,double z,double& e,double& n,double& u,double lon0,double lat0,double he0);
    153142////////////////////////////////////////////////////////////////////////
    154143
    155144///ALGO0001
    156145/// @todo Rename
    157 PACPUSTOOLS_API double LatitueIsometrique(double latitude,double e);
     146double PACPUSTOOLS_API LatitueIsometrique(double latitude,double e);
    158147///ALGO0002
    159148/// @todo Rename
    160 PACPUSTOOLS_API double LatitueIsometrique2Lat(double latitude_iso,double e,double epsilon);
     149double PACPUSTOOLS_API LatitueIsometrique2Lat(double latitude_iso,double e,double epsilon);
    161150
    162151///ALGO0003
    163 PACPUSTOOLS_API void Geo2ProjLambert(
     152void PACPUSTOOLS_API Geo2ProjLambert(
    164153    double lambda,double phi,
    165154    double n, double c,double e,
     
    167156    double& X,double& Y);
    168157///ALGO0004
    169 PACPUSTOOLS_API void Proj2GeoLambert(
     158void PACPUSTOOLS_API Proj2GeoLambert(
    170159    double X,double Y,
    171160    double n, double c,double e,
     
    174163    double& lambda,double& phi);
    175164
    176 PACPUSTOOLS_API double ConvMerApp(double longitude);
    177 
    178 /**
    179 Converts Cartesian (x, y) coordinates to polar coordinates (r, theta)
    180 */
     165double PACPUSTOOLS_API ConvMerApp(double longitude);
     166
     167/// Converts Cartesian (x, y) coordinates to polar coordinates (r, theta)
    181168template <typename _T1, typename _T2>
    182169void cartesianToPolar(const _T1 x, const _T1 y, _T2 & r, _T2 & theta) {
     
    185172}
    186173
    187 /**
    188 Converts polar coordinates (r, theta) to Cartesian (x, y) coordinates
    189 */
     174/// Converts polar coordinates (r, theta) to Cartesian (x, y) coordinates
    190175template <typename _T1, typename _T2>
    191176void polarToCartesian(const _T1 r, const _T1 theta, _T2 & x, _T2 & y) {
     
    194179}
    195180
    196 /**
    197 Converts Cartesian (x, y, z) coordinates to spherical coordinates (r, theta, phi)
    198 Angles expressed in radians.
    199 */
     181/// Converts Cartesian (x, y, z) coordinates to spherical coordinates (r, theta, phi)
     182/// Angles expressed in radians.
    200183template <typename _T1, typename _T2>
    201184void cartesianToSpherical(const _T1 x, const _T1 y, const _T1 z, _T2 & r, _T2 & theta, _T2 & phi) {
     
    205188}
    206189
    207 /**
    208 Converts spherical coordinates (r, theta, phi) to Cartesian (x, y, z) coordinates.
    209 Angles expressed in radians.
    210 */
     190/// Converts spherical coordinates (r, theta, phi) to Cartesian (x, y, z) coordinates.
     191/// Angles expressed in radians.
    211192template <typename _T1, typename _T2>
    212193void sphericalToCartesian(const _T1 r, const _T1 theta, const _T1 phi, _T2 & x, _T2 & y, _T2 & z) {
     
    216197}
    217198
    218 PACPUSTOOLS_API QMatrix4x4 yprenuToMatrix(QVector3D angle, QVector3D position);
    219 
    220199} // namespace Geodesie
    221200
Note: See TracChangeset for help on using the changeset viewer.