210 lines
6.5 KiB
C++
210 lines
6.5 KiB
C++
/*
|
|
=======================================================================================
|
|
Name : podialog.h
|
|
|
|
Author : vincent lhullier Date :26/08/97
|
|
|
|
Description : header file for dialog boxes used by po editor
|
|
=======================================================================================
|
|
Modification -> Author : Date :
|
|
Description :
|
|
=======================================================================================
|
|
*/
|
|
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
#ifndef __PODIALOG_HPP__
|
|
#define __PODIALOG_HPP__
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
|
|
#ifndef __AFXEXT_H__
|
|
#include <afxext.h>
|
|
#endif
|
|
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
|
|
#include "ACP_base.h"
|
|
#include "GLI.h"
|
|
#include "PO_Res.h"
|
|
//#include "PRJ.h"
|
|
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
|
|
class FRMBase;
|
|
class POInterface;
|
|
class EditorPO;
|
|
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
|
|
/*
|
|
=======================================================================================
|
|
=======================================================================================
|
|
CPOVseModif
|
|
=======================================================================================
|
|
=======================================================================================
|
|
*/
|
|
class CPOVseModif : public CPA_Modif
|
|
{
|
|
private:
|
|
EditorPO *m_p_oPO;
|
|
GEO_tdxHandleToVisualSet m_hVisualSet;
|
|
ACP_tdxIndex m_xNbModifs;
|
|
ACP_tdxIndex *m_d_xIndex;
|
|
MTH_tdxReal *m_d_xDiff;
|
|
|
|
public:
|
|
|
|
/* ==> creation */
|
|
CPOVseModif( EditorPO *_p_oPO, GEO_tdxHandleToVisualSet _hVSE, ACP_tdxIndex _xNbModifs );
|
|
~CPOVseModif(void);
|
|
|
|
/* ==> actions */
|
|
BOOL Do(void);
|
|
BOOL Undo(void);
|
|
|
|
/* ==> functions */
|
|
void m_fn_vSetDiff( ACP_tdxIndex _xLod, MTH_tdxReal _xDiff );
|
|
|
|
};
|
|
|
|
|
|
/*
|
|
=======================================================================================
|
|
=======================================================================================
|
|
CPODlgVse Formview class
|
|
=======================================================================================
|
|
=======================================================================================
|
|
*/
|
|
class CPODlgVse : public CFormView
|
|
{
|
|
protected:
|
|
POInterface *m_p_oParentDLL;
|
|
|
|
EditorPO *m_p_oPO;
|
|
|
|
GEO_tdxHandleToVisualSet m_hVisualSet;
|
|
PCS_tdxHandleToPhysicalCollSet m_hCollSet;
|
|
|
|
ACP_tdxIndex m_xNbLods;
|
|
MTH_tdxReal m_a_xTresholds[10];
|
|
ACP_tdxHandleOfObject m_a_xGeometrics[10];
|
|
ACP_tdxIndex m_xCurrentLod;
|
|
ACP_tdxIndex m_xSwapLod;
|
|
|
|
|
|
public:
|
|
CPODlgVse(); // protected constructor used by dynamic creation
|
|
DECLARE_DYNCREATE(CPODlgVse)
|
|
|
|
void m_fn_vShowVisualSet( GEO_tdxHandleToVisualSet hVisualSet );
|
|
void m_fn_vInitVisualSetData( GEO_tdxHandleToVisualSet hVisualSet );
|
|
void m_fn_vShowCurrentLod( void );
|
|
void m_fn_vShowCollideSet( PCS_tdxHandleToPhysicalCollSet hCollSet );
|
|
void m_fn_vChangeTreshold( ACP_tdxIndex _xIndex, MTH_tdxReal _xValue);
|
|
ACP_tdxIndex m_fn_xGetClickedLodIndex( void );
|
|
void m_fn_vSwapLOD( ACP_tdxIndex _xLod, BOOL _bRestore, BOOL _bRedraw );
|
|
|
|
void fn_vUpdateInfo(EditorPO *_p_oPO);
|
|
void fn_vSetParentDLL(POInterface *_p_oParentDLL) { m_p_oParentDLL = _p_oParentDLL ; }
|
|
|
|
//{{AFX_DATA(CPODlgVse)
|
|
enum { IDD = IDD_DIALOG_PHYSICALOBJECT };
|
|
// NOTE: the ClassWizard will add data members here
|
|
//}}AFX_DATA
|
|
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CPODlgVse)
|
|
public:
|
|
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
virtual ~CPODlgVse();
|
|
#ifdef _DEBUG
|
|
virtual void AssertValid() const;
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
#endif
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CPODlgVse)
|
|
afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDIS);
|
|
afx_msg void OnDeltaposSpinCurrentlod(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnKillfocusEditCurrentlod();
|
|
afx_msg void OnDeltaposSpinFrom(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnDeltaposSpinTo(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnKillfocusEditFrom();
|
|
afx_msg void OnKillfocusEditTo();
|
|
afx_msg void OnButtonApply();
|
|
afx_msg void OnButtonTreshold();
|
|
afx_msg void OnDoubleclickedButtonTreshold();
|
|
afx_msg void OnDestroy();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
|
|
/*
|
|
=======================================================================================
|
|
=======================================================================================
|
|
CPODlgList Form view class
|
|
=======================================================================================
|
|
=======================================================================================
|
|
*/
|
|
class CPODlgList : public CFormView
|
|
{
|
|
private:
|
|
POInterface *m_p_oParentDLL;
|
|
HTREEITEM m_hWorldItem;
|
|
HTREEITEM m_hModelItem;
|
|
HTREEITEM m_hObjectTable;
|
|
HTREEITEM m_hWithoutActor;
|
|
|
|
public:
|
|
CPODlgList(); // protected constructor used by dynamic creation
|
|
DECLARE_DYNCREATE(CPODlgList)
|
|
|
|
void fn_vSetParentDLL(POInterface *_p_oParentDLL) { m_p_oParentDLL = _p_oParentDLL; }
|
|
|
|
HTREEITEM fn_hSearchTreeChild( CTreeCtrl *_p_oTree, HTREEITEM _hParent, CString _cstrName );
|
|
HTREEITEM fn_hSearchTreeChild( CTreeCtrl *_p_oTree, HTREEITEM _hParent, DWORD _dwData );
|
|
HTREEITEM fn_hGetPOParentItem( CTreeCtrl *_p_oTree, EditorPO *_p_oPO );
|
|
void fn_vRefreshListContent( void );
|
|
void fn_vSetCurrentItem( EditorPO *_p_oPO, CPA_BaseObject *_p_oActor );
|
|
|
|
// Form Data
|
|
public:
|
|
//{{AFX_DATA(CPODlgList)
|
|
enum { IDD = IDD_DIALOGPOLIST };
|
|
// NOTE: the ClassWizard will add data members here
|
|
//}}AFX_DATA
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CPODlgList)
|
|
public:
|
|
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
virtual ~CPODlgList();
|
|
#ifdef _DEBUG
|
|
virtual void AssertValid() const;
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
#endif
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CPODlgList)
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg void OnSelchangedTreePos(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnDestroy();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
#endif __PODIALOG_H__
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|