2
/**************************************************************************
4
* Regina - A Normal Surface Theory Calculator *
7
* Copyright (c) 1999-2006, Ben Burton *
8
* For further details contact Ben Burton (bab@debian.org). *
10
* This program is free software; you can redistribute it and/or *
11
* modify it under the terms of the GNU General Public License as *
12
* published by the Free Software Foundation; either version 2 of the *
13
* License, or (at your option) any later version. *
15
* This program is distributed in the hope that it will be useful, but *
16
* WITHOUT ANY WARRANTY; without even the implied warranty of *
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
18
* General Public License for more details. *
20
* You should have received a copy of the GNU General Public *
21
* License along with this program; if not, write to the Free *
22
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
23
* MA 02110-1301, USA. *
25
**************************************************************************/
29
/*! \file ntrisurfaces.h
30
* \brief Provides access to SnapPea calculations for triangulations.
33
#ifndef __NTRISNAPPEA_H
34
#define __NTRISNAPPEA_H
36
#include "../packettabui.h"
44
class NSnapPeaTriangulation;
49
* A triangulation page for viewing normal surface properties.
51
class NTriSnapPeaUI : public QObject, public PacketViewerTab {
58
regina::NTriangulation* reginaTri;
59
regina::NSnapPeaTriangulation* snappeaTri;
69
QLabel* solutionTypeLabel;
70
QString solutionTypeExplnBase;
72
NoSnapPea* unavailable;
81
* Constructor and destructor.
83
NTriSnapPeaUI(regina::NTriangulation* packet,
84
PacketTabbedUI* useParentUI, bool newAllowClosed);
90
void setAllowClosed(bool newAllowClosed);
93
* PacketViewerTab overrides.
95
regina::NPacket* getPacket();
96
QWidget* getInterface();
98
void editingElsewhere();
102
* These routines convert an NSnapPeaTriangulation::SolutionType
103
* into various types of human-readable string. They are declared
104
* to take an int so that the calculation engine headers need not
107
static QString solutionTypeString(int solnType);
108
static QString solutionTypeExplanation(int solnType);
111
inline void NTriSnapPeaUI::setAllowClosed(bool newAllowClosed) {
112
allowClosed = newAllowClosed;