18 #ifndef itkTransformIOBase_h
19 #define itkTransformIOBase_h
21 #include "ITKIOTransformBaseExport.h"
47 template<
typename TParametersValueType>
75 itkSetStringMacro(FileName);
76 itkGetStringMacro(FileName);
80 virtual void Read() = 0;
83 virtual void Write() = 0;
87 virtual bool CanReadFile(
const char *) = 0;
91 virtual bool CanWriteFile(
const char *) = 0;
100 void SetTransformList(ConstTransformListType & transformList);
103 itkSetMacro(AppendMode,
bool);
104 itkGetConstMacro(AppendMode,
bool);
105 itkBooleanMacro(AppendMode);
118 itkGenericExceptionMacro(<<
"Unknown ScalarType" <<
typeid(
ScalarType).name());
124 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
126 void OpenStream(std::ofstream & outputStream,
bool binary);
128 void CreateTransform(TransformPointer & ptr,
const std::string & ClassName);
139 itkGenericExceptionMacro(<<
"Unknown ScalarType" <<
typeid(
ScalarType).name());
150 if(inputTransformName.find(
"float") == std::string::npos)
152 const std::string::size_type begin = inputTransformName.find(
"double");
153 inputTransformName.replace(begin, 6,
"float");
163 if(inputTransformName.find(
"double") == std::string::npos)
165 const std::string::size_type begin = inputTransformName.find(
"float");
166 inputTransformName.replace(begin, 5,
"double");
171 inline const std::string
175 return std::string(
"float");
179 inline const std::string
183 return std::string(
"double");
191 #ifndef ITK_MANUAL_INSTANTIATION
192 #include "itkTransformIOBase.hxx"
195 #endif // itkTransformIOBase_h
198 #ifndef ITK_TEMPLATE_EXPLICIT_TransformIOBase
207 # if defined( ITKIOTransformBase_EXPORTS )
209 # define ITKIOTransformBase_EXPORT_EXPLICIT
212 # define ITKIOTransformBase_EXPORT_EXPLICIT ITKIOTransformBase_EXPORT
217 #ifdef ITK_HAS_GCC_PRAGMA_DIAG_PUSHPOP
218 ITK_GCC_PRAGMA_DIAG_PUSH()
220 ITK_GCC_PRAGMA_DIAG(ignored
"-Wattributes")
225 #ifdef ITK_HAS_GCC_PRAGMA_DIAG_PUSHPOP
226 ITK_GCC_PRAGMA_DIAG_POP()
228 ITK_GCC_PRAGMA_DIAG(warning
"-Wattributes")
232 # undef ITKIOTransformBase_EXPORT_EXPLICIT
itk::TransformIOBaseTemplate< double > TransformIOBase
template class ITKIOTransformBase_EXPORT_EXPLICIT TransformIOBaseTemplate< float >
template class ITKIOTransformBase_EXPORT_EXPLICIT TransformIOBaseTemplate< double >
LightProcessObject is the base class for all process objects (source, filters, mappers) in the Insigh...
Control indentation during Print() invocation.
Base class for most ITK classes.