diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/CMakeLists-Common.txt b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/CMakeLists-Common.txt
index d309a24fd56bb75d769e18f14b4d6e02410594fb..bb98b9c158e793c38dc4c7257847a800275bc44b 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/CMakeLists-Common.txt
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/CMakeLists-Common.txt
@@ -32,13 +32,13 @@ add_definitions(
 set(CMAKE_BUILD_TYPE Release)
 
 set(CMAKE_CXX_FLAGS_DEBUG
-    "-g -O0 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual"
+    "-g -O0 -std=c++0x -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual"
 )
-set(CMAKE_C_FLAGS_DEBUG "-g -O0")
+set(CMAKE_C_FLAGS_DEBUG "-g -O0 -std=c++0x")
 
 set(CMAKE_CXX_FLAGS_RELEASE
-    "-O3 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual")
-set(CMAKE_C_FLAGS_RELEASE "-O3")
+    "-O3 -std=c++0x -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual")
+set(CMAKE_C_FLAGS_RELEASE "-O3 -std=c++0x")
 
 # Set output library destination to plugin directory
 set(LIBRARY_OUTPUT_PATH $ENV{FOAM_LIBBIN}
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.C
index ed48eb60c0167bd9df5d5d3a72d6ed590cbce6c9..d70f3d77e1b2c02201f9fe859e2d9f60ea1273a5 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.C
@@ -437,7 +437,7 @@ Foam::fieldVisualisationBase::fieldVisualisationBase
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours
+    const HashPtrTable<Function1<vector>, word>& colours
 )
 :
     parent_(parent),
@@ -489,7 +489,7 @@ Foam::fieldVisualisationBase::~fieldVisualisationBase()
 
 // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
 
-const Foam::HashPtrTable<Foam::DataEntry<Foam::vector>, Foam::word>&
+const Foam::HashPtrTable<Foam::Function1<Foam::vector>, Foam::word>&
 Foam::fieldVisualisationBase::colours() const
 {
     return colours_;
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.H b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.H
index e365ddf59792c0fd4fb66ea5ac29715dcc1f5145..65fe8a36b0033d3be495b5028c6c57926fbf6c5a 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.H
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.H
@@ -39,7 +39,7 @@ SourceFiles
 #include "NamedEnum.H"
 #include "vector.H"
 #include "HashPtrTable.H"
-#include "DataEntry.H"
+#include "Function1.H"
 
 #include "vtkSmartPointer.h"
 
@@ -121,7 +121,7 @@ protected:
         };
 
         //- Colours
-        const HashPtrTable<DataEntry<vector>, word>& colours_;
+        const HashPtrTable<Function1<vector>, word>& colours_;
 
         //- Field name
         word fieldName_;
@@ -183,7 +183,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours
+            const HashPtrTable<Function1<vector>, word>& colours
         );
 
 
@@ -196,7 +196,7 @@ public:
         // Access
 
             //- Return the colours
-            const HashPtrTable<DataEntry<vector>, word>& colours() const;
+            const HashPtrTable<Function1<vector>, word>& colours() const;
 
             //- Return the field name
             const word& fieldName() const;
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.C
index 8c1f4e8535d664339ee35540e3e15774b2be3c9c..6150bd15ea4357e68a6d1e52e8ca8b843ba49950 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.C
@@ -51,7 +51,7 @@ Foam::functionObjectCloud::functionObjectCloud
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours
+    const HashPtrTable<Function1<vector>, word>& colours
 )
 :
     pointData(parent, dict, colours),
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.H b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.H
index 553bf96f3af287d5406118343b245cf14530a685..afc1c5262ff1b76e18bfd2d32f0cf8eb1ae13169 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.H
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.H
@@ -92,7 +92,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours
+            const HashPtrTable<Function1<vector>, word>& colours
         );
 
 
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.C
index d95099759865692cbbebab49fe1a67300863ceaa..1455eb619100a99d5420a748c59b5dbbee5cb11c 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.C
@@ -51,7 +51,7 @@ Foam::functionObjectLine::functionObjectLine
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours
+    const HashPtrTable<Function1<vector>, word>& colours
 )
 :
     pathline(parent, dict, colours),
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.H b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.H
index 9224d7246ade59a9ca07a9f78a156de2eca0dfa7..3749d24597642c9417aea87cb6abaa8407888752 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.H
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.H
@@ -86,7 +86,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours
+            const HashPtrTable<Function1<vector>, word>& colours
         );
 
 
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.C
index e7c6c691760427e1df81e04ac472bd2e086e564c..d9d59c2bb68a6f0ff22d490f97fef00a71f202e6 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.C
@@ -51,7 +51,7 @@ Foam::functionObjectSurface::functionObjectSurface
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours
+    const HashPtrTable<Function1<vector>, word>& colours
 )
 :
     geometrySurface(parent, dict, colours, List<fileName>()),
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.H b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.H
index 32f4a7572c63c666b60c782a4ae32cfe520f9439..b881611b6a375ad619c1d1850662c2149fadff64 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.H
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.H
@@ -85,7 +85,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours
+            const HashPtrTable<Function1<vector>, word>& colours
         );
 
 
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometryBase.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometryBase.C
index a40bd6b9fe365d825b110ffece4f67379bac13a6..0d78faf14b287b5e3db919931fcb83a959f21876 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometryBase.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometryBase.C
@@ -81,7 +81,7 @@ Foam::geometryBase::geometryBase
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours
+    const HashPtrTable<Function1<vector>, word>& colours
 )
 :
     parent_(parent),
