Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HTCObjectRotate.h
1 //
2 // Copyright (c) 2000 by Tech Soft 3D, LLC.
3 // The information contained herein is confidential and proprietary to
4 // Tech Soft 3D, LLC., and considered a trade secret as defined under
5 // civil and criminal statutes. Tech Soft 3D shall pursue its civil
6 // and criminal remedies in the event of unauthorized use or misappropriation
7 // of its trade secrets. Use of this information by anyone other than
8 // authorized employees of Tech Soft 3D, LLC. is granted only under a
9 // written non-disclosure agreement, expressly prescribing the scope and
10 // manner of such use.
11 //
12 // $Id: f335d367d552379558adee034ef25fbe2e6c03af $
13 //
14 #ifndef _H_HTCOR_H
15 #define _H_HTCOR_H
16 
17 #ifdef H_PACK_8
18 #pragma pack(push)
19 #pragma pack(8)
20 #endif
21 
22 
23 #include "HTools.h"
24 #include "HBaseOperator.h"
25 #include "HTManager.h"
26 
28 enum HTCOR_State {
29  HTCOR_Resting,
30  HTCOR_Animating
31 };
32 
33 
37 class MVO_API HTCObjectRotate : public HBaseOperator, public HTClient
38 {
39 public:
41  HTCObjectRotate (HBaseView* view, int DoRepeat=0, int DoCapture=1);
44  ~HTCObjectRotate();
45  int OnLButtonDown (HEventInfo &hevent);
46  bool Tick( float request_time, float actual_time );
47  void SetDeleteOnUnRegister() { m_delete_on_unregister = true; }
48  void UnRegister ();
49  bool OnSignal( int signal );
51 protected:
52  int m_state;
53  float m_angle;
54  float m_duration;
55  float m_start_time;
61  float m_original_matrix[16];
62  int m_cookie;
64 private:
70  void RotateSegmentLocally ( HC_KEY key, HPoint *axis, HPoint *centroid, float theta );
75  bool GetSelection( HEventInfo &hevent, HC_KEY *key );
79  void Animate( HC_KEY key );
82  bool SearchAndDestroyHTCOR( HC_KEY key );
87  static bool signal_callback( int hevent, void * signal_data, void *user_data );
88 };
89 
90 
91 #ifdef H_PACK_8
92 #pragma pack(pop)
93 #endif
94 
95 #endif
96 
97 
98 
99 
float m_start_time
Definition: HTCObjectRotate.h:55
HPoint m_centroid
Definition: HTCObjectRotate.h:58
HC_KEY m_key
Definition: HTCObjectRotate.h:56
int m_state
Definition: HTCObjectRotate.h:52
#define HC_KEY
Definition: HTManager.h:162
void SetDeleteOnUnRegister()
Definition: HTCObjectRotate.h:47
bool m_delete_on_unregister
Definition: HTCObjectRotate.h:59
The HBaseOperator class serves as a base for classes which handle user input and operate on the scene...
Definition: HBaseOperator.h:65
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:337
Definition: HTCObjectRotate.h:37
int m_cookie
Definition: HTCObjectRotate.h:62
The HEventInfo class stores and manages event information.
Definition: HEventInfo.h:214
virtual bool Tick(float request_time, float actual_time)
Definition: HTManager.h:191
virtual int OnLButtonDown(HEventInfo &hevent)
HC_KEY m_segkey
Definition: HTCObjectRotate.h:57
bool m_original_matrix_valid
Definition: HTCObjectRotate.h:60
float m_angle
Definition: HTCObjectRotate.h:53
float m_duration
Definition: HTCObjectRotate.h:54