Main Page | Alphabetical List | Compound List | File List | Compound Members | File Members

srm_struct_util.h

Go to the documentation of this file.
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 
00079 
00089 /*
00090  * For other release dates/detailed changes, contact SAIC.
00091  */
00092 
00093 /*
00094  * Ensure that srm_struct_util.h is only included once.
00095  */
00096 #ifndef _SRM_STRUCT_UTIL_H_INCLUDED
00097 #define _SRM_STRUCT_UTIL_H_INCLUDED
00098 
00099 #if !defined(_WIN32)
00100 #define EXPORT_DLL
00101 #elif !defined(EXPORT_DLL)
00102 #if defined(_LIB)
00103 #define EXPORT_DLL
00104 #elif defined(_USRDLL)
00105 #define EXPORT_DLL __declspec(dllexport)
00106 #else
00107 #define EXPORT_DLL __declspec(dllimport)
00108 #endif
00109 #endif /* _WIN32 && EXPORT_DLL */
00110 
00111 /*
00112  * Allow C++ compilers to use this API without any problems
00113  */
00114 #ifdef __cplusplus
00115 extern "C" {
00116 #endif
00117 
00118 #include "srm_types.h"
00119 
00123 EXPORT_DLL extern SRM_Status_Code
00124 SRM_CreateSRFFromSRFTemplateParams
00125 (
00126     const SRM_SRFT_Parameters  *srft_params_in_ptr,
00127           SRM_RT_Code          rt_code,
00128           SRM_Object_Reference *srf_out_ptr
00129 );
00130 
00134 EXPORT_DLL extern SRM_Status_Code
00135 SRM_DestroySRF
00136 (
00137     SRM_Object_Reference srf_ptr
00138 );
00139 
00143 EXPORT_DLL extern SRM_Status_Code 
00144 SRM_CreateCoordinateFromCoordinateParams
00145 ( 
00146           SRM_Object_Reference    srf, 
00147     const SRM_Coordinate          *coord_params_in_ptr, 
00148           SRM_Object_Reference    *coordinate_out_ptr 
00149 );
00150 
00154 EXPORT_DLL extern SRM_Status_Code 
00155 SRM_DestroyCoordinate
00156 ( 
00157     SRM_Object_Reference    coordinate_ptr 
00158 );
00159 
00164 EXPORT_DLL extern SRM_Status_Code 
00165 SRM_GetCoordFromCoordinate
00166 ( 
00167     SRM_Object_Reference  coordinate, 
00168     SRM_Coordinate        *coord_params_out_ptr
00169 );
00170 
00175 EXPORT_DLL extern SRM_Status_Code 
00176 SRM_SetCoordValues
00177 ( 
00178     SRM_Object_Reference  coord_in_ptr,  
00179     SRM_Long_Float        oordinate1_in,
00180     SRM_Long_Float        oordinate2_in,  
00181     SRM_Long_Float        oordinate3_in 
00182 );
00183 
00188 EXPORT_DLL extern SRM_Status_Code 
00189 SRM_GetCoordValues
00190 ( 
00191       const SRM_Object_Reference  coord_in_ptr,  
00192             SRM_Long_Float        *oordinate1_out_ptr,
00193             SRM_Long_Float        *oordinate2_out_ptr, 
00194             SRM_Long_Float        *oordinate3_out_ptr
00195 );
00196 
00200 EXPORT_DLL extern SRM_Boolean 
00201 SRM_IsCoordAngular
00202 ( 
00203         const SRM_Object_Reference coord_in_ptr
00204 );
00205 
00209 EXPORT_DLL extern SRM_Boolean 
00210 SRM_IsCoord2D
00211 ( 
00212         const SRM_Object_Reference coord_in_ptr 
00213 );
00214 
00218 EXPORT_DLL extern SRM_Boolean 
00219 SRM_IsCoordSurface
00220 ( 
00221         const SRM_Object_Reference coord_in_ptr 
00222 );
00223 
00227 EXPORT_DLL extern SRM_Boolean 
00228 SRM_IsCoord3D
00229 ( 
00230         const SRM_Object_Reference coord_in_ptr
00231 );
00232 
00233 #ifdef __cplusplus
00234 }
00235 #endif
00236 
00237 #endif
00238 
00239 
00240 

C API Version: 4.4 - December 7, 2009
Copyright © 2009 SEDRIS Docs by Doxygen 1.3.2