00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2008-04-14 19:45:53 +0200 (Mo, 14 Apr 2008) $ 00006 Version: $Revision: 14081 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef __MITKSHADERENUMPROPERTY_H 00019 #define __MITKSHADERENUMPROPERTY_H 00020 00021 #include "mitkEnumerationProperty.h" 00022 00023 namespace mitk 00024 { 00025 00029 class MITK_CORE_EXPORT ShaderProperty : public EnumerationProperty 00030 { 00031 public: 00032 00033 class Element { 00034 public: 00035 std::string name; 00036 }; 00037 00038 mitkClassMacro( ShaderProperty, EnumerationProperty ); 00039 00040 itkNewMacro(ShaderProperty); 00041 00042 mitkNewMacro1Param(ShaderProperty, const IdType&); 00043 00044 mitkNewMacro1Param(ShaderProperty, const std::string&); 00045 00050 IdType GetShaderId(); 00051 std::string GetShaderName(); 00052 void SetShader(const IdType& i); 00053 void SetShader(const std::string& i); 00054 00055 protected: 00056 00057 std::list<Element> shaderList; 00058 00062 ShaderProperty( ); 00063 00069 ShaderProperty( const IdType& value ); 00070 00076 ShaderProperty( const std::string& value ); 00077 00082 bool AddEnum( const std::string& name ); 00083 00088 void AddShaderTypes(); 00089 00090 }; 00091 00092 } // end of namespace mitk 00093 00094 #endif //_MITK_VTK_SCALARMODE_PROPERTY__H_ 00095 00096