gre/3dvcgeom.h

Go to the documentation of this file.
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 

Generated on Thu Apr 26 04:03:30 2007 for TNTsdk by  doxygen 1.5.2