00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef GLGEOMETRICOBJECT_H
00019 #define GLGEOMETRICOBJECT_H
00020
00021 #include "glscene.h"
00022
00027 namespace GLScene
00028 {
00029
00030 class GLGeometricObject: public GLSceneObject
00031 {
00032 protected:
00033
00034 GLVector origin;
00035
00036 public:
00037
00038 GLGeometricObject();
00039 GLGeometricObject(const GLGeometricObject&);
00040 virtual ~GLGeometricObject();
00041
00042 virtual void setLOD(unsigned l) { lod = l; }
00043 inline const unsigned getLOD(void) const { return lod; }
00044
00046
00047
00048
00049 inline void setPosition( GLVector v )
00050 { origin.set(v); }
00051 inline GLVector getPosition( void )
00052 { return origin; }
00053
00054 virtual bool intersection( GLGeometricObject* obj ) = 0;
00055 virtual bool inclusion( GLGeometricObject* obj ) = 0;
00056
00058 virtual void setVisible( const bool& _newVal);
00060 virtual const bool& getVisible() const;
00061
00062 protected:
00063 unsigned lod;
00064
00065 private:
00068 bool visible;
00069 };
00070
00071 };
00072 #endif