00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef __itkSpatialObjectPoint_h
00019
#define __itkSpatialObjectPoint_h
00020
00021
#include "itkPoint.h"
00022
#include "vnl/vnl_vector_fixed.h"
00023
#include "itkRGBAPixel.h"
00024
00025
namespace itk
00026 {
00027
00035
template <
unsigned int TPo
intDimension = 3 >
00036 class SpatialObjectPoint
00037 {
00038
00039
public:
00040
00042
SpatialObjectPoint(
void );
00043
00045
virtual ~SpatialObjectPoint(
void );
00046
00047 typedef SpatialObjectPoint Self;
00048 typedef Point< double, TPointDimension > PointType;
00049 typedef vnl_vector< double > VectorType;
00050 typedef RGBAPixel< float > PixelType;
00051
00053
int GetID(
void ) const;
00054
00056
void SetID(const
int newID);
00057
00059
PointType GetPosition(
void ) const;
00060
00062
void SetPosition(const
PointType & newX);
00063
void SetPosition(const
double x0, const
double x1);
00064
void SetPosition(const
double x0, const
double x1, const
double x2);
00065
00067
unsigned short int GetNumDimensions(
void ) const;
00068
00070
Self & operator=(const
SpatialObjectPoint & rhs);
00071
00073 const
PixelType & GetColor(
void ) const;
00074
void SetColor(const
PixelType & color );
00075
void SetColor(
float r,
float g,
float b,
float a=1);
00076
00078
void SetRed(
float r );
00079
float GetRed(
void ) const;
00080
00082
void SetGreen(
float g );
00083
float GetGreen(
void ) const;
00084
00086
void SetBlue(
float b );
00087
float GetBlue(
void ) const;
00088
00090
void SetAlpha(
float a);
00091
float GetAlpha(
void ) const;
00092
00094
void Print(std::ostream &os) const;
00095
00096 protected:
00097
00099 virtual
void PrintSelf(std::ostream &os,
Indent indent) const;
00100
00102
int m_ID;
00103
00105
PointType m_X;
00106
00108 PixelType m_Color;
00109
00111 unsigned short int m_NumDimensions;
00112
00113 };
00114
00115 }
00116
00117 #ifndef ITK_MANUAL_INSTANTIATION
00118 #include "itkSpatialObjectPoint.txx"
00119 #endif
00120
00121 #endif