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