Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

ManipulateFragment.h

Go to the documentation of this file.
00001 #ifndef ManipulateFragmentH
00002 #define ManipulateFragmentH
00003 
00004 /*******************************************************************************
00005 Copyright 2002 Petr Kulhanek
00006 
00007     This file is part of Core plugin.
00008 
00009     Core plugin is free software; you can redistribute it and/or modify
00010     it under the terms of the GNU General Public License as published by
00011     the Free Software Foundation; either version 2 of the License, or
00012     (at your option) any later version.
00013 
00014     Core plugin is distributed in the hope that it will be useful,
00015     but WITHOUT ANY WARRANTY; without even the implied warranty of
00016     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017     GNU General Public License for more details.
00018 
00019     You should have received a copy of the GNU General Public License
00020     along with Core plugin; if not, write to the Free Software
00021     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 *******************************************************************************/
00023 /*******************************************************************************
00024 ** PROJECT:             Project NEMESIS
00025 ** FILE:                ManipulateFragment
00026 ** FUNCTION:            basic manipulation with part of molecule and bond via fragment
00027 ** VERSION:             1.0
00028 ** LANGUAGE:            CBuilder C++
00029 ** TARGET COMPUTER:     IBM PC
00030 ** PROGRAMMER:          Petr Kulhánek
00031 ** HISTORY:
00032 VERSION DATE        NOTE
00033 2002-05             1.0
00034 *******************************************************************************/
00035 
00039 /* HEADER FILES ***************************************************************/
00040 
00041 #include "Fragment.h"
00042 #include "Manipulator.h"
00043 
00044 /* HEADER FILES END ***********************************************************/
00045 
00046 //---------------------------------------------------------------------------
00047 
00049 
00052 class NEMESIS_CORE_PACKAGE CManipulateFragment : public CFragment, public CManipulator {
00053     public:
00054         __fastcall CManipulateFragment(CAtom* p_atom);
00055         __fastcall CManipulateFragment(CBond* p_bond);
00056 
00057     private:
00058     virtual void  __fastcall    Move(const CPoint& dmov,     // provede natočení
00059                                     const CManipulateModificator& mod);
00060     virtual void  __fastcall    Rotate(const CPoint& drot,   // provede pootočení
00061                                     const CManipulateModificator& mod);
00062     virtual void  __fastcall    ManipDraw(void);  // vykreslí objekt, v surovém stavu
00063     virtual bool  __fastcall    StartManipulate(void);
00064     };
00065 
00066 //---------------------------------------------------------------------------
00067 
00069 
00072 class NEMESIS_CORE_PACKAGE CManipulateBond : public CFragment, public CManipulator {
00073     public:
00074         __fastcall CManipulateBond(CAtom* p_atom1,CAtom* p_atom2);
00075 
00076     private:
00077     CPoint  Pos1,Pos2;
00078 
00079     virtual void  __fastcall    Move(const CPoint& dmov,     // provede natočení
00080                                     const CManipulateModificator& mod);
00081     virtual void  __fastcall    Rotate(const CPoint& drot,   // provede pootočení
00082                                     const CManipulateModificator& mod);
00083     virtual void  __fastcall    ManipDraw(void);  // vykreslí objekt, v surovém stavu
00084     virtual bool  __fastcall    StartManipulate(void);
00085     };
00086 
00087 //---------------------------------------------------------------------------
00088 
00089 #endif

Generated on Sun Feb 9 12:53:51 2003 for NemesisCore by doxygen1.3-rc2