@@ -98,11 +98,11 @@ Foam::geometryBase::geometryBase
 
     if (dict.found("opacity"))
     {
-        opacity_.reset(DataEntry<scalar>::New("opacity", dict).ptr());
+        opacity_.reset(Function1<scalar>::New("opacity", dict).ptr());
     }
     else
     {
-        opacity_.reset(new Constant<scalar>("opacity", 1.0));
+        opacity_.reset(new Function1Types::Constant<scalar>("opacity", 1.0));
     }
 }
 
@@ -139,7 +139,7 @@ Foam::scalar Foam::geometryBase::opacity(const scalar position) const
 }
 
 
-const Foam::HashPtrTable<Foam::DataEntry<Foam::vector>, Foam::word>&
+const Foam::HashPtrTable<Foam::Function1<Foam::vector>, Foam::word>&
 Foam::geometryBase::colours() const
 {
     return colours_;
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometryBase.H b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometryBase.H
index cc19d943ef35fb0b48e02c212bd37f5763a9d717..49997d79ad200470debada914a04ea3fadebf69e 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometryBase.H
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometryBase.H
@@ -36,7 +36,7 @@ SourceFiles
 
 #include "dictionary.H"
 #include "vector.H"
-#include "DataEntry.H"
+#include "Function1.H"
 #include "HashPtrTable.H"
 #include "NamedEnum.H"
 
@@ -99,10 +99,10 @@ protected:
         renderModeType renderMode_;
 
         //- Opacity
-        autoPtr<DataEntry<scalar>> opacity_;
+        autoPtr<Function1<scalar>> opacity_;
 
         //- Reference to the colours
-        const HashPtrTable<DataEntry<vector>, word>& colours_;
+        const HashPtrTable<Function1<vector>, word>& colours_;
 
 
     // Protected functions
@@ -120,7 +120,7 @@ public:
         (
             const runTimePostProcessing& parent_,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours
+            const HashPtrTable<Function1<vector>, word>& colours
         );
 
 
@@ -145,7 +145,7 @@ public:
             scalar opacity(const scalar position) const;
 
             //- Return reference to the colours
-            const HashPtrTable<DataEntry<vector>, word>& colours() const;
+            const HashPtrTable<Function1<vector>, word>& colours() const;
 
 
         //- Add geometry to scene
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.C
index 535cdddc99cbbae862a8c0ccc4081396de3de093..9046189f593e149f2432eec6266b248cc2c1c7dd 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.C
@@ -136,7 +136,7 @@ Foam::geometrySurface::geometrySurface
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours
+    const HashPtrTable<Function1<vector>, word>& colours
 )
 :
     surface(parent, dict, colours),
@@ -148,7 +148,7 @@ Foam::geometrySurface::geometrySurface
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours,
+    const HashPtrTable<Function1<vector>, word>& colours,
     const List<fileName>& fileNames
 )
 :
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.H b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.H
index 5eec3ee8d67d79183053dee1b8e4b22f070edee1..3b35bc171b687a9c5e307c9926f8e91d7b6f0f89 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.H
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.H
@@ -94,7 +94,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours
+            const HashPtrTable<Function1<vector>, word>& colours
         );
 
         //- Construct from components
