00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 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 #include <vtkAbstractMapper.h> 00019 #include "mitkVtkScalarModeProperty.h" 00020 00021 mitk::VtkScalarModeProperty::VtkScalarModeProperty( ) 00022 { 00023 AddInterpolationTypes(); 00024 SetScalarModeToDefault(); 00025 } 00026 00027 mitk::VtkScalarModeProperty::VtkScalarModeProperty( const IdType& value ) 00028 { 00029 AddInterpolationTypes(); 00030 if ( IsValidEnumerationValue( value ) ) 00031 { 00032 SetValue( value ) ; 00033 } 00034 else 00035 { 00036 SetScalarModeToDefault(); 00037 } 00038 } 00039 00040 mitk::VtkScalarModeProperty::VtkScalarModeProperty( const std::string& value ) 00041 { 00042 AddInterpolationTypes(); 00043 if ( IsValidEnumerationValue( value ) ) 00044 { 00045 SetValue( value ); 00046 } 00047 else 00048 { 00049 SetScalarModeToDefault(); 00050 } 00051 } 00052 00053 int mitk::VtkScalarModeProperty::GetVtkScalarMode() 00054 { 00055 return static_cast<int>( GetValueAsId() ); 00056 } 00057 00058 void mitk::VtkScalarModeProperty::SetScalarModeToDefault() 00059 { 00060 SetValue( static_cast<IdType>( VTK_SCALAR_MODE_DEFAULT ) ); 00061 } 00062 00063 void mitk::VtkScalarModeProperty::SetScalarModeToPointData() 00064 { 00065 SetValue( static_cast<IdType>( VTK_SCALAR_MODE_USE_POINT_DATA ) ); 00066 } 00067 00068 void mitk::VtkScalarModeProperty::SetScalarModeToCellData() 00069 { 00070 SetValue( static_cast<IdType>( VTK_SCALAR_MODE_USE_CELL_DATA ) ); 00071 } 00072 00073 void mitk::VtkScalarModeProperty::SetScalarModeToPointFieldData() 00074 { 00075 SetValue( static_cast<IdType>( VTK_SCALAR_MODE_USE_POINT_FIELD_DATA ) ); 00076 } 00077 00078 void mitk::VtkScalarModeProperty::SetScalarModeToCellFieldData() 00079 { 00080 SetValue( static_cast<IdType>( VTK_SCALAR_MODE_USE_CELL_FIELD_DATA ) ); 00081 } 00082 00083 void mitk::VtkScalarModeProperty::AddInterpolationTypes() 00084 { 00085 AddEnum( "Default", static_cast<IdType>( VTK_SCALAR_MODE_DEFAULT ) ); 00086 AddEnum( "PointData", static_cast<IdType>( VTK_SCALAR_MODE_USE_POINT_DATA ) ); 00087 AddEnum( "CellData", static_cast<IdType>( VTK_SCALAR_MODE_USE_CELL_DATA ) ); 00088 AddEnum( "PointFieldData", static_cast<IdType>( VTK_SCALAR_MODE_USE_POINT_FIELD_DATA ) ); 00089 AddEnum( "CellFieldData", static_cast<IdType>( VTK_SCALAR_MODE_USE_CELL_FIELD_DATA ) ); 00090 } 00091 00092 bool mitk::VtkScalarModeProperty::AddEnum( const std::string& name, const IdType& id ) 00093 { 00094 return Superclass::AddEnum( name, id ); 00095 }