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

srm_LococentricEuclidean3D.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 #ifndef SRM_LOCOCENTRICEUCLIDEAN3D_H_INCLUDED
00079 #define SRM_LOCOCENTRICEUCLIDEAN3D_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_LCE_3D_GetSRFParameters
00105 (
00106     SRM_Object_Reference   this_object,
00107     SRM_LCE_3D_Parameters *parameters /* OUT */
00108 );
00109 
00110 
00111 typedef struct
00112 {
00113     SRM_ChangeCoordinate3DArraySRF             *ChangeCoordinate3DArraySRF;
00114     SRM_ChangeCoordinate3DArraySRFObject       *ChangeCoordinate3DArraySRFObject;
00115     SRM_ChangeCoordinate3DSRF                  *ChangeCoordinate3DSRF;
00116     SRM_ChangeCoordinate3DSRFObject            *ChangeCoordinate3DSRFObject;
00117     SRM_ChangeDirectionArraySRF                *ChangeDirectionArraySRF;
00118     SRM_ChangeDirectionArraySRFObject          *ChangeDirectionArraySRFObject;
00119     SRM_ChangeDirectionSRF                     *ChangeDirectionSRF;
00120     SRM_ChangeDirectionSRFObject               *ChangeDirectionSRFObject;
00121     SRM_CreateCoordinate3D                     *CreateCoordinate3D;
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_CreateDirection                        *CreateDirection;
00131     SRM_Destroy                                *Destroy;
00132     SRM_DestroyCoordinate3D                    *DestroyCoordinate3D;
00133     SRM_DestroyDirection                       *DestroyDirection;
00134     SRM_EuclideanDistance3D                    *EuclideanDistance3D;
00135     SRM_GetCoordinate3DValues                  *GetCoordinate3DValues;
00136     SRM_GetCSCode                              *GetCSCode;
00137     SRM_GetA                                   *GetA;
00138     SRM_GetF                                   *GetF;
00139     SRM_GetDirectionValues                     *GetDirectionValues;
00140     SRM_GetNaturalSRFSMemberCode               *GetNaturalSRFSMemberCode;
00141     SRM_GetExtendedValidRegion                 *GetExtendedValidRegion;
00142     SRM_GetORMCodes                            *GetORMCodes;
00143     SRM_GetSRFCodes                            *GetSRFCodes;
00144     SRM_LCE_3D_GetSRFParameters                *GetSRFParameters;
00145     SRM_GetValidRegion                         *GetValidRegion;
00146     SRM_SetCoordinate3DValues                  *SetCoordinate3DValues;
00147     SRM_SetExtendedValidRegion                 *SetExtendedValidRegion;
00148     SRM_SetValidRegion                         *SetValidRegion;
00149 } SRM_LCE_3D_Method_List;
00150 
00151 
00156 struct _SRM_LococentricEuclidean3D
00157 {
00158     void                   *state;
00159     SRM_LCE_3D_Method_List *methods;
00160 };
00161 
00162 
00170 EXPORT_DLL extern SRM_Status_Code
00171 SRM_LCE_3D_Create
00172 (
00173           SRM_ORM_Code                orm_code,
00174           SRM_RT_Code                 rt_code,
00175     const SRM_LCE_3D_Parameters      *parameters,
00176           SRM_LococentricEuclidean3D *new_srf /* OUT */
00177 );
00178 
00179 #ifdef __cplusplus
00180 }
00181 #endif
00182 #endif /* #ifndef/define/endif for SRM_LOCOCENTRICEUCLIDEAN3D_H_INCLUDED */

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