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
void SetColor( TComponentType r, TComponentType g ,TComponentType b);
00054
00055
void SetRed( TComponentType r );
00056 TComponentType GetRed(
void ) const;
00057
00058
void SetGreen( TComponentType g );
00059 TComponentType GetGreen(
void ) const;
00060
00061
void SetBlue( TComponentType b );
00062 TComponentType GetBlue(
void ) const;
00063
00064
void SetAlpha( TComponentType a);
00065 TComponentType GetAlpha(
void ) const;
00066
00067 SpatialObjectProperty();
00068 virtual ~SpatialObjectProperty();
00069
00070
void SetName( const
char * name );
00071
StringType GetName(
void ) const;
00072
00073 unsigned long GetMTime(
void){
return m_MTime;}
00074
00075
protected:
00076
00077
void PrintSelf(std::ostream &os,
Indent indent)
const;
00078 void Modified(
void){m_MTime++;}
00079
00080
private:
00081
00082 PixelType m_Color;
00083 StringType m_Name;
00084
unsigned long m_MTime;
00085
00086 };
00087
00088 }
00089
00090
00091
00092
#ifndef ITK_MANUAL_INSTANTIATION
00093
#include "itkSpatialObjectProperty.txx"
00094
#endif
00095
00096
#endif // __SpatialObjectProperty_h