瀏覽代碼

ENH: basic piecewise transfer function implemented

Nicolas Rannou 15 年之前
父節點
當前提交
70146d3f5c

+ 3 - 0
Libs/Visualization/VTK/Core/CMakeLists.txt

@@ -34,6 +34,8 @@ SET(KIT_SRCS
   ctkVTKObject.h
   ctkVTKObjectEventsObserver.cpp
   ctkVTKObjectEventsObserver.h
+  ctkVTKPiecewiseFunction.cpp
+  ctkVTKPiecewiseFunction.h
   )
 
 # Headers that should run through moc
@@ -42,6 +44,7 @@ SET(KIT_MOC_SRCS
   ctkVTKConnection.h
   ctkVTKLookupTable.h
   ctkVTKObjectEventsObserver.h
+  ctkVTKPiecewiseFunction.h
   )
 
 # UI files

+ 2 - 0
Libs/Visualization/VTK/Widgets/Testing/Cpp/CMakeLists.txt

@@ -3,6 +3,7 @@ SET(KIT ${PROJECT_NAME})
 CREATE_TEST_SOURCELIST(Tests ${KIT}CppTests.cpp
   ctkTransferFunctionWidgetTest1.cpp
   ctkTransferFunctionWidgetTest2.cpp
+  ctkTransferFunctionWidgetTest3.cpp
   #EXTRA_INCLUDE TestingMacros.h
   )
 
@@ -31,3 +32,4 @@ ENDMACRO( SIMPLE_TEST  )
 #SIMPLE_TEST( ctkVTKObjectTest1 )
 SIMPLE_TEST( ctkTransferFunctionWidgetTest1 )
 SIMPLE_TEST( ctkTransferFunctionWidgetTest2 )
+SIMPLE_TEST( ctkTransferFunctionWidgetTest3 )

+ 7 - 1
Libs/Widgets/ctkTransferFunctionItem.cpp

@@ -180,10 +180,16 @@ qreal ctkTransferFunctionItem::y(const QVariant& v) const
 //-----------------------------------------------------------------------------
 QColor ctkTransferFunctionItem::color(const QVariant& v) const
 { 
-  Q_ASSERT(v.canConvert<QColor>());
+  //Q_ASSERT(v.canConvert<QColor>());
   if (v.canConvert<QColor>())
     {
     return v.value<QColor>();
     }
+  else
+    {
+    //black background
+    QColor defaultColor(0., 0., 0.);
+    return defaultColor;
+    }
   return QColor();
 }