@@ -102,7 +102,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours,
+            const HashPtrTable<Function1<vector>, word>& colours,
             const List<fileName>& fileNames
         );
 
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.C
index 744c092cf8fc75356a2584493ddd63c2a6b0fec1..0b5a2da8be881c32d8368122beecf07657a70b70 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.C
@@ -118,7 +118,7 @@ Foam::pathline::pathline
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours
+    const HashPtrTable<Function1<vector>, word>& colours
 )
 :
     geometryBase(parent, dict, colours),
@@ -131,7 +131,7 @@ Foam::pathline::pathline
 {
     if (dict.found("lineColour"))
     {
-        lineColour_.reset(DataEntry<vector>::New("lineColour", dict).ptr());
+        lineColour_.reset(Function1<vector>::New("lineColour", dict).ptr());
     }
     else
     {
@@ -168,7 +168,7 @@ Foam::autoPtr<Foam::pathline> Foam::pathline::New
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours,
+    const HashPtrTable<Function1<vector>, word>& colours,
     const word& pathlineType
 )
 {
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.H b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.H
index 41d80dd757fc86cfe67567c53137776568d1b2c9..0686548269507ea4889b211055719803f92ccf24 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.H
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.H
@@ -92,7 +92,7 @@ protected:
         scalar tubeRadius_;
 
         //- Line colour
-        autoPtr<DataEntry<vector>> lineColour_;
+        autoPtr<Function1<vector>> lineColour_;
 
 
     // Protected Member Functions
@@ -122,7 +122,7 @@ public:
             (
                 const runTimePostProcessing& parent,
                 const dictionary& dict,
-                const HashPtrTable<DataEntry<vector>, word>& colours
+                const HashPtrTable<Function1<vector>, word>& colours
             ),
             (parent, dict, colours)
         );
@@ -135,7 +135,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours
+            const HashPtrTable<Function1<vector>, word>& colours
         );
 
 
@@ -146,7 +146,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours,
+            const HashPtrTable<Function1<vector>, word>& colours,
             const word& pathlineName
         );
 
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.C
index cae1853e657f807d481462db93582a956b421775..19838d4adc9b83baa4f315b628ab7869e29d5b0f 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.C
@@ -87,7 +87,7 @@ Foam::pointData::pointData
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours
+    const HashPtrTable<Function1<vector>, word>& colours
 )
 :
     geometryBase(parent, dict, colours),
@@ -100,7 +100,7 @@ Foam::pointData::pointData
 {
     if (dict.found("pointColour"))
     {
-        pointColour_.reset(DataEntry<vector>::New("pointColour", dict).ptr());
+        pointColour_.reset(Function1<vector>::New("pointColour", dict).ptr());
     }
     else
     {
@@ -128,7 +128,7 @@ Foam::autoPtr<Foam::pointData> Foam::pointData::New
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours,
+    const HashPtrTable<Function1<vector>, word>& colours,
     const word& pointDataType
 )
 {
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.H b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.H
index 1ec9f06b7ca9c6fb15a501fa082ee261c7714c41..f6521b6407160fa35c898319bd7a76d668cfc071 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.H
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.H
@@ -90,7 +90,7 @@ protected:
         scalar maxGlyphLength_;
 
         //- Point colour
-        autoPtr<DataEntry<vector>> pointColour_;
+        autoPtr<Function1<vector>> pointColour_;
 
 
     // Protected Member Functions
@@ -121,7 +121,7 @@ public:
             (
                 const runTimePostProcessing& parent,
                 const dictionary& dict,
-                const HashPtrTable<DataEntry<vector>, word>& colours
+                const HashPtrTable<Function1<vector>, word>& colours
             ),
             (parent, dict, colours)
         );
@@ -134,7 +134,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours
+            const HashPtrTable<Function1<vector>, word>& colours
         );
 
 
