Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpObjectRotate.h
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