00001
00002
00003
00004
00006
00008
00009
00010
00012
00013
00014
00015 #ifndef SRM_BASESRFWITHELLIPSOIDALHEIGHT_H_INCLUDED
00016 #define SRM_BASESRFWITHELLIPSOIDALHEIGHT_H_INCLUDED
00017
00018 #if !defined(_WIN32)
00019 #define EXPORT_DLL
00020 #elif !defined(EXPORT_DLL)
00021 #if defined(_LIB)
00022 #define EXPORT_DLL
00023 #elif defined(_USRDLL)
00024 #define EXPORT_DLL __declspec(dllexport)
00025 #else
00026 #define EXPORT_DLL __declspec(dllimport)
00027 #endif
00028 #endif
00029
00030 #include "srm.h"
00031
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035
00042 typedef SRM_Status_Code SRM_AssociateSurfaceCoordinateEH
00043 (
00044 SRM_Object_Reference this_object,
00045 const SRM_Coordinate3D *coordinate,
00046 SRM_SurfaceCoordinate *on_surface_coordinate
00047 );
00048
00059 typedef SRM_Status_Code SRM_CreateLocalTangentSpaceEuclideanSRF
00060 (
00061 SRM_Object_Reference this_object,
00062 const SRM_SurfaceCoordinate *surface_coordinate,
00063 SRM_Long_Float azimuth,
00064 SRM_Long_Float false_x_origin,
00065 SRM_Long_Float false_y_origin,
00066 SRM_Long_Float offset_height,
00067 SRM_LocalTangentSpaceEuclidean *local_tangent_Euclidean_srf
00068 );
00069
00077 typedef SRM_Status_Code SRM_CreateSurfaceCoordinateEH
00078 (
00079 SRM_Object_Reference this_object,
00080 SRM_Long_Float first_coordinate_component,
00081 SRM_Long_Float second_coordinate_component,
00082 SRM_SurfaceCoordinate *new_coordinate
00083 );
00084
00090 typedef SRM_Status_Code SRM_DestroySurfaceCoordinateEH
00091 (
00092 SRM_Object_Reference this_object,
00093 SRM_Object_Reference coordinate
00094 );
00095
00103 typedef SRM_Status_Code SRM_EuclideanDistanceEH
00104 (
00105 SRM_Object_Reference this_object,
00106 const SRM_SurfaceCoordinate *point1_coordinate,
00107 const SRM_SurfaceCoordinate *point2_coordinate,
00108 SRM_Long_Float *distance
00109 );
00110
00118 typedef SRM_Status_Code SRM_GeodesicDistance
00119 (
00120 SRM_Object_Reference this_object,
00121 const SRM_SurfaceCoordinate *point1_coordinate,
00122 const SRM_SurfaceCoordinate *point2_coordinate,
00123 SRM_Long_Float *distance
00124 );
00125
00133 typedef SRM_Status_Code SRM_GetSurfaceCoordinateValuesEH
00134 (
00135 SRM_Object_Reference this_object,
00136 const SRM_SurfaceCoordinate *coordinate,
00137 SRM_Long_Float *first_coordinate_component,
00138 SRM_Long_Float *second_coordinate_component
00139 );
00140
00148 typedef SRM_Status_Code SRM_PromoteSurfaceCoordinateEH
00149 (
00150 SRM_Object_Reference this_object,
00151 const SRM_SurfaceCoordinate *surface_coordinate,
00152 SRM_Coordinate3D *coordinate
00153 );
00154
00162 typedef SRM_Status_Code SRM_VerticalOffset
00163 (
00164 SRM_Object_Reference this_object,
00165 SRM_DSS_Code dss_code,
00166 const SRM_SurfaceCoordinate *surface_coordinate,
00167 SRM_Long_Float *separation
00168 );
00169
00170 #ifdef __cplusplus
00171 }
00172 #endif
00173 #endif