00001 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc. 00002 // 00003 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., 00004 // and considered a trade secret as defined under civil and criminal statutes. 00005 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of 00006 // unauthorized use or misappropriation of its trade secrets. Use of this information 00007 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under 00008 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use. 00009 00010 // HOpObjectRotate.h : interface of the HOpObjectRotate class 00011 // rotate items in the selection list of the associated view 00012 00013 #ifndef _HOPOBJECTROTATE_H 00014 #define _HOPOBJECTROTATE_H 00015 00016 #ifdef H_PACK_8 00017 #pragma pack(push) 00018 #pragma pack(8) 00019 #endif 00020 00021 #include "HTools.h" 00022 #include "HBaseOperator.h" 00023 00024 00026 00038 class MVO_API HOpObjectRotate : public HBaseOperator 00039 { 00040 public: 00047 HOpObjectRotate (HBaseView* view, int DoRepeat=0, int DoCapture=1); 00048 virtual ~HOpObjectRotate(); 00049 00053 virtual const char * GetName(); 00054 00061 virtual int OnLButtonDown (HEventInfo &hevent); 00062 00069 virtual int OnLButtonDownAndMove(HEventInfo &hevent); 00070 00076 virtual int OnLButtonUp (HEventInfo &hevent); 00077 00083 virtual int OnLButtonDblClk (HEventInfo &hevent); 00084 00089 virtual HBaseOperator * Clone(); 00090 00091 protected: 00092 HPoint m_ptCentroid; 00093 HPoint m_ptCentroidWorld; 00094 HPoint m_ptCentroidViewpoint; 00095 float m_radius; 00096 bool m_bTemporarySelection; 00097 bool m_bInitialMatrix; 00099 private: 00100 void RotateSegmentLocally (HC_KEY key, HPoint *rotate_object, float theta); 00101 }; 00102 00103 00104 #ifdef H_PACK_8 00105 #pragma pack(pop) 00106 #endif 00107 00108 #endif 00109 00110 00111 00112 00113 00114