** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: graph3dview.cpp,v 1.20 2001/03/18 18:08:26 kevin Exp $
+** $Id: graph3dview.cpp,v 1.24 2001/09/24 11:34:06 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
EVT_MENU(GRAPH3D_VIEW_LIGHTING, Graph3dFileView::OnLighting)
EVT_MENU(GRAPH3D_VIEW_COLOR, Graph3dFileView::OnColor)
EVT_MENU(GRAPH3D_VIEW_SMOOTH, Graph3dFileView::OnSmooth)
-EVT_MENU(GRAPH3D_VIEW_SURFACE, Graph3dFileView::OnSurface)
+EVT_MENU(GRAPH3D_VIEW_WIREFRAME, Graph3dFileView::OnWireframe)
EVT_MENU(GRAPH3D_VIEW_SCALE_MINMAX, Graph3dFileView::OnScaleSet)
EVT_MENU(GRAPH3D_VIEW_SCALE_AUTO, Graph3dFileView::OnScaleAuto)
EVT_MENU(GRAPH3D_VIEW_SCALE_FULL, Graph3dFileView::OnScaleFull)
{
m_bDoubleBuffer = true;
m_bSmooth = true;
- m_bLighting = false;
- m_bSurface = false;
- m_bLighting = false;
+ m_bLighting = true;
+ m_bWireframe = false;
+ m_bLighting = true;
m_bColor = true;
m_dXRotate = -180;
m_dYRotate = -210;
m_dZRotate = -195;
m_bColorScaleMinSet = false;
m_bColorScaleMaxSet = false;
- m_bCalculatedSurfaceBackground = false;
}
Graph3dFileView::~Graph3dFileView()
m_pViewMenu->Check (GRAPH3D_VIEW_COLOR, m_bColor);
m_pViewMenu->Check (GRAPH3D_VIEW_LIGHTING, m_bLighting);
m_pViewMenu->Check (GRAPH3D_VIEW_SMOOTH, m_bSmooth);
- m_pViewMenu->Check (GRAPH3D_VIEW_SURFACE, m_bSurface);
+ m_pViewMenu->Check (GRAPH3D_VIEW_WIREFRAME, m_bWireframe);
return true;
}
glTranslated (-static_cast<double>(nx - 1) / 2, 0.0, -static_cast<double>(ny - 1) / 2);
InitMaterials();
- if (m_bSurface) {
- glPolygonMode (GL_FRONT_AND_BACK, GL_FILL);
- if (! m_bColor) {
- glColor3f (1.0f, 1.0f, 1.0f);
- glCallList (DISPLAYLIST_NO_COLOR);
- } else
- glCallList (DISPLAYLIST_COLOR);
- }
- else {
+ if (m_bWireframe) {
if (! m_bColor)
glColor3f (1.0f, 1.0f, 1.0f);
glPolygonOffset (1.0f, 1.0f);
glPolygonOffset (0.0f, 0.0f);
glPolygonMode (GL_FRONT_AND_BACK, GL_LINE);
glCallList (DISPLAYLIST_NO_COLOR);
+ } else {
+ glPolygonMode (GL_FRONT_AND_BACK, GL_FILL);
+ if (! m_bColor) {
+ glColor3f (1.0f, 1.0f, 1.0f);
+ glCallList (DISPLAYLIST_NO_COLOR);
+ } else
+ glCallList (DISPLAYLIST_COLOR);
}
}
dYOffset = 0;
double dXPos = -dXOffset;
- for (unsigned ix = 0; ix < nx - 1; ix++, dXPos++) {
+ unsigned int ix;
+ for (ix = 0; ix < nx - 1; ix++, dXPos++) {
double dYPos = -dYOffset;
glBegin(GL_QUAD_STRIP);
double p1[3], p2[3], p3[3], n1[3];
}
-void
-Graph3dFileView::calculateSurfaceBackground ()
-{
- if (m_bCalculatedSurfaceBackground)
- return;
-}
-
void
Graph3dFileView::OnProperties (wxCommandEvent& event)
{
}
void
-Graph3dFileView::OnSurface (wxCommandEvent& event)
+Graph3dFileView::OnWireframe (wxCommandEvent& event)
{
- m_bSurface = ! m_bSurface;
- m_pViewMenu->Check (GRAPH3D_VIEW_SURFACE, m_bSurface);
+ m_bWireframe = ! m_bWireframe;
+ m_pViewMenu->Check (GRAPH3D_VIEW_WIREFRAME, m_bWireframe);
m_pCanvas->Refresh();
}
GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
m_pViewMenu = new wxMenu;
- m_pViewMenu->Append(GRAPH3D_VIEW_SURFACE, "Su&rface\tCtrl-R", "", true);
+ m_pViewMenu->Append(GRAPH3D_VIEW_WIREFRAME, "Wi&reframe\tCtrl-R", "", true);
m_pViewMenu->Append(GRAPH3D_VIEW_SMOOTH, "S&mooth\tCtrl-M", "", true);
m_pViewMenu->Append(GRAPH3D_VIEW_COLOR, "Co&lor\tCtrl-L", "", true);
m_pViewMenu->Append(GRAPH3D_VIEW_LIGHTING, "Li&ghting\tCtrl-G", "", true);
subframe->Centre(wxBOTH);
wxAcceleratorEntry accelEntries[7];
- accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('R'), GRAPH3D_VIEW_SURFACE);
+ accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('R'), GRAPH3D_VIEW_WIREFRAME);
accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('L'), GRAPH3D_VIEW_COLOR);
accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('G'), GRAPH3D_VIEW_LIGHTING);
accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('M'), GRAPH3D_VIEW_SMOOTH);
m_pView->m_dYRotate -= 15.0;
Refresh (false);
break;
- case 'r': case 'R':
- m_pView->OnSurface (dummyEvent);
+ case 'w': case 'W':
+ m_pView->OnWireframe (dummyEvent);
break;
case 's': case 'S':
m_pView->OnSmooth (dummyEvent);