mdsTetraVertexDetector.h

Go to the documentation of this file.
00001 //==============================================================================
00015 #ifndef MDS_TETRAVERTEXDETECTOR_H
00016 #define MDS_TETRAVERTEXDETECTOR_H
00017 
00018 #include "mdsTetraBase.h"
00019 
00020 // MDSTk
00021 #include <MDSTk/Base/mdsAssert.h>
00022 #include <MDSTk/Base/mdsIdentifier.h>
00023 #include <MDSTk/Math/mdsBase.h>
00024 #include <MDSTk/Image/mdsVolumeFunctions.h>
00025 
00026 // VCTL
00027 #include <VectorEntity/mcvertices.h>
00028 
00029 // STL
00030 #include <sstream>
00031 
00032 
00033 namespace mds
00034 {
00035 namespace seg
00036 {
00037 
00038 //==============================================================================
00039 /*
00040  * Global definitions.
00041  */
00042 
00044 MDS_DECLARE_ID(CELL_MAX);
00045 
00046 
00047 //==============================================================================
00052 template <typename Id>
00053 class CTetraVertexDetector : public CTetraBase
00054 {
00055 public:
00058     bool operator()(tVolume *pVolume,
00059                     vctl::MCVerticeS *pVertices,
00060                     tScale *pScale
00061                     );
00062 };
00063 
00064 
00065 //==============================================================================
00071 template <>
00072 class CTetraVertexDetector<CELL_MAX> : public CTetraBase
00073 {
00074 public:
00081     CTetraVertexDetector(double dThreshold,
00082                          mds::tSize CellSize,
00083                          mds::tSize CellMargin
00084                          )
00085         : m_dThreshold(dThreshold)
00086         , m_CellSize(CellSize)
00087         , m_CellMargin(CellMargin)
00088     {
00089         MDS_ASSERT(m_CellSize > 0 && m_CellMargin > 0);
00090     }
00091 
00094     bool operator()(tVolume *pVolume,
00095                     vctl::MCVerticeS *pVertices,
00096                     tScale *pScale
00097                     );
00098 
00099 protected:
00101     double m_dThreshold;
00102 
00104     mds::tSize m_CellSize, m_CellMargin;
00105 };
00106 
00107 
00108 //=============================================================================
00109 /*
00110  * Methods templates.
00111  */
00112 
00113 // Include file containing methods templates
00114 #include "mdsTetraVertexDetector.hxx"
00115 
00116 
00117 } // namespace seg
00118 } // namespace mds
00119 
00120 #endif // MDS_TETRAVERTEXDETECTOR_H
00121 

Generated on Thu Mar 11 10:35:44 2010 for MDSTk Extension Libraries by  doxygen 1.4.6-NO