r603: no message
[ctsim.git] / src / threadproj.cpp
index 1cc4bce8e9f74d6c66553a07cce61ad88373b0d5..b2d169f11ef77c5964f772fb801879a6d6e0d1f1 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2001 Kevin Rosenberg
 **
-**  $Id: threadproj.cpp,v 1.9 2001/03/04 03:14:47 kevin Exp $
+**  $Id: threadproj.cpp,v 1.12 2001/03/04 04:30:45 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
 ProjectorSupervisorThread::ProjectorSupervisorThread (PhantomFileView* pProjView, int iNDet, int iNView, 
    const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength,
    double dViewRatio, double dScanRatio, const char* const pszLabel)
-: m_pPhantomView(pProjView), m_iNDet(iNDet), m_iNView(iNView), m_strGeometry(pszGeometry), 
+: SupervisorThread(), m_pPhantomView(pProjView), m_iNDet(iNDet), m_iNView(iNView), m_strGeometry(pszGeometry), 
   m_iNSample(iNSample), m_dRotation(dRotation), m_dFocalLength(dFocalLength), m_dCenterDetectorLength(dCenterDetectorLength),
-  m_dViewRatio(dViewRatio), m_dScanRatio(dScanRatio), m_strLabel(pszLabel),
-  SupervisorThread()
+  m_dViewRatio(dViewRatio), m_dScanRatio(dScanRatio), m_strLabel(pszLabel)
 {
 }
 
@@ -108,17 +107,17 @@ ProjectorSupervisorThread::OnExit()
 ProjectorSupervisor::ProjectorSupervisor (SupervisorThread* pThread, PhantomFileView* pPhantomView, int iNDet, int iNView, 
    const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength,
    double dViewRatio, double dScanRatio, const char* const pszLabel)
-    : m_pPhantomView(pPhantomView), m_pPhantomDoc(pPhantomView->GetDocument()), 
-      m_iNDet(iNDet), m_iNView(iNView),
-      m_pszGeometry(pszGeometry), m_iNSample(iNSample), m_dRotation(dRotation), m_dFocalLength(dFocalLength),
-      m_dCenterDetectorLength(dCenterDetectorLength), m_dViewRatio(dViewRatio), m_dScanRatio(dScanRatio), m_pszLabel(pszLabel), 
-      BackgroundSupervisor (pThread, pPhantomView->GetFrame(), pPhantomView->GetDocument(), "Projecting", iNView)
+    : BackgroundSupervisor (pThread, pPhantomView->GetFrame(), pPhantomView->GetDocument(), "Projecting", iNView),
+      m_pPhantomView(pPhantomView), m_pPhantomDoc(pPhantomView->GetDocument()), 
+      m_iNDet(iNDet), m_iNView(iNView), m_pszGeometry(pszGeometry), m_iNSample(iNSample), 
+      m_dRotation(dRotation), m_dFocalLength(dFocalLength), m_dCenterDetectorLength(dCenterDetectorLength), 
+      m_dViewRatio(dViewRatio), m_dScanRatio(dScanRatio), m_pszLabel(pszLabel)
 {
   m_pScanner = new Scanner (m_pPhantomDoc->getPhantom(), m_pszGeometry, m_iNDet,
                   m_iNView, m_iNSample, m_dRotation, m_dFocalLength, m_dCenterDetectorLength, m_dViewRatio, m_dScanRatio);
 
   m_vecpChildProjections.reserve (getNumWorkers());
-  for (unsigned int iThread = 0; iThread < getNumWorkers(); iThread++) {
+  for (int iThread = 0; iThread < getNumWorkers(); iThread++) {
     m_vecpChildProjections[iThread] = new Projections (*m_pScanner);    
   }
 
@@ -156,10 +155,15 @@ ProjectorSupervisor::onDone()
   Projections* pProjections = getProjections();
   pProjections->setRemark (m_pszLabel);
   pProjections->setCalcTime (getTimerEnd());
-  //  *theApp->getLog() << m_pszLabel << "\n";
+
+  wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
+  wxString msg (m_pszLabel);
+  msg += "\n";
+  eventLog.SetString( msg );
+  wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event
 
   wxCommandEvent newProjEvent (wxEVT_COMMAND_MENU_SELECTED, NEW_PROJECTIONFILE_EVENT);
-  newImageEvent.SetClientData (pProjections);
+  newProjEvent.SetClientData (pProjections);
   wxPostEvent (theApp->getMainFrame(), newProjEvent);
   
   setDone();