www.pudn.com > cad3d.zip > SceneWindow.h
/***************************************************************************
SceneWindow.h - description
-------------------
begin : Sat Mar 16 2002
copyright : (C) 2002 by Martin Marinov
email : martin_marinov@hotmail.com
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef __SceneWindow_h__
#define __SceneWindow_h__
#include
#include "GuiHandlers/GuiHandlerView.h"
class CSceneView;
class CModel;
class CSceneWindow : public wxGLCanvas,
public CGuiHandlerView
{
protected:
void Print3DPosition(const C3DPoint& rPt);
void PrintFps(double dFps);
void ToggleModTypeHiddenState(uint nId);
public:
CSceneWindow( CSceneView& rSceneView, wxWindow* pParent,
const wxPoint& rPosition, const wxSize& rSize);
virtual ~CSceneWindow();
//event handlers
void OnSize(wxSizeEvent& rEvent);
void OnEraseBackground(wxEraseEvent& rEvent);
void OnPaint(wxPaintEvent& rEvent);
//event handlers - mouse
void OnLButtonDown(wxMouseEvent& rEvent);
void OnLButtonUp(wxMouseEvent& rEvent);
void OnMouseMove(wxMouseEvent& rEvent);
void OnRButtonDown(wxMouseEvent& rEvent);
//event handlers - primitives commands
void OnNewPrimitive(wxCommandEvent& rEvent);
//event handlers - viewport commands
void OnViewportTop(wxCommandEvent& rEvent);
void OnViewportBottom(wxCommandEvent& rEvent);
void OnViewportLeft(wxCommandEvent& rEvent);
void OnViewportRight(wxCommandEvent& rEvent);
void OnViewportFront(wxCommandEvent& rEvent);
void OnViewportBack(wxCommandEvent& rEvent);
void OnViewportPerspective(wxCommandEvent& rEvent);
void OnViewportAcsonometric(wxCommandEvent& rEvent);
void OnViewport0(wxCommandEvent& rEvent);
void OnViewport1(wxCommandEvent& rEvent);
void OnViewport2(wxCommandEvent& rEvent);
void OnViewport3(wxCommandEvent& rEvent);
void OnViewportPan(wxCommandEvent& rEvent);
void OnViewportZoom(wxCommandEvent& rEvent);
void OnViewportRotate(wxCommandEvent& rEvent);
void OnViewportToggle(wxCommandEvent& rEvent);
void OnActionCancel(wxCommandEvent& rEvent);
void OnActionFinish(wxCommandEvent& rEvent);
//event handlers - edit commands
void OnEditSelect(wxCommandEvent& rEvent);
void OnEditModify(wxCommandEvent& rEvent);
void OnEditDelete(wxCommandEvent& rEvent);
void OnEditRotate(wxCommandEvent& rEvent);
//event handles - mesh commands
void OnMeshEditVertices(wxCommandEvent& rEvent);
void OnMeshEditEdges(wxCommandEvent& rEvent);
void OnMeshEditFaces(wxCommandEvent& rEvent);
void OnMeshAddVertices(wxCommandEvent& rEvent);
void OnMeshAddFaces(wxCommandEvent& rEvent);
void OnMeshReverseFaces(wxCommandEvent& rEvent);
void OnMeshSelect(wxCommandEvent& rEvent);
//event handles - mesh hide commands
void OnMeshHideUnhidePrimitives(wxCommandEvent& rEvent);
void OnMeshHideUnhideVertices(wxCommandEvent& rEvent);
void OnMeshHideUnhideEdges(wxCommandEvent& rEvent);
void OnMeshHideUnhideFaces(wxCommandEvent& rEvent);
/*
#ifdef __WXGTK__
virtual void OnInternalIdle();
#endif
*/
//ICadView implementation
virtual CWinRect GetViewRect() const;
virtual void InvalidateView();
private:
DECLARE_EVENT_TABLE()
DECLARE_CLASS(CSceneWindow)
};
#endif//__SceneWindow_h__