From 148ca0ac10e3e5cc641b1c57da449b22cd8622eb Mon Sep 17 00:00:00 2001 From: Gerard Date: Wed, 20 May 2020 19:49:01 +0100 Subject: [PATCH] add FluidDataSetQuery --- .../Classes/FluidDataSetQuery.sc | 48 +++++++++++++++++++ src/FluidManipulation/FluidManipulation.cpp | 2 + 2 files changed, 50 insertions(+) create mode 100644 release-packaging/Classes/FluidDataSetQuery.sc diff --git a/release-packaging/Classes/FluidDataSetQuery.sc b/release-packaging/Classes/FluidDataSetQuery.sc new file mode 100644 index 0000000..ba3d656 --- /dev/null +++ b/release-packaging/Classes/FluidDataSetQuery.sc @@ -0,0 +1,48 @@ + +FluidDataSetQuery : FluidManipulationClient { + + *new {|server| + var uid = UniqueID.next; + ^super.new(server,uid)!?{|inst|inst.init(uid);inst} + } + + init {|uid| + id = uid; + } + + addColumn{|column, action| + this.prSendMsg(\addColumn, [column], action); + } + + + addRange{|start, count, action| + this.prSendMsg(\addRange, [start, count], action); + } + + + filter{|column, condition, value, action| + this.prSendMsg(\filter, [column, condition.asSymbol, value], action); + } + + + and{|column, condition, value, action| + this.prSendMsg(\and, [column, condition, value], action); + } + + or{|column, condition, value, action| + this.prSendMsg(\or, [column, condition, value], action); + } + + reset{|action| + this.prSendMsg(\reset, [], action); + } + + limit{|rows, action| + this.prSendMsg(\limit, [rows], action); + } + + transform{|sourceDataset, destDataset, action| + this.prSendMsg(\transform,[sourceDataset.asSymbol, destDataset.asSymbol],action); + } + +} diff --git a/src/FluidManipulation/FluidManipulation.cpp b/src/FluidManipulation/FluidManipulation.cpp index ebd4ee2..15f3448 100644 --- a/src/FluidManipulation/FluidManipulation.cpp +++ b/src/FluidManipulation/FluidManipulation.cpp @@ -2,6 +2,7 @@ // A tool from the FluCoMa project, funded by the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 725899) #include +#include #include #include #include @@ -21,6 +22,7 @@ PluginLoad(FluidSTFTUGen) ft = inTable; using namespace fluid::client; makeSCWrapper("FluidDataSet",ft); + makeSCWrapper("FluidDataSetQuery",ft); makeSCWrapper("FluidLabelSet",ft); makeSCWrapper("FluidKDTree",ft); makeSCWrapper("FluidKMeans",ft);