/*========================================================================= Program: ShapeWorks: Particle-based Shape Correspondence & Visualization Module: $RCSfile: itkParticleGaussianModeWriter.h,v $ Date: $Date: 2011/03/24 01:17:33 $ Version: $Revision: 1.2 $ Author: $Author: wmartin $ Copyright (c) 2009 Scientific Computing and Imaging Institute. See ShapeWorksLicense.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information.=========================================================================*/#ifndef __itkParticleGaussianModeWriter_h#define __itkParticleGaussianModeWriter_h#include"itkParticleShapeMatrixAttribute.h"#include"itkDataObject.h"#include<vector>#include<string>namespaceitk{template<unsignedintVDimension>classParticleGaussianModeWriter:publicDataObject{public:typedefParticleGaussianModeWriterSelf;typedefSmartPointer<Self>Pointer;typedefSmartPointer<constSelf>ConstPointer;typedefDataObjectSuperclass;itkTypeMacro(ParticleGaussianModeWriter,DataObject);typedefParticleSystem<VDimension>ParticleSystemType;typedefParticleShapeMatrixAttribute<double,VDimension>ShapeMatrixType;typedeftypenameShapeMatrixType::DataTypeDataType;typedeftypenameParticleSystemType::PointTypePointType;typedefvnl_vector<DataType>vnl_vector_type;typedefvnl_matrix<DataType>vnl_matrix_type;itkNewMacro(Self);itkStaticConstMacro(Dimension,unsignedint,VDimension);voidUpdate()const;intGetNumberOfModes()const{returnm_NumberOfModes;}voidSetNumberOfModes(intb){m_NumberOfModes=b;}voidSetShapeMatrix(ShapeMatrixType*s){m_ShapeMatrix=s;}ShapeMatrixType*GetShapeMatrix(){returnm_ShapeMatrix.GetPointer();}constShapeMatrixType*GetShapeMatrix()const{returnm_ShapeMatrix.GetPointer();}voidSetFileName(conststd::string&s){m_FileName=s;}voidSetFileName(constchar*s){m_FileName=s;}conststd::string&GetFileName()const{returnm_FileName;}protected:ParticleGaussianModeWriter():m_NumberOfModes(3){}virtual~ParticleGaussianModeWriter(){}voidoperator=(constParticleGaussianModeWriter&);ParticleGaussianModeWriter(constParticleGaussianModeWriter&);typenameShapeMatrixType::Pointerm_ShapeMatrix;intm_NumberOfModes;std::stringm_FileName;};}//end namespace#if ITK_TEMPLATE_EXPLICIT#include"Templates/itkParticleGaussianModeWriter+-.h"#endif#if ITK_TEMPLATE_TXX#include"itkParticleGaussianModeWriter.txx"#endif#include"itkParticleGaussianModeWriter.txx"#endif