Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

mesh_select_cmd.H

Go to the documentation of this file.
00001 #ifndef MESH_SELECT_CMD_H_IS_INCLUDED
00002 #define MESH_SELECT_CMD_H_IS_INCLUDED
00003 
00004 /*!
00005  *  \file mesh_select_cmd.H
00006  *  \brief Contains the definition of the MESH_SELECT_CMD class.  A COMMAND class
00007  *  for selecting faces, edges and vertices on a mesh.
00008  *
00009  *  \sa mesh_select_cmd.C
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  *  \brief A COMMAND class for selecting faces, edges and vertices on a mesh.
00022  *
00023  */
00024 class MESH_SELECT_CMD : public COMMAND {
00025 
00026    public:
00027       
00028       //! \name Constructors
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       //! \name Run-Time Type Id
00050       //@{
00051    
00052       DEFINE_RTTI_METHODS3("MESH_SELECT_CMD", MESH_SELECT_CMD*, COMMAND, CCOMMAND*);
00053       
00054       //@}
00055    
00056       //! \name Command Virtual Methods
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  *  \brief A COMMAND class for deselecting faces, edges and vertices on a mesh.
00076  *
00077  */
00078 class MESH_DESELECT_CMD : public UNDO_CMD {
00079    
00080    public:
00081 
00082       //! \name Constructors
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       //! \name Run-Time Type Id
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  *  \brief A COMMAND class for deselecting faces, edges and vertices on a mesh.
00126  *
00127  */
00128 class MESH_DESELECT_ALL_CMD : public MESH_DESELECT_CMD {
00129    
00130    public:
00131 
00132       //! \name Constructors
00133       //@{
00134    
00135       MESH_DESELECT_ALL_CMD();
00136       
00137       //@}
00138    
00139       //! \name Run-Time Type Id
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

Generated on Mon Sep 18 11:39:32 2006 for jot by  doxygen 1.4.4