00001
00002
00003
00004
00006
00008
00009
00010
00012
00013
00014 #ifndef SRM_BASESRF3D_H_INCLUDED
00015 #define SRM_BASESRF3D_H_INCLUDED
00016
00017 #if !defined(_WIN32)
00018 #define EXPORT_DLL
00019 #elif !defined(EXPORT_DLL)
00020 #if defined(_LIB)
00021 #define EXPORT_DLL
00022 #elif defined(_USRDLL)
00023 #define EXPORT_DLL __declspec(dllexport)
00024 #else
00025 #define EXPORT_DLL __declspec(dllimport)
00026 #endif
00027 #endif
00028
00029 #include "srm.h"
00030
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
00034
00035
00045 typedef SRM_Status_Code SRM_ChangeCoordinate3DSRF
00046 (
00047 SRM_Object_Reference this_object,
00048 const SRM_Object_Reference source_srf,
00049 const SRM_Coordinate3D *source_coordinate,
00050 SRM_Coordinate3D *target_coordinate,
00051 SRM_Coordinate_Valid_Region *region
00052 );
00053
00066 typedef SRM_Status_Code SRM_ChangeCoordinate3DSRFObject
00067 (
00068 SRM_Object_Reference this_object,
00069 const SRM_Object_Reference source_srf,
00070 const SRM_Coordinate3D *source_coordinate,
00071 const SRM_ORM_Transformation_3D_Parameters *h_st,
00072 SRM_Coordinate3D *target_coordinate,
00073 SRM_Coordinate_Valid_Region *region
00074 );
00075
00076
00089 typedef SRM_Status_Code SRM_ChangeCoordinate3DArraySRF
00090 (
00091 SRM_Object_Reference this_object,
00092 const SRM_Object_Reference source_srf,
00093 const SRM_Coordinate3D_Array *source_coordinate_array,
00094 SRM_Coordinate3D_Array *target_coordinate_array,
00095 SRM_Integer_Positive *index,
00096 SRM_Coordinate_Valid_Region_Array *region_array
00097 );
00098
00111 typedef SRM_Status_Code SRM_ChangeCoordinate3DArraySRFObject
00112 (
00113 SRM_Object_Reference this_object,
00114 const SRM_Object_Reference source_srf,
00115 const SRM_Coordinate3D_Array *source_coordinate_array,
00116 const SRM_ORM_Transformation_3D_Parameters *h_st,
00117 SRM_Coordinate3D_Array *target_coordinate_array,
00118 SRM_Integer_Positive *index,
00119 SRM_Coordinate_Valid_Region_Array *region_array
00120 );
00121
00131 typedef SRM_Status_Code SRM_ChangeDirectionSRF
00132 (
00133 SRM_Object_Reference this_object,
00134 const SRM_Object_Reference source_srf,
00135 const SRM_Direction *source_direction,
00136 SRM_Direction *target_direction,
00137 SRM_Coordinate_Valid_Region *ref_coord_region
00138 );
00139
00152 typedef SRM_Status_Code SRM_ChangeDirectionSRFObject
00153 (
00154 SRM_Object_Reference this_object,
00155 const SRM_Object_Reference source_srf,
00156 const SRM_Direction *source_direction,
00157 const SRM_ORM_Transformation_3D_Parameters *h_st,
00158 SRM_Direction *target_direction,
00159 SRM_Coordinate_Valid_Region *ref_coord_region
00160 );
00161
00172 typedef SRM_Status_Code SRM_ChangeDirectionArraySRF
00173 (
00174 SRM_Object_Reference this_object,
00175 const SRM_Object_Reference source_srf,
00176 const SRM_Direction_Array *source_direction_array,
00177 SRM_Direction_Array *target_direction_array,
00178 SRM_Integer_Positive *index,
00179 SRM_Coordinate_Valid_Region_Array *ref_coord_region_array
00180 );
00181
00195 typedef SRM_Status_Code SRM_ChangeDirectionArraySRFObject
00196 (
00197 SRM_Object_Reference this_object,
00198 const SRM_Object_Reference source_srf,
00199 const SRM_Direction_Array *source_direction_array,
00200 const SRM_ORM_Transformation_3D_Parameters *h_st,
00201 SRM_Direction_Array *target_direction_array,
00202 SRM_Integer_Positive *index,
00203 SRM_Coordinate_Valid_Region_Array *ref_coord_region_array
00204 );
00205
00214 typedef SRM_Status_Code SRM_CreateCoordinate3D
00215 (
00216 SRM_Object_Reference this_object,
00217 SRM_Long_Float first_coordinate_component,
00218 SRM_Long_Float second_coordinate_component,
00219 SRM_Long_Float third_coordinate_component,
00220 SRM_Coordinate3D *new_coordinate
00221 );
00222
00230 typedef SRM_Status_Code SRM_CreateOrientation
00231 (
00232 SRM_Object_Reference this_object,
00233 const SRM_Coordinate3D *reference_coordinate,
00234 SRM_Matrix_3x3 matrix,
00235 SRM_Orientation *new_orientation
00236 );
00237
00247 typedef SRM_Status_Code SRM_CreateDirection
00248 (
00249 SRM_Object_Reference this_object,
00250 const SRM_Coordinate3D *reference_coordinate,
00251 SRM_Long_Float first_direction_component,
00252 SRM_Long_Float second_direction_component,
00253 SRM_Long_Float third_direction_component,
00254 SRM_Direction *new_direction
00255 );
00256
00257
00267 typedef SRM_Status_Code SRM_ChangeOrientationSRF
00268 (
00269 SRM_Object_Reference this_object,
00270 const SRM_Object_Reference source_srf,
00271 const SRM_Orientation *source_orientation,
00272 SRM_Orientation *target_orientation,
00273 SRM_Coordinate_Valid_Region *ref_coord_region
00274 );
00275
00288 typedef SRM_Status_Code SRM_ChangeOrientationSRFObject
00289 (
00290 SRM_Object_Reference this_object,
00291 const SRM_Object_Reference source_srf,
00292 const SRM_Orientation *source_orientation,
00293 const SRM_ORM_Transformation_3D_Parameters *h_st,
00294 SRM_Orientation *target_orientation,
00295 SRM_Coordinate_Valid_Region *ref_coord_region
00296 );
00297
00302 typedef SRM_Status_Code SRM_DestroyCoordinate3D
00303 (
00304 SRM_Object_Reference this_object,
00305 SRM_Object_Reference coordinate
00306 );
00307
00308
00313 typedef SRM_Status_Code SRM_DestroyDirection
00314 (
00315 SRM_Object_Reference this_object,
00316 SRM_Object_Reference direction
00317 );
00318
00323 typedef SRM_Status_Code SRM_DestroyOrientation
00324 (
00325 SRM_Object_Reference this_object,
00326 SRM_Object_Reference orientation
00327 );
00328
00329
00337 typedef SRM_Status_Code SRM_EuclideanDistance3D
00338 (
00339 SRM_Object_Reference this_object,
00340 const SRM_Coordinate3D *point1_coordinate,
00341 const SRM_Coordinate3D *point2_coordinate,
00342 SRM_Long_Float *distance
00343 );
00344
00353 typedef SRM_Status_Code SRM_GetCoordinate3DValues
00354 (
00355 SRM_Object_Reference this_object,
00356 const SRM_Coordinate3D *coordinate,
00357 SRM_Long_Float *first_coordinate_component,
00358 SRM_Long_Float *second_coordinate_component,
00359 SRM_Long_Float *third_coordinate_component
00360 );
00361
00370 typedef SRM_Status_Code SRM_GetOrientationValues
00371 (
00372 SRM_Object_Reference this_object,
00373 const SRM_Orientation *orientation,
00374 SRM_Coordinate3D *reference_coordinate,
00375 SRM_Matrix_3x3 *matrix
00376 );
00377
00387 typedef SRM_Status_Code SRM_GetDirectionValues
00388 (
00389 SRM_Object_Reference this_object,
00390 const SRM_Direction *direction,
00391 SRM_Coordinate3D *reference_coordinate,
00392 SRM_Long_Float *first_direction_component,
00393 SRM_Long_Float *second_direction_component,
00394 SRM_Long_Float *third_direction_component
00395 );
00396
00397
00412 typedef SRM_Status_Code SRM_GetExtendedValidRegion
00413 (
00414 SRM_Object_Reference this_object,
00415 SRM_Integer component_identifier,
00416 SRM_Interval_Type *interval_type,
00417 SRM_Long_Float *extended_lower_bound,
00418 SRM_Long_Float *lower_bound,
00419 SRM_Long_Float *upper_bound,
00420 SRM_Long_Float *extended_upper_bound
00421 );
00422
00423
00436 typedef SRM_Status_Code SRM_GetValidRegion
00437 (
00438 SRM_Object_Reference this_object,
00439 SRM_Integer component_identifier,
00440 SRM_Interval_Type *interval_type,
00441 SRM_Long_Float *lower_bound,
00442 SRM_Long_Float *upper_bound
00443 );
00444
00454 typedef SRM_Status_Code SRM_GetNaturalSRFSMemberCode
00455 (
00456 SRM_Object_Reference this_object,
00457 const SRM_Coordinate3D *source_coordinate,
00458 SRM_ORM_Code orm_code,
00459 SRM_RT_Code rt_code,
00460 SRM_SRFS_Code target_srfs,
00461 SRM_SRFS_Code_Info *srfs_code_info
00462 );
00463
00464
00465
00485 typedef SRM_Status_Code SRM_SetExtendedValidRegion
00486 (
00487 SRM_Object_Reference this_object,
00488 SRM_Integer component_identifier,
00489 SRM_Interval_Type interval_type,
00490 SRM_Long_Float extended_lower_bound,
00491 SRM_Long_Float lower_bound,
00492 SRM_Long_Float upper_bound,
00493 SRM_Long_Float extended_upper_bound
00494 );
00495
00496
00512 typedef SRM_Status_Code SRM_SetValidRegion
00513 (
00514 SRM_Object_Reference this_object,
00515 SRM_Integer component_identifier,
00516 SRM_Interval_Type interval_type,
00517 SRM_Long_Float lower_bound,
00518 SRM_Long_Float upper_bound
00519 );
00520
00521
00522
00523 #ifdef __cplusplus
00524 }
00525 #endif
00526 #endif
00527
00528