Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members

glgeometricobject.h

00001 /***************************************************************************
00002                           glgeometricobject.h  -  description
00003                              -------------------
00004     begin                : Sat Jul 19 2003
00005     copyright            : (C) 2003 by Jacques Gasselin de Richebourg
00006     email                : jacquesgasselin@hotmail.com
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU Lesser General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
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    /*   virtual GLVector getVectorToFurthestPoint(const GLVector& fromPoint) = 0;
00047       virtual GLVector getVectorToNearestPoint(const GLVector& fromPoint) = 0; */
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: // Private attributes
00068       bool visible;
00069    };
00070 
00071 };
00072 #endif

Generated on Wed Feb 4 23:11:33 2004 by doxygen 1.3.3