00001 /*** 00002 * \file gre/3dvcgeom.h 00003 * \brief VECTOR_GEOMETRIC3D algorithms 00004 * 00005 * \if NODOC 00006 * $Id: 3dvcgeom.h_v 1.4 2005/10/27 13:08:05 mju Exp $ 00007 * 00008 * $Log: 3dvcgeom.h_v $ 00009 * Revision 1.4 2005/10/27 13:08:05 mju 00010 * Use gre namespace instead of legacy types. 00011 * 00012 * Revision 1.3 2005/03/10 21:43:25 vdronov 00013 * *** empty log message *** 00014 * 00015 * Revision 1.2 2005/02/17 17:57:14 vdronov 00016 * *** empty log message *** 00017 * 00018 * Revision 1.1 2005/02/01 17:25:41 vdronov 00019 * Initial revision 00020 * 00021 * Revision 1.17 2004/12/01 17:28:24 vdronov 00022 * ALIGN 00023 * 00024 * \endif 00025 **/ 00026 00027 #ifndef INC_GRE_3DVCGEOM_H 00028 #define INC_GRE_3DVCGEOM_H 00029 00030 #ifndef INC_GRE_3DGEOMET_H 00031 #include <gre/3dgeomet.h> 00032 #endif 00033 00034 #ifndef INC_RVC_VECTOR_H 00035 #include <rvc/vector.h> 00036 #endif 00037 00038 #ifndef INC_GRE_LRVECTOR_H 00039 #include <gre/lrvector.h> 00040 #endif 00041 00042 namespace GRE { 00043 00044 class VECTOR_GEOMETRIC3D : public GEOMETRIC3D { 00045 public: 00046 00047 VECTOR_GEOMETRIC3D ( 00048 ); 00049 00050 virtual ~VECTOR_GEOMETRIC3D ( //! Destructor 00051 ); 00052 00053 RVC::VECTOR* GetVector () {return &m_Vector; }; 00054 GRE::LAYER_VECTOR* GetVectorLayer () { return m_Layer; }; 00055 double ComputeScale (const INT32 id, const ELEMTYPE elemtype); 00056 00057 private: 00058 #ifndef GENERATING_DOXYGEN_OUTPUT 00059 00060 RVC::VECTOR m_Vector; 00061 GRE::LAYER_VECTOR *m_Layer; 00062 DRECT3D ALIGN16(m_Extents); 00063 SPATREF::COORDREFSYS m_CoordRefSys; 00064 TRANS2D_MAPGEN m_Transformation; 00065 00066 VECTOR_GEOMETRIC3D ( //! Copy constructor (not implemented) 00067 const VECTOR_GEOMETRIC3D& rhs 00068 ); 00069 00070 VECTOR_GEOMETRIC3D& operator= ( //! Assignment operator (not implemented) 00071 const VECTOR_GEOMETRIC3D& rhs 00072 ); 00073 00074 ERRVALUE UpdateExtents ( 00075 TRANS2D_MAPGEN& transformation, 00076 DRECT3D& extents 00077 ); 00078 00079 GEOMETRIC3D* v_CreateInstance ( 00080 ) { return new VECTOR_GEOMETRIC3D(); }; 00081 00082 ERRVALUE v_Build ( 00083 const GRE::LAYER *layer 00084 ); 00085 00086 void v_Free ( 00087 ); 00088 00089 const DRECT3D& v_GetExtents ( 00090 ) { return m_Extents; }; 00091 00092 void v_SetCoordRefSys ( 00093 const SPATREF::COORDREFSYS& CoordRefSys 00094 ); 00095 00096 const SPATREF::COORDREFSYS v_GetCoordRefSys ( 00097 ) { return m_CoordRefSys; }; 00098 00099 const TRANS2D_MAPGEN& v_GetTransformationInternalToModel ( 00100 ) { return m_Transformation; }; 00101 00102 void OnDrawBegin ( GRE::GEOMETRIC3D_BUILDER* builder, const bool wireframe = false); 00103 00104 void OnDrawEnd (); 00105 00106 00107 #endif // GENERATING_DOXYGEN_OUTPUT 00108 00109 }; 00110 00111 } // End of GRE namespace 00112 00113 #endif 00114 00115 00116
1.5.2