Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpObjectRotate.h

00001 //
00002 // Copyright (c) 2000 by Tech Soft 3D, LLC.
00003 // The information contained herein is confidential and proprietary to
00004 // Tech Soft 3D, LLC., and considered a trade secret as defined under
00005 // civil and criminal statutes.  Tech Soft 3D shall pursue its civil
00006 // and criminal remedies in the event of unauthorized use or misappropriation
00007 // of its trade secrets.  Use of this information by anyone other than
00008 // authorized employees of Tech Soft 3D, LLC. is granted only under a
00009 // written non-disclosure agreement, expressly prescribing the scope and
00010 // manner of such use.
00011 //
00012 // $Id: 875c7a54867bef7718eada64de4101b74704f58d $
00013 //
00014 
00015 // HOpObjectRotate.h : interface of the HOpObjectRotate class
00016 // rotate items in the selection list of the associated view 
00017 
00018 #ifndef _HOPOBJECTROTATE_H
00019 #define _HOPOBJECTROTATE_H
00020 
00021 #ifdef H_PACK_8
00022 #pragma pack(push)
00023 #pragma pack(8)
00024 #endif
00025 
00026 #include "HTools.h"
00027 #include "HBaseOperator.h"
00028 
00029 
00031 
00043 class MVO_API HOpObjectRotate : public HBaseOperator
00044 {
00045 public:
00052     HOpObjectRotate (HBaseView* view, int DoRepeat=0, int DoCapture=1);
00053     virtual ~HOpObjectRotate();
00054 
00058     virtual const char * GetName();  
00059 
00066     virtual int OnLButtonDown (HEventInfo &hevent);
00067 
00074     virtual int OnLButtonDownAndMove(HEventInfo &hevent);
00075 
00081     virtual int OnLButtonUp (HEventInfo &hevent);
00082 
00088     virtual int OnLButtonDblClk (HEventInfo &hevent);
00089 
00094     virtual HBaseOperator * Clone(); 
00095 
00096 protected:
00097     HPoint m_ptCentroid;            
00098     HPoint m_ptCentroidWorld;       
00099     HPoint m_ptCentroidViewpoint;   
00100     float  m_radius;                
00101     bool    m_bTemporarySelection;  
00102     bool m_bInitialMatrix;          
00104 private:
00105     void RotateSegmentLocally (HC_KEY   key, HPoint *rotate_object, float theta);
00106 };
00107 
00108 
00109 #ifdef H_PACK_8
00110 #pragma pack(pop)
00111 #endif
00112 
00113 #endif
00114 
00115 
00116 
00117 
00118 
00119