/*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: $RCSfile: MeshOptions.h,v $ Language: C++ Date: $Date: 2003/10/09 22:45:13 $ Version: $Revision: 1.5 $ Copyright (c) 2003 Insight Consortium. All rights reserved. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 __MeshOptions_h_ #define __MeshOptions_h_ #include "SNAPCommon.h" /** * \class MeshOptions * \brief A set of options for mesh display in IRIS. */ class MeshOptions { public: MeshOptions(); virtual ~MeshOptions(); irisGetMacro(UseGaussianSmoothing,bool); irisSetMacro(UseGaussianSmoothing,bool); irisGetMacro(UseDecimation,bool); irisSetMacro(UseDecimation,bool); irisGetMacro(UseMeshSmoothing,bool); irisSetMacro(UseMeshSmoothing,bool); irisGetMacro(GaussianStandardDeviation,float); irisSetMacro(GaussianStandardDeviation,float); irisGetMacro(GaussianError,float); irisSetMacro(GaussianError,float); irisGetMacro(DecimateTargetReduction,float); irisSetMacro(DecimateTargetReduction,float); irisGetMacro(DecimateInitialError,float); irisSetMacro(DecimateInitialError,float); irisGetMacro(DecimateAspectRatio,float); irisSetMacro(DecimateAspectRatio,float); irisGetMacro(DecimateFeatureAngle,float); irisSetMacro(DecimateFeatureAngle,float); irisGetMacro(DecimateErrorIncrement,float); irisSetMacro(DecimateErrorIncrement,float); irisGetMacro(DecimateMaximumIterations,unsigned int); irisSetMacro(DecimateMaximumIterations,unsigned int); irisGetMacro(DecimatePreserveTopology,bool); irisSetMacro(DecimatePreserveTopology,bool); irisGetMacro(MeshSmoothingRelaxationFactor,float); irisSetMacro(MeshSmoothingRelaxationFactor,float); irisGetMacro(MeshSmoothingIterations,unsigned int); irisSetMacro(MeshSmoothingIterations,unsigned int); irisGetMacro(MeshSmoothingConvergence,float); irisSetMacro(MeshSmoothingConvergence,float); irisGetMacro(MeshSmoothingFeatureAngle,float); irisSetMacro(MeshSmoothingFeatureAngle,float); irisGetMacro(MeshSmoothingFeatureEdgeSmoothing,bool); irisSetMacro(MeshSmoothingFeatureEdgeSmoothing,bool); irisGetMacro(MeshSmoothingBoundarySmoothing,bool); irisSetMacro(MeshSmoothingBoundarySmoothing,bool); private: // Begin render switches bool m_UseGaussianSmoothing; bool m_UseDecimation; bool m_UseMeshSmoothing; // Begin gsmooth params float m_GaussianStandardDeviation; float m_GaussianError; // Begin decimate parameters float m_DecimateTargetReduction; float m_DecimateInitialError; float m_DecimateAspectRatio; float m_DecimateFeatureAngle; float m_DecimateErrorIncrement; unsigned int m_DecimateMaximumIterations; bool m_DecimatePreserveTopology; // Begin msmooth params float m_MeshSmoothingRelaxationFactor; unsigned int m_MeshSmoothingIterations; float m_MeshSmoothingConvergence; float m_MeshSmoothingFeatureAngle; bool m_MeshSmoothingFeatureEdgeSmoothing; bool m_MeshSmoothingBoundarySmoothing; }; #endif // __MeshOptions_h_ /* *$Log: MeshOptions.h,v $ *Revision 1.5 2003/10/09 22:45:13 pauly *EMH: Improvements in 3D functionality and snake parameter preview * *Revision 1.4 2003/10/02 14:54:53 pauly *ENH: Development during the September code freeze * *Revision 1.1 2003/09/11 13:50:29 pauly *FIX: Enabled loading of images with different orientations *ENH: Implemented image save and load operations * *Revision 1.3 2003/08/27 14:03:21 pauly *FIX: Made sure that -Wall option in gcc generates 0 warnings. *FIX: Removed 'comment within comment' problem in the cvs log. * *Revision 1.2 2003/08/27 04:57:46 pauly *FIX: A large number of bugs has been fixed for 1.4 release * *Revision 1.1 2003/07/12 04:52:25 pauly *Initial checkin of SNAP application to the InsightApplications tree * *Revision 1.5 2003/07/12 01:34:18 pauly *More final changes before ITK checkin * *Revision 1.4 2003/07/11 23:29:17 pauly **** empty log message *** * *Revision 1.3 2003/07/11 21:25:12 pauly *Code cleanup for ITK checkin * *Revision 1.2 2003/06/08 16:11:42 pauly *User interface changes *Automatic mesh updating in SNAP mode * *Revision 1.1 2003/03/07 19:29:47 pauly *Initial checkin * *Revision 1.1.1.1 2002/12/10 01:35:36 pauly *Started the project repository * * *Revision 1.2 2002/03/08 14:06:30 moon *Added Header and Log tags to all files **/