r570: no message
[ctsim.git] / src / views.cpp
index 557bc2f2ef79b548bc2ed47f8b7256d8091f4e88..c20009dbf38813fec99bc18711f64237e2527678 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: views.cpp,v 1.108 2001/02/20 04:48:45 kevin Exp $
+**  $Id: views.cpp,v 1.111 2001/02/22 00:56:50 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
@@ -911,6 +911,7 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
+  help_menu->Append (MAINMENU_HELP_TIPS, "&Tips");
   help_menu->Append (IDH_QUICKSTART, "&Quick Start");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
@@ -1825,7 +1826,7 @@ PhantomFileView::PhantomFileView()
   m_iDefaultNDet = 367;
   m_iDefaultNView = 320;
 #endif
-  m_iDefaultNSample = 1;
+  m_iDefaultNSample = 2;
   m_dDefaultRotation = 1;
   m_dDefaultFocalLength = 2;
   m_dDefaultViewRatio = 1;
@@ -2084,6 +2085,7 @@ PhantomFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
+  help_menu->Append (MAINMENU_HELP_TIPS, "&Tips");
   help_menu->Append (IDH_QUICKSTART, "&Quick Start");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
@@ -2281,21 +2283,26 @@ ProjectionFileView::OnConvertPolar (wxCommandEvent& event)
     m_iDefaultPolarNX = dialogPolar.getXSize();
     m_iDefaultPolarNY = dialogPolar.getYSize();
     ImageFileDocument* pPolarDoc = theApp->newImageDoc();
-    ImageFile& rIF = pPolarDoc->getImageFile();
+    ImageFile* pIF = new ImageFile (m_iDefaultPolarNX, m_iDefaultPolarNY);
+    m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.c_str());
+    if (! rProj.convertPolar (*pIF, m_iDefaultPolarInterpolation)) {
+      delete pIF;
+      *theApp->getLog() << "Error converting to Polar\n";
+      return;
+    }
+    pPolarDoc = theApp->newImageDoc ();
     if (! pPolarDoc) {
       sys_error (ERR_SEVERE, "Unable to create image file");
       return;
     }
-    rIF.setArraySize (m_iDefaultPolarNX, m_iDefaultPolarNY);
-    m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.c_str());
-    rProj.convertPolar (rIF, m_iDefaultPolarInterpolation);
-    rIF.labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime());
+    pPolarDoc->setImageFile (pIF);
+    pIF->labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime());
     std::ostringstream os;
     os << "Convert projection file " << GetFrame()->GetTitle().c_str() << " to polar image: xSize=" 
       << m_iDefaultPolarNX << ", ySize=" << m_iDefaultPolarNY << ", interpolation=" 
       << strInterpolation.c_str();
     *theApp->getLog() << os.str().c_str() << "\n";
-    rIF.labelAdd (os.str().c_str());
+    pIF->labelAdd (os.str().c_str());
     if (theApp->getAskDeleteNewDocs())
       pPolarDoc->Modify (true);
     pPolarDoc->UpdateAllViews ();
@@ -2315,22 +2322,27 @@ ProjectionFileView::OnConvertFFTPolar (wxCommandEvent& event)
     m_iDefaultPolarNX = dialogPolar.getXSize();
     m_iDefaultPolarNY = dialogPolar.getYSize();
     m_iDefaultPolarZeropad = dialogPolar.getZeropad();
+    ImageFile* pIF = new ImageFile (m_iDefaultPolarNX, m_iDefaultPolarNY);
+
+    m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.c_str());
+    if (! rProj.convertFFTPolar (*pIF, m_iDefaultPolarInterpolation, m_iDefaultPolarZeropad)) {
+      delete pIF;
+      *theApp->getLog() << "Error converting to polar\n";
+      return;
+    }
     ImageFileDocument* pPolarDoc = theApp->newImageDoc();
-    ImageFile& rIF = pPolarDoc->getImageFile();
     if (! pPolarDoc) {
       sys_error (ERR_SEVERE, "Unable to create image file");
       return;
     }
-    rIF.setArraySize (m_iDefaultPolarNX, m_iDefaultPolarNY);
-    m_iDefaultPolarInterpolation = Projections::convertInterpNameToID (strInterpolation.c_str());
-    rProj.convertFFTPolar (rIF, m_iDefaultPolarInterpolation, m_iDefaultPolarZeropad);
-    rIF.labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime());
+    pPolarDoc->setImageFile (pIF);
+    pIF->labelAdd (rProj.getLabel().getLabelString().c_str(), rProj.calcTime());
     std::ostringstream os;
     os << "Convert projection file " << GetFrame()->GetTitle().c_str() << " to FFT polar image: xSize=" 
       << m_iDefaultPolarNX << ", ySize=" << m_iDefaultPolarNY << ", interpolation=" 
       << strInterpolation.c_str() << ", zeropad=" << m_iDefaultPolarZeropad;
     *theApp->getLog() << os.str().c_str() << "\n";
-    rIF.labelAdd (os.str().c_str());
+    pIF->labelAdd (os.str().c_str());
     if (theApp->getAskDeleteNewDocs())
       pPolarDoc->Modify (true);
     pPolarDoc->UpdateAllViews ();
@@ -2501,6 +2513,7 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
+  help_menu->Append (MAINMENU_HELP_TIPS, "&Tips");
   help_menu->Append (IDH_QUICKSTART, "&Quick Start");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
@@ -2821,6 +2834,7 @@ PlotFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
+  help_menu->Append (MAINMENU_HELP_TIPS, "&Tips");
   help_menu->Append (IDH_QUICKSTART, "&Quick Start");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
@@ -3067,6 +3081,7 @@ TextFileView::CreateChildFrame (wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
+  help_menu->Append (MAINMENU_HELP_TIPS, "&Tips");
   help_menu->Append (IDH_QUICKSTART, "&Quick Start");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");