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$ 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