00001 /* SRM API 00002 * 00003 * SRM SDK Release 4.4.0 - December 7, 2009 00004 * 00005 * - SRM spec. 4.4 00006 * 00007 * 00008 * NOTICE 00009 * 00010 * This software is provided openly and freely for use in representing and 00011 * interchanging environmental data & databases. 00012 * 00013 * This software was developed for use by the United States Government with 00014 * unlimited rights. The software was developed under contract 00015 * DASG60-02-D-0006 TO-193 by Science Applications International Corporation. 00016 * The software is unclassified and is deemed as Distribution A, approved 00017 * for Public Release. 00018 * 00019 * Use by others is permitted only upon the ACCEPTANCE OF THE TERMS AND 00020 * CONDITIONS, AS STIPULATED UNDER THE FOLLOWING PROVISIONS: 00021 * 00022 * 1. Recipient may make unlimited copies of this software and give 00023 * copies to other persons or entities as long as the copies contain 00024 * this NOTICE, and as long as the same copyright notices that 00025 * appear on, or in, this software remain. 00026 * 00027 * 2. Trademarks. All trademarks belong to their respective trademark 00028 * holders. Third-Party applications/software/information are 00029 * copyrighted by their respective owners. 00030 * 00031 * 3. Recipient agrees to forfeit all intellectual property and 00032 * ownership rights for any version created from the modification 00033 * or adaptation of this software, including versions created from 00034 * the translation and/or reverse engineering of the software design. 00035 * 00036 * 4. Transfer. Recipient may not sell, rent, lease, or sublicense 00037 * this software. Recipient may, however enable another person 00038 * or entity the rights to use this software, provided that this 00039 * AGREEMENT and NOTICE is furnished along with the software and 00040 * /or software system utilizing this software. 00041 * 00042 * All revisions, modifications, created by the Recipient, to this 00043 * software and/or related technical data shall be forwarded by the 00044 * Recipient to the Government at the following address: 00045 * 00046 * SMDC 00047 * Attention SEDRIS (TO193) TPOC 00048 * P.O. Box 1500 00049 * Hunstville, AL 35807-3801 00050 * 00051 * or via electronic mail to: se-mgmt@sedris.org 00052 * 00053 * 5. No Warranty. This software is being delivered to you AS IS 00054 * and there is no warranty, EXPRESS or IMPLIED, as to its use 00055 * or performance. 00056 * 00057 * The RECIPIENT ASSUMES ALL RISKS, KNOWN AND UNKNOWN, OF USING 00058 * THIS SOFTWARE. The DEVELOPER EXPRESSLY DISCLAIMS, and the 00059 * RECIPIENT WAIVES, ANY and ALL PERFORMANCE OR RESULTS YOU MAY 00060 * OBTAIN BY USING THIS SOFTWARE OR DOCUMENTATION. THERE IS 00061 * NO WARRANTY, EXPRESS OR, IMPLIED, AS TO NON-INFRINGEMENT OF 00062 * THIRD PARTY RIGHTS, MERCHANTABILITY, OR FITNESS FOR ANY 00063 * PARTICULAR PURPOSE. IN NO EVENT WILL THE DEVELOPER, THE 00064 * UNITED STATES GOVERNMENT OR ANYONE ELSE ASSOCIATED WITH THE 00065 * DEVELOPMENT OF THIS SOFTWARE BE HELD LIABLE FOR ANY CONSEQUENTIAL, 00066 * INCIDENTAL OR SPECIAL DAMAGES, INCLUDING ANY LOST PROFITS 00067 * OR LOST SAVINGS WHATSOEVER. 00068 * 00069 * 00070 * SRM_OTHERS_GOES_HERE 00071 * 00072 * 00073 * COPYRIGHT 2009, SCIENCE APPLICATIONS INTERNATIONAL CORPORATION. 00074 * ALL RIGHTS RESERVED. 00075 * 00076 * 00077 */ 00078 #ifndef SRM_TRANSVERSEMERCATOR_H_INCLUDED 00079 #define SRM_TRANSVERSEMERCATOR_H_INCLUDED 00080 00081 #if !defined(_WIN32) 00082 #define EXPORT_DLL 00083 #elif !defined(EXPORT_DLL) 00084 #if defined(_LIB) 00085 #define EXPORT_DLL 00086 #elif defined(_USRDLL) 00087 #define EXPORT_DLL __declspec(dllexport) 00088 #else 00089 #define EXPORT_DLL __declspec(dllimport) 00090 #endif 00091 #endif /* _WIN32 && EXPORT_DLL */ 00092 00093 #include "srm.h" 00094 00095 #ifdef __cplusplus 00096 extern "C" { 00097 #endif 00098 00104 typedef SRM_Status_Code SRM_TM_GetSRFParameters 00105 ( 00106 SRM_Object_Reference this_object, 00107 SRM_TM_Parameters *parameters /* OUT */ 00108 ); 00109 00110 00111 typedef struct 00112 { 00113 SRM_AssociateSurfaceCoordinateEH *AssociateSurfaceCoordinate; 00114 SRM_ChangeCoordinate3DArraySRF *ChangeCoordinate3DArraySRF; 00115 SRM_ChangeCoordinate3DArraySRFObject *ChangeCoordinate3DArraySRFObject; 00116 SRM_ChangeCoordinate3DSRF *ChangeCoordinate3DSRF; 00117 SRM_ChangeCoordinate3DSRFObject *ChangeCoordinate3DSRFObject; 00118 SRM_ChangeDirectionArraySRF *ChangeDirectionArraySRF; 00119 SRM_ChangeDirectionArraySRFObject *ChangeDirectionArraySRFObject; 00120 SRM_ChangeDirectionSRF *ChangeDirectionSRF; 00121 SRM_ChangeDirectionSRFObject *ChangeDirectionSRFObject; 00122 SRM_ComputeSRFOrientation *ComputeSRFOrientation; 00123 SRM_CreateLococentricEuclidean3DSRF *CreateLococentricEuclidean3DSRF; 00124 SRM_TransformOrientation *TransformOrientation; 00125 SRM_TransformOrientationCommonOrigin *TransformOrientationCommonOrigin; 00126 SRM_TransformVectorInBodyFrame *TransformVectorInBodyFrame; 00127 SRM_TransformVectorInBodyFrameCommonOrigin *TransformVectorInBodyFrameCommonOrigin; 00128 SRM_TransformVector *TransformVector; 00129 SRM_TransformVectorCommonOrigin *TransformVectorCommonOrigin; 00130 SRM_ConvergenceOfTheMeridian *ConvergenceOfTheMeridian; 00131 SRM_CreateCoordinate3D *CreateCoordinate3D; 00132 SRM_CreateDirection *CreateDirection; 00133 SRM_CreateLocalTangentSpaceEuclideanSRF *CreateLocalTangentSpaceEuclideanSRF; 00134 SRM_CreateSurfaceCoordinateEH *CreateSurfaceCoordinate; 00135 SRM_Destroy *Destroy; 00136 SRM_DestroyCoordinate3D *DestroyCoordinate3D; 00137 SRM_DestroyDirection *DestroyDirection; 00138 SRM_DestroySurfaceCoordinateEH *DestroySurfaceCoordinate; 00139 SRM_EuclideanDistance3D *EuclideanDistance3D; 00140 SRM_EuclideanDistanceEH *EuclideanDistanceEH; 00141 SRM_GeodesicDistance *GeodesicDistance; 00142 SRM_GetCoordinate3DValues *GetCoordinate3DValues; 00143 SRM_GetCSCode *GetCSCode; 00144 SRM_GetA *GetA; 00145 SRM_GetF *GetF; 00146 SRM_GetDirectionValues *GetDirectionValues; 00147 SRM_GetNaturalSRFSMemberCode *GetNaturalSRFSMemberCode; 00148 SRM_GetExtendedValidGeodeticRegion *GetExtendedValidGeodeticRegion; 00149 SRM_GetExtendedValidRegion *GetExtendedValidRegion; 00150 SRM_GetORMCodes *GetORMCodes; 00151 SRM_GetSRFCodes *GetSRFCodes; 00152 SRM_TM_GetSRFParameters *GetSRFParameters; 00153 SRM_GetSurfaceCoordinateValuesEH *GetSurfaceCoordinateValues; 00154 SRM_GetValidGeodeticRegion *GetValidGeodeticRegion; 00155 SRM_GetValidRegion *GetValidRegion; 00156 SRM_MapAzimuth *MapAzimuth; 00157 SRM_PromoteSurfaceCoordinateEH *PromoteSurfaceCoordinate; 00158 SRM_PointDistortion *PointDistortion; 00159 SRM_SetCoordinate3DValues *SetCoordinate3DValues; 00160 SRM_SetExtendedValidGeodeticRegion *SetExtendedValidGeodeticRegion; 00161 SRM_SetExtendedValidRegion *SetExtendedValidRegion; 00162 SRM_SetValidGeodeticRegion *SetValidGeodeticRegion; 00163 SRM_SetValidRegion *SetValidRegion; 00164 SRM_VerticalOffset *VerticalOffset; 00165 } SRM_TM_Method_List; 00166 00171 typedef struct 00172 { 00173 void *state; 00174 SRM_TM_Method_List *methods; 00175 } SRM_TransverseMercator; 00176 00177 00185 EXPORT_DLL extern SRM_Status_Code 00186 SRM_TM_Create 00187 ( 00188 SRM_ORM_Code orm_code, 00189 SRM_RT_Code rt_code, 00190 const SRM_TM_Parameters *parameters, 00191 SRM_TransverseMercator *new_srf /* OUT */ 00192 ); 00193 00194 #ifdef __cplusplus 00195 } 00196 #endif 00197 00198 #endif /* #ifndef/define/endif for SRM_TRANSVERSEMERCATOR_H_INCLUDED */
C API | Version: 4.4 - December 7, 2009 |
Copyright © 2009 SEDRIS | Docs by Doxygen 1.3.2 |