00001 // SRM SDK Release 4.1.2 - July 1, 2009 00002 00003 // - SRM spec. 4.1 00004 00005 /* 00006 * NOTICE 00007 * 00008 * This software is provided openly and freely for use in representing and 00009 * interchanging environmental data & databases. 00010 * 00011 * This software was developed for use by the United States Government with 00012 * unlimited rights. The software was developed under contract 00013 * DASG60-02-D-0006 TO-193 by Science Applications International Corporation. 00014 * The software is unclassified and is deemed as Distribution A, approved 00015 * for Public Release. 00016 * 00017 * Use by others is permitted only upon the ACCEPTANCE OF THE TERMS AND 00018 * CONDITIONS, AS STIPULATED UNDER THE FOLLOWING PROVISIONS: 00019 * 00020 * 1. Recipient may make unlimited copies of this software and give 00021 * copies to other persons or entities as long as the copies contain 00022 * this NOTICE, and as long as the same copyright notices that 00023 * appear on, or in, this software remain. 00024 * 00025 * 2. Trademarks. All trademarks belong to their respective trademark 00026 * holders. Third-Party applications/software/information are 00027 * copyrighted by their respective owners. 00028 * 00029 * 3. Recipient agrees to forfeit all intellectual property and 00030 * ownership rights for any version created from the modification 00031 * or adaptation of this software, including versions created from 00032 * the translation and/or reverse engineering of the software design. 00033 * 00034 * 4. Transfer. Recipient may not sell, rent, lease, or sublicense 00035 * this software. Recipient may, however enable another person 00036 * or entity the rights to use this software, provided that this 00037 * AGREEMENT and NOTICE is furnished along with the software and 00038 * /or software system utilizing this software. 00039 * 00040 * All revisions, modifications, created by the Recipient, to this 00041 * software and/or related technical data shall be forwarded by the 00042 * Recipient to the Government at the following address: 00043 * 00044 * SMDC 00045 * Attention SEDRIS (TO193) TPOC 00046 * P.O. Box 1500 00047 * Hunstville, AL 35807-3801 00048 * 00049 * or via electronic mail to: [email protected] 00050 * 00051 * 5. No Warranty. This software is being delivered to you AS IS 00052 * and there is no warranty, EXPRESS or IMPLIED, as to its use 00053 * or performance. 00054 * 00055 * The RECIPIENT ASSUMES ALL RISKS, KNOWN AND UNKNOWN, OF USING 00056 * THIS SOFTWARE. The DEVELOPER EXPRESSLY DISCLAIMS, and the 00057 * RECIPIENT WAIVES, ANY and ALL PERFORMANCE OR RESULTS YOU MAY 00058 * OBTAIN BY USING THIS SOFTWARE OR DOCUMENTATION. THERE IS 00059 * NO WARRANTY, EXPRESS OR, IMPLIED, AS TO NON-INFRINGEMENT OF 00060 * THIRD PARTY RIGHTS, MERCHANTABILITY, OR FITNESS FOR ANY 00061 * PARTICULAR PURPOSE. IN NO EVENT WILL THE DEVELOPER, THE 00062 * UNITED STATES GOVERNMENT OR ANYONE ELSE ASSOCIATED WITH THE 00063 * DEVELOPMENT OF THIS SOFTWARE BE HELD LIABLE FOR ANY CONSEQUENTIAL, 00064 * INCIDENTAL OR SPECIAL DAMAGES, INCLUDING ANY LOST PROFITS 00065 * OR LOST SAVINGS WHATSOEVER. 00066 */ 00067 00068 // SRM_OTHERS_GOES_HERE 00069 00070 // $Id: Direction.h,v 1.11 2007/11/27 20:37:40 shend Exp $ 00071 00072 #ifndef _Direction_h 00073 #define _Direction_h 00074 00080 #include "BaseSRF.h" 00081 #include "Exception.h" 00082 00083 namespace srm 00084 { 00085 00090 class EXPORT_SRM_CPP_DLL Direction 00091 { 00092 public: 00093 00097 BaseSRF *getSRF() const { 00098 return _srf; 00099 } 00100 00104 void getRefCoord( Coord3D &coord ) const; 00105 00107 const SRM_Long_Float *getRefCoord() const; 00108 00110 void getDir( SRM_Vector_3D vec ) const; 00111 00113 SRM_Long_Float getVectorComp1() const; 00114 00116 SRM_Long_Float getVectorComp2() const; 00117 00119 SRM_Long_Float getVectorComp3() const; 00120 00125 SRM_Long_Float getVectorComp( SRM_Integer index ) const; 00126 00128 void setVectorComp( const SRM_Long_Float comp1, 00129 const SRM_Long_Float comp2, 00130 const SRM_Long_Float comp3 ); 00131 00136 void setVectorComp( const SRM_Integer index, 00137 const SRM_Long_Float comp ); 00138 00140 void setVector( const SRM_Vector_3D vec ); 00141 00143 bool isEqual( const Direction &dir ) const; 00144 00146 Direction* makeCopy() const; 00147 00148 protected: 00149 00150 friend class BaseSRF_3D; 00151 00155 Direction( BaseSRF *srf, 00156 const SRM_Vector_3D ref_coord, 00157 const SRM_Vector_3D vec ); 00158 00160 virtual ~Direction() { 00161 _srf->release(); 00162 } 00163 00164 Direction &operator =( const Direction & ) { return *this; } 00165 00167 BaseSRF *_srf; 00169 SRM_Vector_3D _ref_coord; 00171 SRM_Vector_3D _vec; 00172 }; 00173 00174 } // namespace srm 00175 00176 #endif // _Direction_h 00177
| Spatial Reference Model C++ API | Version 4.1.2 - 1 Jul 2009 |
| Copyright © 2009 SEDRIS | Docs by Doxygen 1.3.2 |