@@ -145,7 +145,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours,
+            const HashPtrTable<Function1<vector>, word>& colours,
             const word& pointDataName
         );
 
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.C
index c96e36566c8a6aa0d63e77738d6e871743d0cd4e..3e8b29e85d04d51b8fed6f3eba3ae3169c974054 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.C
@@ -103,27 +103,30 @@ void Foam::scene::readCamera(const dictionary& dict)
         {
             clipBox_ = boundBox(coeffs.lookup("clipBox"));
             const vector lookDir(vector(coeffs.lookup("lookDir")));
-            cameraPosition_.reset(new Constant<point>("position", -lookDir));
+            cameraPosition_.reset
+            (
+                new Function1Types::Constant<point>("position", -lookDir)
+            );
             const vector focalPoint(coeffs.lookup("focalPoint"));
             cameraFocalPoint_.reset
             (
-                new Constant<point>("focalPoint", focalPoint)
+                new Function1Types::Constant<point>("focalPoint", focalPoint)
             );
             const vector up(coeffs.lookup("up"));
-            cameraUp_.reset(new Constant<point>("up", up));
+            cameraUp_.reset(new Function1Types::Constant<point>("up", up));
             break;
         }
         case mtFlightPath:
         {
             cameraPosition_.reset
             (
-                DataEntry<vector>::New("position", coeffs).ptr()
+                Function1<vector>::New("position", coeffs).ptr()
             );
             cameraFocalPoint_.reset
             (
-                DataEntry<point>::New("focalPoint", coeffs).ptr()
+                Function1<point>::New("focalPoint", coeffs).ptr()
             );
-            cameraUp_.reset(DataEntry<vector>::New("up", coeffs).ptr());
+            cameraUp_.reset(Function1<vector>::New("up", coeffs).ptr());
             break;
         }
         default:
@@ -136,20 +139,23 @@ void Foam::scene::readCamera(const dictionary& dict)
 
     if (dict.found("zoom"))
     {
-        cameraZoom_.reset(DataEntry<scalar>::New("zoom", dict).ptr());
+        cameraZoom_.reset(Function1<scalar>::New("zoom", dict).ptr());
     }
     else
     {
-        cameraZoom_.reset(new Constant<scalar>("zoom", 1.0));
+        cameraZoom_.reset(new Function1Types::Constant<scalar>("zoom", 1.0));
     }
 
     if (dict.found("viewAngle"))
     {
-        cameraViewAngle_.reset(DataEntry<scalar>::New("viewAngle", dict).ptr());
+        cameraViewAngle_.reset(Function1<scalar>::New("viewAngle", dict).ptr());
     }
     else
     {
-        cameraViewAngle_.reset(new Constant<scalar>("viewAngle", 35.0));
+        cameraViewAngle_.reset
+        (
+            new Function1Types::Constant<scalar>("viewAngle", 35.0)
+        );
     }
 }
 
@@ -160,7 +166,7 @@ void Foam::scene::readColours(const dictionary& dict)
     forAll(colours, i)
     {
         const word& c = colours[i];
-        colours_.insert(c, DataEntry<vector>::New(c, dict).ptr());
+        colours_.insert(c, Function1<vector>::New(c, dict).ptr());
     }
 }
 
@@ -305,7 +311,7 @@ Foam::scene::~scene()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-const Foam::HashPtrTable<Foam::DataEntry<Foam::vector>, Foam::word>&
+const Foam::HashPtrTable<Foam::Function1<Foam::vector>, Foam::word>&
 Foam::scene::colours() const
 {
     return colours_;
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.H b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.H
index 2372df4ece6ece636d7b197e589d8d322b9a9320..470780c33e0e0b380ced3129729872b2d0cbc2c4 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.H
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.H
@@ -36,7 +36,7 @@ SourceFiles
 
 // OpenFOAM includes
 #include "dictionary.H"
-#include "DataEntry.H"
+#include "Function1.H"
 #include "vector.H"
 #include "point.H"
 #include "boundBox.H"
@@ -99,7 +99,7 @@ protected:
     // Protected data
 
         //- Colours
-        HashPtrTable<DataEntry<vector>, word> colours_;
+        HashPtrTable<Function1<vector>, word> colours_;
 
 
         // Camera settings
@@ -108,19 +108,19 @@ protected:
             modeType mode_;
 
             //- Position
-            autoPtr<DataEntry<point>> cameraPosition_;
+            autoPtr<Function1<point>> cameraPosition_;
 
             //- Focal point
-            autoPtr<DataEntry<point>> cameraFocalPoint_;
+            autoPtr<Function1<point>> cameraFocalPoint_;
 
             //- Up direction
-            autoPtr<DataEntry<vector>> cameraUp_;
+            autoPtr<Function1<vector>> cameraUp_;
 
             //- Zoom level
-            autoPtr<DataEntry<scalar>> cameraZoom_;
+            autoPtr<Function1<scalar>> cameraZoom_;
 
             //- View angle
-            autoPtr<DataEntry<scalar>> cameraViewAngle_;
+            autoPtr<Function1<scalar>> cameraViewAngle_;
 
 
         // Scene management
@@ -171,7 +171,7 @@ public:
         // Access
 
             //- Return the colours
-            const HashPtrTable<DataEntry<vector>, word>& colours() const;
+            const HashPtrTable<Function1<vector>, word>& colours() const;
 
             //- Return the current frame index
             label frameIndex() const;
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.C
index 1cb877d9cb7242829b8d0bda37dc615f7cb52e75..45618af1a07b5326bfcec7153a2c4fc1585f4168 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.C
@@ -135,7 +135,7 @@ Foam::surface::surface
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours
+    const HashPtrTable<Function1<vector>, word>& colours
 )
 :
     geometryBase(parent, dict, colours),
