00001 /*
00002 File: RadPane.h
00003
00004 Function: Display panes for radiosity mesh
00005
00006 Author: Andrew Willmott
00007
00008 Copyright: (c) 1996-2000, Andrew Willmott
00009 */
00010
00011 #ifndef __RadPane__
00012 #define __RadPane__
00013
00014 #include "RadMethod.h"
00015
00016 #include "gcl/ScenePane.h"
00017 #include "gcl/Forms.h"
00018
00019
00020 FL_OBJECT *const msgPick = (FL_OBJECT *) 0x04;
00021
00022 class FormsScenePane : public ScenePane
00023 {
00024 public:
00025 FormsScenePane(Bool doubleBuf) : ScenePane(doubleBuf) {};
00026
00027 Void SetParent(Form *parent);
00028
00029 Form *parent;
00030 };
00031
00032 class HRElem;
00033
00034 class RadScenePane : public FormsScenePane
00035 {
00036 public:
00037 RadScenePane(Bool doubleBuf = true);
00038
00039 Void SetScene(scScenePtr scene);
00040
00041 Void StartDrag(Coord c, Int modifiers);
00042 Void EndDrag(Coord c, Int modifiers);
00043 Void Drag(Coord c, Int modifiers);
00044 Void SelectDrag();
00045 Void Redraw();
00046
00047 RadMethod *mesh;
00048 RadElem *selPatch[2];
00049 HRElem *selElem[2];
00050 Transform inverseTransform;
00051
00052 Bool enabled;
00053 };
00054
00055 #endif