00001 /*========================================================================= 00002 00003 Program: F.R.E.E. - flexible registration evaluation engine 00004 Version: v.1.0.0 00005 Date: $Date: 2006/09/01 12:00:00 $ 00006 Module: $RCSfile: freSetupParameterTraits.h,v $ 00007 Language: C++ 00008 00009 00010 00011 Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics, 00012 Institute for Medical Biometry and Informatics, University of Heidelberg, 00013 Germany). All rights reserved. 00014 See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm 00015 for details. 00016 00017 This software is distributed WITHOUT ANY WARRANTY; without even 00018 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00019 PURPOSE. See the above copyright notices for more information. 00020 00021 =========================================================================*/ 00022 #ifndef __freSetupParameterTraits_h 00023 #define __freSetupParameterTraits_h 00024 00025 #include "freElementals.h" 00026 #include "freParameter.h" 00027 00028 #include "itkNumericTraits.h" 00029 00030 namespace FREE 00031 { 00032 00042 class SetupParameterTraits 00043 { 00044 public: 00045 typedef Parameter::ParameterValueType ParameterType; 00046 00047 virtual const char* GetNameOfClass() const { return "SetupParameterTraits"; }; 00048 00050 double InitialValue(void) const { return m_dInitialValue;}; 00051 00053 double UpperBound(void) const { return m_dUpperBound;}; 00054 00056 double LowerBound(void) const { return m_dLowerBound;}; 00057 00063 double Quantisation(void) const { return m_dQuantisation;}; 00064 00066 bool IsBoundedBelow(void) const { return m_bBoundedBelow; }; 00067 00069 bool IsBoundedAbove(void) const { return m_bBoundedAbove; }; 00070 00072 bool IsBounded(void) const { return m_bBoundedAbove || m_bBoundedBelow; }; 00073 00074 bool ValueIsValid (double dValue) const; 00075 00076 ParameterType GetParameterType(void) const { return m_ParameterType; }; 00077 00078 SetupParameterTraits(double dInitialValue = 0.0, ParameterType parameterType = Parameter::PVTDouble, 00079 double dLowerBound = itk::NumericTraits< double >::NonpositiveMin(), bool bBoundedBelow = false, 00080 double dUpperBound = itk::NumericTraits< double >::max(), bool bBoundedAbove = false, 00081 double dQuantisation = 0.0); 00082 00083 protected: 00084 bool m_bBoundedBelow; 00085 bool m_bBoundedAbove; 00086 double m_dInitialValue; 00087 double m_dUpperBound; 00088 double m_dLowerBound; 00089 double m_dQuantisation; 00090 ParameterType m_ParameterType; 00091 }; 00092 00093 }//End of Namespace free 00094 00095 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000