r4205: *** empty log message ***
[ctsim.git] / libctsim / phantom.cpp
index 8d02d1115865e206c90e49e28f58f4ab8d518b33..9d9a537acadf1c43f22622a6c42179e0705f02e4 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: phantom.cpp,v 1.32 2002/05/28 18:43:16 kevin Exp $
+**  $Id: phantom.cpp,v 1.33 2003/03/15 14:52:36 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
 **
 **  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
@@ -239,8 +239,13 @@ Phantom::fileWrite (const char* const fname)
 void 
 Phantom::addPElem (const char *type, const double cx, const double cy, const double u, const double v, const double rot, const double atten)
 {
 void 
 Phantom::addPElem (const char *type, const double cx, const double cy, const double u, const double v, const double rot, const double atten)
 {
-  PhantomElement *pelem = new PhantomElement (type, cx, cy, u, v, rot, atten);
+  PhmElemType pe_type = PhantomElement::convertNameToType (type);
+  if (pe_type == PELEM_INVALID) {
+    sys_error (ERR_WARNING, "Unknown PhantomElement type %s [PhantomElement::PhantomElement]", type);
+    return;
+  }
   
   
+  PhantomElement *pelem = new PhantomElement (type, cx, cy, u, v, rot, atten);
   m_listPElem.push_front (pelem);
   
   // update phantom limits
   m_listPElem.push_front (pelem);
   
   // update phantom limits
@@ -599,8 +604,6 @@ PhantomElement::convertNameToType (const char* const typeName)
     type = PELEM_SECTOR;
   else if (strcasecmp (typeName, "segment") == 0)
     type = PELEM_SEGMENT;
     type = PELEM_SECTOR;
   else if (strcasecmp (typeName, "segment") == 0)
     type = PELEM_SEGMENT;
-  else
-    sys_error (ERR_WARNING, "Unknown PhantomElement type %s [PhantomElement::PhantomElement]", type);
   
   return (type);
 }
   
   return (type);
 }
@@ -732,7 +735,7 @@ PhantomElement::makeVectorOutline ()
     m_yOutline[cpts] = 0.0;
     break;
   default:
     m_yOutline[cpts] = 0.0;
     break;
   default:
-    sys_error(ERR_WARNING, "illegal pelem type %d [makeVectorOutline]", m_type);
+    sys_error(ERR_WARNING, "Illegal phantom element type %d [makeVectorOutline]", m_type);
     return;
   }
   
     return;
   }