1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
/*
* Copyright (C) Volition, Inc. 1999. All rights reserved.
*
* All source code herein is the property of Volition, Inc. You may not sell
* or otherwise commercially exploit the source or things you created based on the
* source.
*
*/
#include "object/object.h"
/////////////////////////////////////////////////////////////////////////////
// orient_editor dialog
class orient_editor : public CDialog
{
// Construction
public:
bool query_modified();
void OnCancel();
void OnOK();
orient_editor(CWnd* pParent = NULL); // standard constructor
static float to_degrees(float radians);
static float normalize_degrees(float degrees);
// Dialog Data
//{{AFX_DATA(orient_editor)
enum { IDD = IDD_ORIENT_EDITOR };
CSpinButtonCtrl m_spin1;
CSpinButtonCtrl m_spin2;
CSpinButtonCtrl m_spin3;
CSpinButtonCtrl m_spin4;
CSpinButtonCtrl m_spin5;
CSpinButtonCtrl m_spin6;
CSpinButtonCtrl m_spin11;
CSpinButtonCtrl m_spin12;
CSpinButtonCtrl m_spin13;
int m_object_index;
BOOL m_point_to;
CString m_position_x;
CString m_position_y;
CString m_position_z;
CString m_location_x;
CString m_location_y;
CString m_location_z;
CString m_orientation_p;
CString m_orientation_b;
CString m_orientation_h;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(orient_editor)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(orient_editor)
virtual BOOL OnInitDialog();
afx_msg void OnObjectSelected();
afx_msg void OnPointTo();
afx_msg void OnPointToObject();
afx_msg void OnPointToLocation();
afx_msg void OnClose();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
float convert(const CString &str) const;
float perform_input_rounding(float val) const;
bool is_close(float val, const CString &input_str) const;
bool is_angle_close(float rad, const CString &input_str) const;
int total;
int index[MAX_OBJECTS];
void actually_point_object(object *ptr);
};
|