00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkBloxBoundaryPointItem_h
00018 #define __itkBloxBoundaryPointItem_h
00019
00020 #include "itkCovariantVector.h"
00021 #include "itkPoint.h"
00022 #include "itkBloxItem.h"
00023
00024 namespace itk
00025 {
00026
00034 template <unsigned int VImageDimension>
00035 class ITK_EXPORT BloxBoundaryPointItem: public BloxItem
00036 {
00037 public:
00040 typedef Point<double, VImageDimension> PositionType;
00041
00044 typedef CovariantVector<double, VImageDimension> GradientType;
00045
00047 void SetPhysicalPosition(PositionType physPos)
00048 {
00049 m_PhysicalPosition = physPos;
00050 }
00051
00053 PositionType GetPhysicalPosition()
00054 {
00055 return m_PhysicalPosition;
00056 }
00057
00059 void SetGradient(GradientType grad)
00060 {
00061 m_Gradient = grad;
00062 }
00063
00065 GradientType GetGradient()
00066 {
00067 return m_Gradient;
00068 }
00069
00070 BloxBoundaryPointItem();
00071 ~BloxBoundaryPointItem();
00072
00073 private:
00074
00077 PositionType m_PhysicalPosition;
00078
00080 GradientType m_Gradient;
00081
00082 };
00083
00084 }
00085
00086
00087 #define ITK_TEMPLATE_BloxBoundaryPointItem(_, EXPORT, x, y) namespace itk { \
00088 _(1(class EXPORT BloxBoundaryPointItem< ITK_TEMPLATE_1 x >)) \
00089 namespace Templates { typedef BloxBoundaryPointItem< ITK_TEMPLATE_1 x > \
00090 BloxBoundaryPointItem##y; } \
00091 }
00092
00093 #if ITK_TEMPLATE_EXPLICIT
00094 # include "Templates/itkBloxBoundaryPointItem+-.h"
00095 #endif
00096
00097 #if ITK_TEMPLATE_TXX
00098 # include "itkBloxBoundaryPointItem.txx"
00099 #endif
00100
00101 #endif
00102