00001 #ifndef MESH_SELECT_CMD_H_IS_INCLUDED
00002 #define MESH_SELECT_CMD_H_IS_INCLUDED
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include "geom/command.H"
00014 #include "mesh/bvert.H"
00015 #include "mesh/bedge.H"
00016 #include "mesh/bface.H"
00017
00018 MAKE_PTR_SUBC(MESH_SELECT_CMD,COMMAND);
00019
00020
00021
00022
00023
00024 class MESH_SELECT_CMD : public COMMAND {
00025
00026 public:
00027
00028
00029
00030
00031 MESH_SELECT_CMD(Bvert *v);
00032 MESH_SELECT_CMD(Bedge *e);
00033 MESH_SELECT_CMD(Bface *f);
00034
00035 MESH_SELECT_CMD(const Bvert_list &vl);
00036 MESH_SELECT_CMD(const Bedge_list &el);
00037 MESH_SELECT_CMD(const Bface_list &fl);
00038
00039 MESH_SELECT_CMD(const Bvert_list &vl, const Bedge_list &el);
00040 MESH_SELECT_CMD(const Bvert_list &vl, const Bface_list &fl);
00041 MESH_SELECT_CMD(const Bedge_list &el, const Bface_list &fl);
00042
00043 MESH_SELECT_CMD(const Bvert_list &vl,
00044 const Bedge_list &el,
00045 const Bface_list &fl);
00046
00047
00048
00049
00050
00051
00052 DEFINE_RTTI_METHODS3("MESH_SELECT_CMD", MESH_SELECT_CMD*, COMMAND, CCOMMAND*);
00053
00054
00055
00056
00057
00058
00059 virtual bool doit();
00060 virtual bool undoit();
00061
00062
00063
00064 private:
00065
00066 Bvert_list vlist;
00067 Bedge_list elist;
00068 Bface_list flist;
00069
00070 };
00071
00072 MAKE_PTR_SUBC(MESH_DESELECT_CMD, UNDO_CMD);
00073
00074
00075
00076
00077
00078 class MESH_DESELECT_CMD : public UNDO_CMD {
00079
00080 public:
00081
00082
00083
00084
00085 MESH_DESELECT_CMD(Bvert *v)
00086 : UNDO_CMD(new MESH_SELECT_CMD(v)) { }
00087 MESH_DESELECT_CMD(Bedge *e)
00088 : UNDO_CMD(new MESH_SELECT_CMD(e)) { }
00089 MESH_DESELECT_CMD(Bface *f)
00090 : UNDO_CMD(new MESH_SELECT_CMD(f)) { }
00091
00092 MESH_DESELECT_CMD(const Bvert_list &vl)
00093 : UNDO_CMD(new MESH_SELECT_CMD(vl)) { }
00094 MESH_DESELECT_CMD(const Bedge_list &el)
00095 : UNDO_CMD(new MESH_SELECT_CMD(el)) { }
00096 MESH_DESELECT_CMD(const Bface_list &fl)
00097 : UNDO_CMD(new MESH_SELECT_CMD(fl)) { }
00098
00099 MESH_DESELECT_CMD(const Bvert_list &vl, const Bedge_list &el)
00100 : UNDO_CMD(new MESH_SELECT_CMD(vl, el)) { }
00101 MESH_DESELECT_CMD(const Bvert_list &vl, const Bface_list &fl)
00102 : UNDO_CMD(new MESH_SELECT_CMD(vl, fl)) { }
00103 MESH_DESELECT_CMD(const Bedge_list &el, const Bface_list &fl)
00104 : UNDO_CMD(new MESH_SELECT_CMD(el, fl)) { }
00105
00106 MESH_DESELECT_CMD(const Bvert_list &vl,
00107 const Bedge_list &el,
00108 const Bface_list &fl)
00109 : UNDO_CMD(new MESH_SELECT_CMD(vl, el, fl)) { }
00110
00111
00112
00113
00114
00115
00116 DEFINE_RTTI_METHODS3("MESH_DESELECT_CMD", MESH_DESELECT_CMD*, UNDO_CMD, CCOMMAND*);
00117
00118
00119
00120 };
00121
00122 MAKE_PTR_SUBC(MESH_DESELECT_ALL_CMD, MESH_DESELECT_CMD);
00123
00124
00125
00126
00127
00128 class MESH_DESELECT_ALL_CMD : public MESH_DESELECT_CMD {
00129
00130 public:
00131
00132
00133
00134
00135 MESH_DESELECT_ALL_CMD();
00136
00137
00138
00139
00140
00141
00142 DEFINE_RTTI_METHODS3("MESH_DESELECT_ALL_CMD", MESH_DESELECT_ALL_CMD*, UNDO_CMD, CCOMMAND*);
00143
00144
00145
00146 };
00147
00148 #endif // MESH_SELECT_CMD_H_IS_INCLUDED