00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2009-01-07 19:23:09 +0100 (Mi, 07 Jan 2009) $ 00006 Version: $Revision: 16011 $ 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 00019 #ifndef MITKNAVIGATIONDATAOBJECTVISUALIZATIONFILTER_H_HEADER_INCLUDED_ 00020 #define MITKNAVIGATIONDATAOBJECTVISUALIZATIONFILTER_H_HEADER_INCLUDED_ 00021 00022 #include "mitkNavigationDataToNavigationDataFilter.h" 00023 #include "mitkNavigationData.h" 00024 #include "mitkBaseData.h" 00025 00026 namespace mitk { 00027 00035 class MitkIGT_EXPORT NavigationDataObjectVisualizationFilter : public NavigationDataToNavigationDataFilter 00036 { 00037 public: 00038 mitkClassMacro(NavigationDataObjectVisualizationFilter, NavigationDataToNavigationDataFilter); 00039 00040 itkNewMacro(Self); 00041 00045 typedef BaseData::ConstPointer RepresentationPointer; 00046 00050 typedef std::map<unsigned int, RepresentationPointer> RepresentationPointerMap; 00051 00055 typedef RepresentationPointerMap::size_type RepresentationPointerMapSizeType; 00056 00063 void SetRepresentationObject(unsigned int index, BaseData* data); 00064 00072 const BaseData* GetRepresentationObject(unsigned int idx); 00073 00074 virtual void SetTransformPosition(unsigned int index, bool applyTransform); 00075 virtual bool GetTransformPosition(unsigned int index) const; 00076 virtual void TransformPositionOn(unsigned int index); 00077 virtual void TransformPositionOff(unsigned int index); 00078 00079 virtual void SetTransformOrientation(unsigned int index, bool applyTransform); 00080 virtual bool GetTransformOrientation(unsigned int index) const; 00081 virtual void TransformOrientationOn(unsigned int index); 00082 virtual void TransformOrientationOff(unsigned int index); 00083 00088 RepresentationPointerMapSizeType GetNumberOfToolRepresentations() const 00089 { 00090 return m_RepresentationList.size(); 00091 } 00092 00093 /* 00094 * \brief Transfer the information from the input to the associated BaseData 00095 */ 00096 virtual void GenerateData(); 00097 00098 00099 protected: 00100 typedef std::map<itk::ProcessObject::DataObjectPointerArraySizeType, bool> BooleanInputMap; 00101 00105 NavigationDataObjectVisualizationFilter(); 00106 00110 ~NavigationDataObjectVisualizationFilter(); 00111 00115 RepresentationPointerMap m_RepresentationList; 00116 BooleanInputMap m_TransformPosition; 00117 BooleanInputMap m_TransformOrientation; 00118 }; 00119 } // namespace mitk 00120 #endif /* MITKNAVIGATIONDATAOBJECTVISUALIZATIONFILTER_H_HEADER_INCLUDED_ */