[opengtl-commits] [588] * major cleanup, full redesign of the library |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/opengtl-commits Archives
]
Revision: 588
Author: cyrille
Date: 2009-03-07 08:18:06 +0100 (Sat, 07 Mar 2009)
Log Message:
-----------
* major cleanup, full redesign of the library
Modified Paths:
--------------
trunk/OpenGTL/OpenGTL/GTLGlue/CMakeLists.txt
trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline.cpp
trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline.h
Added Paths:
-----------
trunk/OpenGTL/OpenGTL/GTLGlue/Node.cpp
trunk/OpenGTL/OpenGTL/GTLGlue/Node.h
Removed Paths:
-------------
trunk/OpenGTL/OpenGTL/GTLGlue/CtlProcessingNode.cpp
trunk/OpenGTL/OpenGTL/GTLGlue/CtlProcessingNode.h
trunk/OpenGTL/OpenGTL/GTLGlue/DestinationNode_p.cpp
trunk/OpenGTL/OpenGTL/GTLGlue/DestinationNode_p.h
trunk/OpenGTL/OpenGTL/GTLGlue/InputNode.cpp
trunk/OpenGTL/OpenGTL/GTLGlue/InputNode.h
trunk/OpenGTL/OpenGTL/GTLGlue/NodeData_p.cpp
trunk/OpenGTL/OpenGTL/GTLGlue/NodeData_p.h
trunk/OpenGTL/OpenGTL/GTLGlue/OutputNode.cpp
trunk/OpenGTL/OpenGTL/GTLGlue/OutputNode.h
trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline_p.cpp
trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline_p.h
trunk/OpenGTL/OpenGTL/GTLGlue/ProcessingNode.cpp
trunk/OpenGTL/OpenGTL/GTLGlue/ProcessingNode.h
trunk/OpenGTL/OpenGTL/GTLGlue/ShivaProcessingNode.cpp
trunk/OpenGTL/OpenGTL/GTLGlue/ShivaProcessingNode.h
trunk/OpenGTL/OpenGTL/GTLGlue/SourceNode_p.cpp
trunk/OpenGTL/OpenGTL/GTLGlue/SourceNode_p.h
Modified: trunk/OpenGTL/OpenGTL/GTLGlue/CMakeLists.txt
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/CMakeLists.txt 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/CMakeLists.txt 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,15 +1,7 @@
set(GTLGlue_SRCS
+ Node.cpp
Pipeline.cpp
- ProcessingNode.cpp
- ShivaProcessingNode.cpp
- CtlProcessingNode.cpp
- InputNode.cpp
- DestinationNode_p.cpp
- OutputNode.cpp
# Private source files
- SourceNode_p.cpp
- NodeData_p.cpp
- Pipeline_p.cpp
)
include_directories(${CMAKE_SOURCE_DIR}/OpenCTL ${CMAKE_SOURCE_DIR}/OpenShiva)
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/CtlProcessingNode.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/CtlProcessingNode.cpp 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/CtlProcessingNode.cpp 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "CtlProcessingNode.h"
-
-#include "GTLCore/String.h"
-#include "OpenCTL/Module.h"
-
-using namespace GTLGlue;
-
-struct CtlProcessingNode::Private
-{
- GTLCore::String functionName;
- OpenCTL::Module* ctlModule;
-};
-
-CtlProcessingNode::CtlProcessingNode(const GTLCore::String& _functionName, OpenCTL::Module* _ctlModule ) : d(new Private)
-{
- d->functionName = _functionName;
- d->ctlModule = _ctlModule;
-}
-
-
-CtlProcessingNode::~CtlProcessingNode()
-{
- delete d->ctlModule;
- delete d;
-}
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/CtlProcessingNode.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/CtlProcessingNode.h 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/CtlProcessingNode.h 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _GTLGlue_CTL_PROCESSING_NODE_H_
-#define _GTLGlue_CTL_PROCESSING_NODE_H_
-
-#include <GTLGlue/ProcessingNode.h>
-
-namespace OpenCTL {
- class Module;
-}
-
-namespace GTLCore {
- class String;
-}
-
-namespace GTLGlue {
- class CtlProcessingNode : public ProcessingNode {
- public:
- CtlProcessingNode( const GTLCore::String& _functionName, OpenCTL::Module* _ctlModule );
- ~CtlProcessingNode();
- private:
- struct Private;
- Private* const d;
- };
-
-}
-
-#endif
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/DestinationNode_p.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/DestinationNode_p.cpp 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/DestinationNode_p.cpp 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "DestinationNode_p.h"
-
-using namespace GTLGlue;
-
-DestinationNode::DestinationNode( const GTLCore::PixelDescription& ) {
-}
-
-DestinationNode::~DestinationNode()
-{
-}
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/DestinationNode_p.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/DestinationNode_p.h 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/DestinationNode_p.h 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _GTLGlue_DESTINATION_NODE_H_
-#define _GTLGlue_DESTINATION_NODE_H_
-
-#include "InputNode.h"
-
-namespace GTLCore {
- class PixelDescription;
-}
-
-namespace GTLGlue {
- /**
- * @ingroup GTLGlue
- * This class defines a node that takes a node as input.
- */
- class DestinationNode : public InputNode {
- public:
- DestinationNode( const GTLCore::PixelDescription& );
- ~DestinationNode();
- };
-}
-
-#endif
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/InputNode.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/InputNode.cpp 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/InputNode.cpp 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "InputNode.h"
-
-#include "NodeData_p.h"
-
-using namespace GTLGlue;
-
-struct InputNode::Private {
- NodeData nodeData;
-};
-
-
-InputNode::InputNode() : d(new Private)
-{
-}
-
-InputNode::~InputNode()
-{
- delete d;
-}
-
-const NodeData* InputNode::data() const
-{
- return &d->nodeData;
-}
-
-NodeData* InputNode::data()
-{
- return &d->nodeData;
-}
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/InputNode.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/InputNode.h 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/InputNode.h 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _GTLGlue_INPUT_NODE_H_
-#define _GTLGlue_INPUT_NODE_H_
-
-namespace GTLCore {
- class PixelDescription;
-}
-
-namespace GTLGlue {
- class NodeData;
- class OutputNode;
- /**
- * @ingroup GTLGlue
- * This class defines a node that takes an image as output.
- */
- class InputNode {
- friend class ProcessingNode;
- friend class DestinationNode;
- private:
- InputNode( const GTLCore::PixelDescription& _outputBuffer );
- ~InputNode();
- public:
- /**
- * Connect an entry of this input node
- */
- void connectTo( int _entry, const OutputNode* _node);
- private:
- const NodeData* data() const;
- NodeData* data();
- private:
- struct Private;
- Private* const d;
- };
-}
-
-#endif
Added: trunk/OpenGTL/OpenGTL/GTLGlue/Node.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/Node.cpp (rev 0)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/Node.cpp 2009-03-07 07:18:06 UTC (rev 588)
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2009 Cyrille Berger <cberger@xxxxxxxxxxx>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * either version 2, or (at your option) any later version of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "Node.h"
+
+using namespace GTLGlue;
+
+struct Node::Private
+{
+};
+
+Node::Node() : d(new Private)
+{
+}
+
+Node::~Node()
+{
+}
+
Property changes on: trunk/OpenGTL/OpenGTL/GTLGlue/Node.cpp
___________________________________________________________________
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
Added: trunk/OpenGTL/OpenGTL/GTLGlue/Node.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/Node.h (rev 0)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/Node.h 2009-03-07 07:18:06 UTC (rev 588)
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2009 Cyrille Berger <cberger@xxxxxxxxxxx>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * either version 2, or (at your option) any later version of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GTLGLUE_NODE_H_
+#define _GTLGLUE_NODE_H_
+
+namespace GTLGlue {
+
+ class Node {
+ public:
+ Node();
+ ~Node();
+ private:
+ struct Private;
+ Private* const d;
+ };
+}
+
+#endif
Property changes on: trunk/OpenGTL/OpenGTL/GTLGlue/Node.h
___________________________________________________________________
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/NodeData_p.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/NodeData_p.cpp 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/NodeData_p.cpp 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "NodeData_p.h"
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/NodeData_p.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/NodeData_p.h 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/NodeData_p.h 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _GTL_GLUE_NODE_DATA_P_H_
-#define _GTL_GLUE_NODE_DATA_P_H_
-
-namespace GTLGlue {
- /**
- * @ingroup GTLGlue
- */
- class NodeData {
- };
-}
-
-#endif
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/OutputNode.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/OutputNode.cpp 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/OutputNode.cpp 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "OutputNode.h"
-
-#include "NodeData_p.h"
-
-using namespace GTLGlue;
-
-struct OutputNode::Private {
- NodeData nodeData;
-};
-
-
-OutputNode::OutputNode() : d(new Private)
-{
-}
-
-OutputNode::~OutputNode()
-{
- delete d;
-}
-
-const NodeData* OutputNode::data() const
-{
- return &d->nodeData;
-}
-
-NodeData* OutputNode::data()
-{
- return &d->nodeData;
-}
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/OutputNode.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/OutputNode.h 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/OutputNode.h 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _GTLGlue_OUTPUT_H_
-#define _GTLGlue_OUTPUT_H_
-
-namespace GTLGlue {
- class NodeData;
- /**
- * @ingroup GTLGlue
- * This class defines a node that output a \ref GTLCore::AbstractImage .
- */
- class OutputNode {
- friend class ProcessingNode;
- friend class SourceNode;
- private:
- OutputNode();
- ~OutputNode();
- private:
- const NodeData* data() const;
- NodeData* data();
- private:
- struct Private;
- Private* const d;
- };
-}
-
-#endif
Modified: trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline.cpp 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline.cpp 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
+ * Copyright (c) 2008-2009 Cyrille Berger <cberger@xxxxxxxxxxx>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -17,10 +17,16 @@
* Boston, MA 02110-1301, USA.
*/
-#include "Pipeline_p.h"
+#include "Pipeline.h"
+#include <list>
+
using namespace GTLGlue;
+struct Pipeline::Private {
+ std::list<Node*> nodes;
+};
+
Pipeline::Pipeline() : d(new Private)
{
}
@@ -30,29 +36,7 @@
delete d;
}
-void Pipeline::appendSource( const GTLCore::PixelDescription& _pd )
+void Pipeline::appendNode(Node* node)
{
- d->appendSource( _pd );
+ d->nodes.push_back(node);
}
-
-void Pipeline::appendDestination( const GTLCore::PixelDescription& _pd )
-{
- d->appendDestination( _pd );
-}
-
-OutputNode* Pipeline::sourceNode( unsigned int _index)
-{
- return d->sourceNode( _index );
-}
-
-InputNode* Pipeline::destinationNode( unsigned int _index)
-{
- return d->destinationNode( _index );
-}
-
-void Pipeline::appendProcessingNode( ProcessingNode* _processingNode )
-{
- d->appendProcessingNode( _processingNode );
- _processingNode->setPipeline( this );
-}
-
Modified: trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline.h 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline.h 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
+ * Copyright (c) 2008-2009 Cyrille Berger <cberger@xxxxxxxxxxx>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -20,21 +20,20 @@
#ifndef _GTLGlue_PIPELINE_H_
#define _GTLGlue_PIPELINE_H_
-#include <GTLGlue/ProcessingNode.h>
+#include <GTLGlue/Node.h>
namespace GTLCore {
class PixelDescription;
}
namespace GTLGlue {
- class OutputNode;
- class InputNode;
+ class Node;
/**
* @ingroup GTLGlue
* This is the main class for GTLGlue, this class contains the image processing
* pipeline.
*/
- class Pipeline : public ProcessingNode {
+ class Pipeline : public Node {
friend class ProcessingNode;
public:
Pipeline();
@@ -43,14 +42,7 @@
/**
* Append a source to the \ref Pipeline.
*/
- void appendSource( const GTLCore::PixelDescription& );
- /**
- * Append a destination to the \ref Pipeline.
- */
- void appendDestination( const GTLCore::PixelDescription& );
- void appendProcessingNode( ProcessingNode* _processingNode );
- OutputNode* sourceNode( unsigned int _index);
- InputNode* destinationNode( unsigned int _index);
+ void appendNode( Node* );
private:
class Private;
Private* const d;
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline_p.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline_p.cpp 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline_p.cpp 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "Pipeline_p.h"
-
-#include "GTLCore/Utils_p.h"
-
-#include "Debug_p.h"
-#include "DestinationNode_p.h"
-#include "SourceNode_p.h"
-
-using namespace GTLGlue;
-
-Pipeline::Private::~Private()
-{
- GTLCore::deleteAll( m_sources );
- GTLCore::deleteAll( m_destinations );
- GTLCore::deleteAll( m_nodes );
-}
-
-void Pipeline::Private::appendSource( const GTLCore::PixelDescription& _pd)
-{
- m_sources.push_back( new SourceNode( _pd ) );
-}
-
-void Pipeline::Private::appendDestination( const GTLCore::PixelDescription& _pd )
-{
- m_destinations.push_back( new DestinationNode( _pd ) );
-}
-
-OutputNode* Pipeline::Private::sourceNode( unsigned int _index)
-{
- GTLF_ASSERT( _index < m_sources.size() );
- return m_sources[ _index ];
-}
-
-InputNode* Pipeline::Private::destinationNode( unsigned int _index)
-{
- GTLF_ASSERT( _index < m_destinations.size() );
- return m_destinations[ _index ];
-}
-
-void Pipeline::Private::appendProcessingNode( ProcessingNode* _processingNode )
-{
- m_nodes.push_back( _processingNode );
-}
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline_p.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline_p.h 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/Pipeline_p.h 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _GTLGlue_PIPELINE_P_H_
-#define _GTLGlue_PIPELINE_P_H_
-
-#include "Pipeline.h"
-
-#include <vector>
-
-namespace GTLGlue {
- class SourceNode;
- class DestinationNode;
- class Pipeline::Private {
- public:
- ~Private();
-// void appendProcessingNode();
- /**
- * Append a source to the \ref Pipeline.
- */
- void appendSource( const GTLCore::PixelDescription& );
- /**
- * Append a destination to the \ref Pipeline.
- */
- void appendDestination( const GTLCore::PixelDescription& );
- void appendProcessingNode( ProcessingNode* _processingNode );
- OutputNode* sourceNode( unsigned int _index);
- InputNode* destinationNode( unsigned int _index);
- private:
- std::vector<SourceNode*> m_sources;
- std::vector<DestinationNode*> m_destinations;
- std::vector<ProcessingNode*> m_nodes;
- };
-}
-
-#endif
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/ProcessingNode.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/ProcessingNode.cpp 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/ProcessingNode.cpp 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "ProcessingNode.h"
-
-#include <OpenShiva/Kernel.h>
-
-using namespace GTLGlue;
-
-struct ProcessingNode::Private
-{
- Private() : parent(0)
- {
- }
- Pipeline* parent;
-};
-
-ProcessingNode::ProcessingNode() : d(new Private)
-{
-}
-
-ProcessingNode::~ProcessingNode()
-{
- delete d;
-}
-
-void ProcessingNode::setPipeline( Pipeline* _parent )
-{
- d->parent = _parent;
-}
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/ProcessingNode.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/ProcessingNode.h 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/ProcessingNode.h 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _GTLGlue_PROCESSING_NODE_H_
-#define _GTLGlue_PROCESSING_NODE_H_
-
-#include <GTLGlue/InputNode.h>
-#include <GTLGlue/OutputNode.h>
-
-namespace GTLGlue {
- class Pipeline;
- /**
- * @ingroup GTLGlue
- */
- class ProcessingNode : public InputNode, public OutputNode {
- friend class Pipeline;
- public:
- ProcessingNode( );
- ~ProcessingNode();
- private:
- void setPipeline( Pipeline* _parent );
- private:
- struct Private;
- Private* const d;
- };
-}
-
-#endif
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/ShivaProcessingNode.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/ShivaProcessingNode.cpp 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/ShivaProcessingNode.cpp 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "ShivaProcessingNode.h"
-
-#include "OpenShiva/Kernel.h"
-
-using namespace GTLGlue;
-
-struct ShivaProcessingNode::Private
-{
- OpenShiva::Kernel* shivaKernel;
-};
-
-ShivaProcessingNode::ShivaProcessingNode( OpenShiva::Kernel* _shivaKernel ) : d(new Private)
-{
- d->shivaKernel = _shivaKernel;
-}
-
-ShivaProcessingNode::~ShivaProcessingNode()
-{
- delete d->shivaKernel;
- delete d;
-}
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/ShivaProcessingNode.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/ShivaProcessingNode.h 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/ShivaProcessingNode.h 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _GTLGlue_SHIVA_PROCESSING_NODE_H_
-#define _GTLGlue_SHIVA_PROCESSING_NODE_H_
-
-#include <GTLGlue/ProcessingNode.h>
-
-namespace OpenShiva {
- class Kernel;
-}
-
-namespace GTLGlue {
- class ShivaProcessingNode : public ProcessingNode {
- public:
- ShivaProcessingNode( OpenShiva::Kernel* _shivaKernel );
- ~ShivaProcessingNode();
- private:
- struct Private;
- Private* const d;
- };
-
-}
-
-#endif
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/SourceNode_p.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/SourceNode_p.cpp 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/SourceNode_p.cpp 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "SourceNode_p.h"
-
-using namespace GTLGlue;
-
-SourceNode::SourceNode( const GTLCore::PixelDescription& ) {
-}
-
-SourceNode::~SourceNode()
-{
-}
Deleted: trunk/OpenGTL/OpenGTL/GTLGlue/SourceNode_p.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/SourceNode_p.h 2009-03-06 21:43:38 UTC (rev 587)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/SourceNode_p.h 2009-03-07 07:18:06 UTC (rev 588)
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2008 Cyrille Berger <cberger@xxxxxxxxxxx>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * either version 2, or (at your option) any later version of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _GTLGlue_SOURCE_NODE_H_
-#define _GTLGlue_SOURCE_NODE_H_
-
-#include <GTLGlue/OutputNode.h>
-
-namespace GTLCore {
- class PixelDescription;
-}
-
-namespace GTLGlue {
- /**
- * @ingroup GTLGlue
- * @internal
- * This is an internal class which defines a node that output one of the source \ref GTLCore::AbstractImage
- * from the \ref Pipeline.
- */
- class SourceNode : public OutputNode {
- public:
- SourceNode( const GTLCore::PixelDescription& );
- ~SourceNode();
- };
-}
-
-#endif