@@ -157,7 +157,7 @@ Foam::surface::surface
     {
         surfaceColour_.reset
         (
-            DataEntry<vector>::New("surfaceColour", dict).ptr()
+            Function1<vector>::New("surfaceColour", dict).ptr()
         );
     }
     else
@@ -167,7 +167,7 @@ Foam::surface::surface
 
     if (dict.found("edgeColour"))
     {
-        edgeColour_.reset(DataEntry<vector>::New("edgeColour", dict).ptr());
+        edgeColour_.reset(Function1<vector>::New("edgeColour", dict).ptr());
     }
     else
     {
@@ -191,7 +191,7 @@ Foam::autoPtr<Foam::surface> Foam::surface::New
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours,
+    const HashPtrTable<Function1<vector>, word>& colours,
     const word& surfaceType
 )
 {
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.H b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.H
index 88b57d59d65df84b5a1b00ed6573c21dbbba705d..cd6f7fbbd2c71e0efb0fc639e3bae560524b7b29 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.H
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.H
@@ -95,10 +95,10 @@ protected:
         bool featureEdges_;
 
         //- Surface colour
-        autoPtr<DataEntry<vector>> surfaceColour_;
+        autoPtr<Function1<vector>> surfaceColour_;
 
         //- Edge colour
-        autoPtr<DataEntry<vector>> edgeColour_;
+        autoPtr<Function1<vector>> edgeColour_;
 
         //- Surface actor
         vtkSmartPointer<vtkActor> surfaceActor_;
@@ -139,7 +139,7 @@ public:
             (
                 const runTimePostProcessing& parent,
                 const dictionary& dict,
-                const HashPtrTable<DataEntry<vector>, word>& colours
+                const HashPtrTable<Function1<vector>, word>& colours
             ),
             (parent, dict, colours)
         );
@@ -152,7 +152,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours
+            const HashPtrTable<Function1<vector>, word>& colours
         );
 
 
@@ -163,7 +163,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours,
+            const HashPtrTable<Function1<vector>, word>& colours,
             const word& surfaceName
         );
 
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/text.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/text.C
index b4c1ff3f86c9d099704922e1c57fd6e41f3a89ed..879f2c7d069b0ed289f5cced73c92be7882e6b69 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/text.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/text.C
@@ -39,7 +39,7 @@ Foam::text::text
 (
     const runTimePostProcessing& parent,
     const dictionary& dict,
-    const HashPtrTable<DataEntry<vector>, word>& colours
+    const HashPtrTable<Function1<vector>, word>& colours
 )
 :
     geometryBase(parent, dict, colours),
@@ -51,7 +51,7 @@ Foam::text::text
 {
     if (dict.found("colour"))
     {
-        colour_.reset(DataEntry<vector>::New("colour", dict).ptr());
+        colour_.reset(Function1<vector>::New("colour", dict).ptr());
     }
     else
     {
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/text.H b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/text.H
index e4928d54e7993d964cba0c7a12911b12031fe92c..891519ad3ea0364b4365b5cc3984dd86d0963ac5 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/text.H
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/text.H
@@ -77,7 +77,7 @@ protected:
         scalar size_;
 
         //- Colour
-        autoPtr<DataEntry<vector>> colour_;
+        autoPtr<Function1<vector>> colour_;
 
         //- Bold flag
         bool bold_;
@@ -92,7 +92,7 @@ public:
         (
             const runTimePostProcessing& parent,
             const dictionary& dict,
-            const HashPtrTable<DataEntry<vector>, word>& colours
+            const HashPtrTable<Function1<vector>, word>& colours
         );