SelectableThing.h

00001 #ifndef SELECTABLETHING_H
00002 #define SELECTABLETHING_H
00003 #include <QGLViewer/qglviewer.h>
00004 #include "global.h"
00005 
00006 /*
00007   _____      _           _        _     _   _______ _     _             
00008  / ____|    | |         | |      | |   | | |__   __| |   (_)            
00009 | (___   ___| | ___  ___| |_ __ _| |__ | | ___| |  | |__  _ _ __   __ _ 
00010  \___ \ / _ \ |/ _ \/ __| __/ _` | '_ \| |/ _ \ |  | '_ \| | '_ \ / _` |
00011  ____) |  __/ |  __/ (__| || (_| | |_) | |  __/ |  | | | | | | | | (_| |
00012 |_____/ \___|_|\___|\___|\__\__,_|_.__/|_|\___|_|  |_| |_|_|_| |_|\__, |
00013                                                                    __/ |
00014                                                                   |___/
00015 */
00016 using namespace std;
00017 using namespace qglviewer;
00018 
00019 class Point;
00020 class BaryPatch;
00022 
00026 class SelectableThing
00027 {
00028 public :
00029         // Thing Attributes
00031         Vec _Color;
00033         QString _NameTag;
00035         int _ThingName;
00037         bool _IsSelected;
00039         bool _Show;
00041         bool _ShowNameTag;
00043         Frame _ThingGlobalFrame;
00045         Frame _ThingLocalFrame;
00047         bool _IsBeingDeleted;
00050         SelectableThing(int ThingName)
00051         {
00052                 _ThingName = ThingName; 
00053                 _IsSelected = false;
00054                 _Show=true;
00055                 _ShowNameTag=true;
00056                 _ThingGlobalFrame.setPosition(Vec(0.,0.,0.));
00057                 _ThingGlobalFrame.setOrientation(Quaternion(0,0,0,1));
00058                 _NameTag = "UnNamed Selectable Thing";
00059                 _IsBeingDeleted = false;
00060         };
00062         virtual void draw(ManipulatedFrame* MF)=0;
00064         virtual void UpdateNameTag()=0;
00067         virtual bool IsAPoint()=0;
00070         virtual bool IsAPatch()=0;
00073         virtual Point* GetPoint()=0;
00076         virtual BaryPatch* GetPatch()=0;
00077 };
00078 
00079 #endif

Generated on Thu Sep 28 09:38:08 2006 by  doxygen 1.4.7