00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef __SpatialObjectProperty_h
00019
#define __SpatialObjectProperty_h
00020
00021
#include <string>
00022
00023
#include "itkIndent.h"
00024
#include "itkRGBAPixel.h"
00025
#include "itkLightObject.h"
00026
00027
namespace itk{
00028
00034
template<
class TComponentType =
float >
00035 class ITK_EXPORT SpatialObjectProperty
00036 :
public LightObject
00037 {
00038
public:
00039
00040 typedef SpatialObjectProperty< TComponentType > Self;
00041 typedef LightObject Superclass;
00042 typedef RGBAPixel< TComponentType > PixelType;
00043 typedef std::string
StringType;
00044
00045 typedef SmartPointer<Self> Pointer;
00046 typedef SmartPointer<const Self> ConstPointer;
00047
00048
itkNewMacro(
Self );
00049
itkTypeMacro(
Self,
Superclass );
00050
00051
const PixelType & GetColor(
void ) const;
00052
void SetColor(const
PixelType & color );
00053
00054
void SetRed( TComponentType r );
00055 TComponentType GetRed(
void ) const;
00056
00057
void SetGreen( TComponentType g );
00058 TComponentType GetGreen(
void ) const;
00059
00060
void SetBlue( TComponentType b );
00061 TComponentType GetBlue(
void ) const;
00062
00063
void SetAlpha( TComponentType a);
00064 TComponentType GetAlpha(
void ) const;
00065
00066 SpatialObjectProperty();
00067 virtual ~SpatialObjectProperty();
00068
00069
void SetName( const
char * name );
00070
StringType GetName(
void ) const;
00071
00072 unsigned long GetMTime(
void){
return m_MTime;}
00073
00074
protected:
00075
00076
void PrintSelf(std::ostream &os,
Indent indent)
const;
00077 void Modified(
void){m_MTime++;}
00078
00079
private:
00080
00081 PixelType m_Color;
00082 StringType m_Name;
00083
unsigned long m_MTime;
00084
00085 };
00086
00087 }
00088
00089
00090
00091
#ifndef ITK_MANUAL_INSTANTIATION
00092
#include "itkSpatialObjectProperty.txx"
00093
#endif
00094
00095
#endif // __SpatialObjectProperty_h