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