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.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 

Generated on Wed May 31 15:26:38 2006 for TNTsdk by  doxygen 1.3.8-20040913