Index: /osgVisual/bin/visual_master.bat
===================================================================
--- /osgVisual/bin/visual_master.bat	(revision 68)
+++ /osgVisual/bin/visual_master.bat	(revision 69)
@@ -1,1 +1,1 @@
-osgVisual.exe -C center -m --window 100 100 800 600 -m D:\OpenSceneGraph\VPB-Testdatensatz\DB_Small\database.ive -p salzburg.path
+osgVisual.exe -C center -m --window 950 50 600 350 D:/OpenSceneGraph/VPB-Testdatensatz/DB_Small/database.ive -p salzburg.path
Index: /osgVisual/bin/visual_slave.bat
===================================================================
--- /osgVisual/bin/visual_slave.bat	(revision 68)
+++ /osgVisual/bin/visual_slave.bat	(revision 69)
@@ -1,1 +1,1 @@
-osgVisual.exe -C center -s --window 100 100 800 600 -m D:\OpenSceneGraph\VPB-Testdatensatz\DB_Small\database.ive -p salzburg.path
+osgVisual.exe -C center -s --server localhost 12345 --window 950 450 600 350 D:/OpenSceneGraph/VPB-Testdatensatz/DB_Small/database.ive -p salzburg.path
Index: /osgVisual/include/cluster/dataIO_cluster.h
===================================================================
--- /osgVisual/include/cluster/dataIO_cluster.h	(revision 68)
+++ /osgVisual/include/cluster/dataIO_cluster.h	(revision 69)
@@ -16,5 +16,6 @@
 */
 
-#include "osg/referenced"
+#include <osg/referenced>
+#include <osgViewer/Viewer>
 
 #include "dataIO_slot.h"
@@ -59,6 +60,9 @@
 	 * 
 	 */ 
-	virtual void init( osg::ArgumentParser& arguments_, clustermode clusterMode_, osgVisual::dataIO_transportContainer* sendContainer_, bool compressionEnabled_, bool asAscii_ ) = 0;
+	virtual void init( osg::ArgumentParser& arguments_, osgViewer::Viewer* viewer_, clustermode clusterMode_, osgVisual::dataIO_transportContainer* sendContainer_, bool compressionEnabled_, bool asAscii_ ) = 0;
 
+	void enableHardSync(bool hardSync_){hardSync=hardSync_;};
+	
+	bool isHardSyncEnabled(){return hardSync;};
 
 	virtual void shutdown() = 0;
@@ -117,9 +121,16 @@
 
 protected:
-	osgVisual::dataIO_cluster::clustermode clusterMode;	// This variable only mirrors the variable of dataIO. willbe set during initialize.
+	osgVisual::dataIO_cluster::clustermode clusterMode;	// This variable only mirrors the variable of dataIO. will be set during initialize.
 	bool initialized;
 	int port;
+	bool hardSync;
 
-	osg::ref_ptr<osgVisual::dataIO_transportContainer> sendContainer;
+	/**
+	 * Referenced Pointer to the applications viewer.
+	 */ 
+	osg::ref_ptr<osgViewer::Viewer> viewer;
+
+	osg::ref_ptr<osgVisual::dataIO_transportContainer> sendContainer;	// Points to the send container of dataIO.
+	std::string receivedTransportContainer;
 };
 
Index: /osgVisual/include/cluster/dataIO_clusterENet.h
===================================================================
--- /osgVisual/include/cluster/dataIO_clusterENet.h	(revision 68)
+++ /osgVisual/include/cluster/dataIO_clusterENet.h	(revision 69)
@@ -18,4 +18,7 @@
 #include <osg/notify>
 #include <osg/ArgumentParser>
+#include <osgDB/Registry>
+#include <osgDB/ReaderWriter>
+#include <iostream>
 
 #include <dataIO_cluster.h>
@@ -39,5 +42,5 @@
 	virtual ~dataIO_clusterENet(void);
 
-	void init( osg::ArgumentParser& arguments_, clustermode clusterMode_, osgVisual::dataIO_transportContainer* sendContainer_, bool compressionEnabled_, bool asAscii_ );
+	void init( osg::ArgumentParser& arguments_, osgViewer::Viewer* viewer_, clustermode clusterMode_, osgVisual::dataIO_transportContainer* sendContainer_, bool compressionEnabled_, bool asAscii_ );
 	void shutdown();
 
@@ -54,4 +57,9 @@
 	std::string serverToConnect;
 	osgVisual::dataIO_cluster::clustermode clusterMode;
+	std::string receivedTransportContainer;
+
+	osg::ref_ptr<osgDB::Options> readOptions;
+	osg::ref_ptr<osgDB::Options> writeOptions;
+	osg::ref_ptr<osgDB::ReaderWriter> rw;
 };
 
Index: /osgVisual/include/cluster/dataIO_clusterENet_implementation.h
===================================================================
--- /osgVisual/include/cluster/dataIO_clusterENet_implementation.h	(revision 68)
+++ /osgVisual/include/cluster/dataIO_clusterENet_implementation.h	(revision 69)
@@ -29,5 +29,5 @@
 {
 public:
-	dataIO_clusterENet_implementation();
+	dataIO_clusterENet_implementation(std::string& receivedTransportContainer_);
 	~dataIO_clusterENet_implementation();
 
@@ -54,4 +54,5 @@
 	std::vector<ENetPeer*> peerList;	// client: only one peer to server,    Server: multiple peers for all clients
 	ENetEvent event;
+	std::string& receivedTransportContainer;
 };
 
Index: /osgVisual/src/cluster/dataIO_clusterENet.cpp
===================================================================
--- /osgVisual/src/cluster/dataIO_clusterENet.cpp	(revision 68)
+++ /osgVisual/src/cluster/dataIO_clusterENet.cpp	(revision 69)
@@ -23,4 +23,6 @@
 	OSG_NOTIFY( osg::ALWAYS ) << "clusterENet constructed" << std::endl;
 	serverToConnect = "unknown";
+	hardSync = false;	// integrate into init()
+	port = 12345;	// integrate into init()
 }
 
@@ -32,8 +34,11 @@
 
 
-void dataIO_clusterENet::init( osg::ArgumentParser& arguments_, clustermode clusterMode_, osgVisual::dataIO_transportContainer* sendContainer_, bool compressionEnabled_, bool asAscii_ )
+void dataIO_clusterENet::init( osg::ArgumentParser& arguments_, osgViewer::Viewer* viewer_, clustermode clusterMode_, osgVisual::dataIO_transportContainer* sendContainer_, bool compressionEnabled_, bool asAscii_ )
 {
 	OSG_NOTIFY( osg::ALWAYS ) << "clusterENet init();" << std::endl;
 	
+	// Store viewer
+	viewer = viewer_;
+
 	// Configure the clustermode
 	clusterMode = clusterMode_;
@@ -41,11 +46,28 @@
 	// store sendContainer
 	sendContainer = sendContainer_;
+
+	// Configure Compression and instantiate read/write-options
+	std::string readOptionString = "";
+	std::string writeOptionString = "";
+	if(asAscii_)
+	{
+		readOptionString = "Ascii";
+		writeOptionString = "Ascii";
+	}
+	if (compressionEnabled_)
+		writeOptionString+=" Compressor=zlib";
+	readOptions = new osgDB::Options( readOptionString.c_str() );
+	writeOptions = new osgDB::Options( writeOptionString.c_str() );
+
+	// Get ReaderWriter
+	rw = osgDB::Registry::instance()->getReaderWriterForExtension("osgb");	
 	
 	// create ENet implementation object.
-	enet_impl = new osgVisual::dataIO_clusterENet_implementation();
+	enet_impl = new osgVisual::dataIO_clusterENet_implementation(receivedTransportContainer);
 
 	// initialize ENet implementation
 	if(clusterMode == MASTER)
 	{
+		std::cout << "Init dataIO_cluster_ENet as Server on port " << port << std::endl;
 		enet_impl->init(dataIO_clusterENet_implementation::SERVER, port);
 
@@ -81,5 +103,6 @@
 		{
 			initialized = false;
-			std::cout << "Failed to establish connection to server " << serverToConnect << std::endl;
+			std::cout << "Finally failed to establish connection to server " << serverToConnect << std::endl;
+			exit(-1);
 		}
 	}	// IF SLAVE END
@@ -95,6 +118,37 @@
 bool dataIO_clusterENet::sendTO_OBJvaluesToSlaves()
 {
-	OSG_NOTIFY( osg::ALWAYS ) << "clusterENet sendTO_OBJvaluesToSlaves()" << std::endl;
-
+	//OSG_NOTIFY( osg::ALWAYS ) << "clusterENet sendTO_OBJvaluesToSlaves()" << std::endl;
+
+	if(sendContainer.valid())
+	{
+		// Pack FrameID & Viewmatrix
+		sendContainer->setFrameID(viewer->getFrameStamp()->getFrameNumber());
+		sendContainer->setViewMatrix(viewer->getCamera()->getViewMatrix());
+
+		// Writing node to stream
+		std::stringstream myOstream;
+		if ( rw )
+		{
+			osgDB::ReaderWriter::WriteResult wr = rw->writeObject( *sendContainer.get(), myOstream, writeOptions );
+			if (wr.success() )			
+			{
+				// Send Data via ENet:
+				OSG_NOTIFY( osg::ALWAYS ) << "dataIO_clusterUDP::sendTO_OBJvaluesToSlaves() - Bytes to send: " << myOstream.str().length() << std::endl;
+				//sOSG_NOTIFY( osg::ALWAYS ) << "Send: " << myOstream.str() << std::endl;
+				ENetPacket * packet = enet_packet_create (myOstream.str().c_str(), 
+												  myOstream.str().size(), 
+												  ENET_PACKET_FLAG_RELIABLE);
+		
+				// Send data
+				enet_impl->sendPacket( packet, 0, 0, true);
+			}
+			else OSG_NOTIFY( osg::WARN ) << "ERROR: dataIO_clusterENet::sendTO_OBJvaluesToSlaves() :: Save failed: " << wr.message() << std::endl;
+		}
+		else OSG_NOTIFY( osg::WARN ) << "ERROR: dataIO_clusterENet::sendTO_OBJvaluesToSlaves() :: Unable to get readerWriter for osgb" << std::endl;
+	}
+	else OSG_NOTIFY( osg::WARN ) << "ERROR: dataIO_clusterENet::sendTO_OBJvaluesToSlaves() :: Invalid transportContainer" << std::endl;
+
+
+	enet_impl->processEvents();	// As Master: process events AFTER doing anything to have up to have the "sent" commands in queue.
 	return true;
 }
@@ -103,5 +157,39 @@
 bool dataIO_clusterENet::readTO_OBJvaluesFromMaster()
 {
-	OSG_NOTIFY( osg::ALWAYS ) << "clusterENet readTO_OBJvaluesFromMaster()" << std::endl;
+	//OSG_NOTIFY( osg::ALWAYS ) << "clusterENet readTO_OBJvaluesFromMaster()" << std::endl;
+	enet_impl->processEvents();	// As Slave: process events BEFORE doing anything to have up to date values.
+
+	int bytes_received = receivedTransportContainer.size();
+	if (bytes_received > 0 )
+	{
+		OSG_NOTIFY( osg::ALWAYS ) << "dataIO_clusterENet::readTO_OBJvaluesFromMaster() - Bytes received: " << bytes_received << std::endl;
+		//OSG_NOTIFY( osg::ALWAYS ) << "Received: " << std::endl << receivedTransportContainer << std::endl;
+
+		// Unserialize data
+		if ( rw )
+		{
+			std::stringstream test;
+			test << receivedTransportContainer;
+			osgDB::ReaderWriter::ReadResult rr = rw->readObject( test, readOptions );
+			if (rr.success())
+			{
+				sendContainer = dynamic_cast<osgVisual::dataIO_transportContainer*>(rr.takeObject());
+				if (sendContainer)
+				{
+					OSG_NOTIFY( osg::ALWAYS ) << "Received::FrameID is: " << sendContainer->getFrameID() << std::endl;
+					// Restore Viewmatrix
+					viewer->getCamera()->setViewMatrix(sendContainer->getViewMatrix());
+				}
+				else
+					OSG_NOTIFY( osg::WARN ) << "ERROR: dataIO_clusterENet::readTO_OBJvaluesFromMaster() - Unable to cast converted node to transportContainer" << std::endl;
+			}
+			else
+				OSG_NOTIFY( osg::WARN ) << "ERROR: dataIO_clusterENet::readTO_OBJvaluesFromMaster() - Unable to convert stream to node" << std::endl;
+		}
+		else
+			OSG_NOTIFY( osg::WARN ) << "ERROR: dataIO_clusterENet::readTO_OBJvaluesFromMaster() - Unable to get readerWriter for osgb" << std::endl;
+	}	// IF bytes recv > 0 END
+
+
 
 	return true;
@@ -111,4 +199,7 @@
 void dataIO_clusterENet::reportAsReadyToSwap()
 {
+	if(!hardSync)
+		return;
+
 	OSG_NOTIFY( osg::ALWAYS ) << "clusterENet reportAsReadyToSwap()" << std::endl;
 }
@@ -116,4 +207,7 @@
 bool dataIO_clusterENet::waitForSwap()
 {
+	if(!hardSync)
+		return true;
+
 	OSG_NOTIFY( osg::ALWAYS ) << "clusterENet waitForSwap()" << std::endl;
 
@@ -124,4 +218,7 @@
 bool dataIO_clusterENet::waitForAllReadyToSwap()
 {
+	if(!hardSync)
+		return true;
+
 	OSG_NOTIFY( osg::ALWAYS ) << "clusterENet waitForAllReadyToSwap()" << std::endl;
 
@@ -132,4 +229,7 @@
 bool dataIO_clusterENet::sendSwapCommand()
 {
+	if(!hardSync)
+		return true;
+
 	OSG_NOTIFY( osg::ALWAYS ) << "clusterENet sendSwapCommand()" << std::endl;
 
Index: /osgVisual/src/cluster/dataIO_clusterENet_implementation.cpp
===================================================================
--- /osgVisual/src/cluster/dataIO_clusterENet_implementation.cpp	(revision 68)
+++ /osgVisual/src/cluster/dataIO_clusterENet_implementation.cpp	(revision 69)
@@ -21,5 +21,6 @@
 int dataIO_clusterENet_implementation::activeENetInstances = 0;
 
-dataIO_clusterENet_implementation::dataIO_clusterENet_implementation()
+dataIO_clusterENet_implementation::dataIO_clusterENet_implementation(std::string& receivedTransportContainer_)
+: receivedTransportContainer(receivedTransportContainer_)
 {
 	std::cout << "Instantiated server class# "<< activeENetInstances << std::endl;
@@ -142,5 +143,5 @@
 	if( peerList.size() == 0 )
 	{
-		std::cout << "dataIO_clusterENet_implementation::sendPacket() - ERROR: No connected peer available!" << std::endl;
+		//std::cout << "dataIO_clusterENet_implementation::sendPacket() - ERROR: No connected peer available!" << std::endl;
 		return;
 	}
@@ -215,5 +216,8 @@
 {
 	if(currentRole != dataIO_clusterENet_implementation::CLIENT)
+	{
+		std::cout << "dataIO_clusterENet_implementation::connectTo() : ERROR: ENet does not work as client - ignoring to connect!" << std::endl;
 		return false;
+	}
 
 	ENetAddress address;
@@ -257,15 +261,6 @@
 void dataIO_clusterENet_implementation::onReceivePacket(ENetEvent* event_)
 {
-		std::string datastring;
-		datastring.assign((char*)(event_->packet->data), event_->packet->dataLength); 	
-		std::cout << "A packet of length "<<event_->packet->dataLength<<" containing "<<datastring<<" was received from "<<datastring<<" on channel "<<(int)(event_->channelID)<<std::endl;
-		datastring+=std::string("answer");
-
-		ENetPacket * packet = enet_packet_create (datastring.c_str(), 
-												  datastring.size(), 
-												  ENET_PACKET_FLAG_RELIABLE);
-		
-		// Send answer
-		sendPacket( packet, 0, 0, true);
+		receivedTransportContainer.assign((char*)(event_->packet->data), event_->packet->dataLength); 	
+		//std::cout << "A packet of length "<<event_->packet->dataLength<<" containing "<<receivedTransportContainer<<" was received from "<<receivedTransportContainer<<" on channel "<<(int)(event_->channelID)<<std::endl;
 }
 
Index: /osgVisual/src/cluster/dataIO_clusterUDP.cpp
===================================================================
--- /osgVisual/src/cluster/dataIO_clusterUDP.cpp	(revision 68)
+++ /osgVisual/src/cluster/dataIO_clusterUDP.cpp	(revision 69)
@@ -128,5 +128,5 @@
 		else
 			OSG_NOTIFY( osg::WARN ) << "ERROR: dataIO_clusterUDP::readTO_OBJvaluesFromMaster() - Unable to get readerWriter for osgb" << std::endl;
-	}
+	}	// IF bytes recv >0
 
 
Index: /osgVisual/src/core/visual_core.cpp
===================================================================
--- /osgVisual/src/core/visual_core.cpp	(revision 68)
+++ /osgVisual/src/core/visual_core.cpp	(revision 69)
@@ -362,76 +362,79 @@
 	//test->init( rootNode, viewer );
 
-	// Creating Testclasses
-	osg::ref_ptr<osgVisual::dataIO_transportContainer> test = new osgVisual::dataIO_transportContainer();
-	osg::ref_ptr<osgVisual::dataIO_executer> testEx = new osgVisual::dataIO_executer();
-	osg::ref_ptr<osgVisual::dataIO_slot> testSlot = new osgVisual::dataIO_slot();
-	test->setFrameID( 22 );
-	test->setName("ugamoep");
-	testEx->setexecuterID( osgVisual::dataIO_executer::IS_COLLISION );
-	testSlot->setVariableName(std::string("HalloName"));
-	testSlot->setdataDirection( osgVisual::dataIO_slot::TO_OBJ );
-	testSlot->setvarType( osgVisual::dataIO_slot::DOUBLE );
-	testSlot->setValue( 0.12345 );
-	test->addExecuter( testEx );
-	test->addSlot( testSlot );
-
-	// Writing object to stream
-	//std::ofstream myOstream("test.txt" );
-	std::stringstream myOstream;
-	std::string extension = "osgb";
-	bool compressed = false;
-	osgDB::ReaderWriter* rw = osgDB::Registry::instance()->getReaderWriterForExtension(extension.c_str());
-	if ( rw )
-	{
-		osgDB::ReaderWriter::WriteResult wr;
-
-		if (extension == "osgb")
-		{
-			if (compressed)
-				wr = rw->writeObject( *test, myOstream, new osgDB::Options("Compressor=zlib") );
-			else
-				wr = rw->writeObject( *test, myOstream );
-		}
-
-		if (extension == "osgt")
-		{
-			if (compressed)
-				wr = rw->writeObject( *test, myOstream, new osgDB::Options("Ascii Compressor=zlib") );
-			else
-				wr = rw->writeObject( *test, myOstream, new osgDB::Options("Ascii") );
-		}
-
-		if (extension == "osgx")
-		{
-			if (compressed)
-				wr = rw->writeObject( *test, myOstream, new osgDB::Options("XML Compressor=zlib") );
-			else
-				wr = rw->writeObject( *test, myOstream, new osgDB::Options("XML") );
-		}
-
-
-		if (!wr.success() )	OSG_NOTIFY( osg::WARN ) << "ERROR: Save failed: " << wr.message() << std::endl;
-	}
-	else
-		OSG_NOTIFY( osg::WARN ) << "error getting readerWriter for osgt" << std::endl;
-
-	// Size ermitteln.
-	std::stringbuf *pbuf;
-	pbuf = myOstream.rdbuf();
-	OSG_NOTIFY( osg::WARN ) << "PBUF Bytes available: " << pbuf->in_avail() << std::endl;
-	OSG_NOTIFY( osg::ALWAYS ) << "STRING Bytes available: " << myOstream.str().length() << std::endl;
-	OSG_NOTIFY( osg::ALWAYS ) << "STRING content: " << myOstream.str() << std::endl;
-
-	//Reading Stream to node
-	if ( rw )
-	{
-		osgDB::ReaderWriter::ReadResult rr = rw->readObject( myOstream );
-		osg::ref_ptr<osgVisual::dataIO_transportContainer> test2 = dynamic_cast<osgVisual::dataIO_transportContainer*>(rr.takeObject());
-		if (test2)
-		{
-			OSG_NOTIFY( osg::WARN ) << "TEST::FrameID is: " << test->getFrameID() << std::endl;
-		}
-		else
-			OSG_NOTIFY( osg::WARN ) << "Error converting stream to Node" << std::endl;
-	}
-}
+	//// Creating Testclasses
+	//osg::ref_ptr<osgVisual::dataIO_transportContainer> test = new osgVisual::dataIO_transportContainer();
+	//osg::ref_ptr<osgVisual::dataIO_executer> testEx = new osgVisual::dataIO_executer();
+	//osg::ref_ptr<osgVisual::dataIO_slot> testSlot = new osgVisual::dataIO_slot();
+	//test->setFrameID( 22 );
+	//test->setName("ugamoep");
+	//testEx->setexecuterID( osgVisual::dataIO_executer::IS_COLLISION );
+	//testSlot->setVariableName(std::string("HalloName"));
+	//testSlot->setdataDirection( osgVisual::dataIO_slot::TO_OBJ );
+	//testSlot->setvarType( osgVisual::dataIO_slot::DOUBLE );
+	//testSlot->setValue( 0.12345 );
+	//test->addExecuter( testEx );
+	//test->addSlot( testSlot );
+
+	visual_dataIO::getInstance()->setSlotData("TestSlot1", osgVisual::dataIO_slot::TO_OBJ, 0.12345);
+
+
+	//// Writing object to stream
+	////std::ofstream myOstream("test.txt" );
+	//std::stringstream myOstream;
+	//std::string extension = "osgb";
+	//bool compressed = false;
+	//osgDB::ReaderWriter* rw = osgDB::Registry::instance()->getReaderWriterForExtension(extension.c_str());
+	//if ( rw )
+	//{
+	//	osgDB::ReaderWriter::WriteResult wr;
+
+	//	if (extension == "osgb")
+	//	{
+	//		if (compressed)
+	//			wr = rw->writeObject( *test, myOstream, new osgDB::Options("Compressor=zlib") );
+	//		else
+	//			wr = rw->writeObject( *test, myOstream );
+	//	}
+
+	//	if (extension == "osgt")
+	//	{
+	//		if (compressed)
+	//			wr = rw->writeObject( *test, myOstream, new osgDB::Options("Ascii Compressor=zlib") );
+	//		else
+	//			wr = rw->writeObject( *test, myOstream, new osgDB::Options("Ascii") );
+	//	}
+
+	//	if (extension == "osgx")
+	//	{
+	//		if (compressed)
+	//			wr = rw->writeObject( *test, myOstream, new osgDB::Options("XML Compressor=zlib") );
+	//		else
+	//			wr = rw->writeObject( *test, myOstream, new osgDB::Options("XML") );
+	//	}
+
+
+	//	if (!wr.success() )	OSG_NOTIFY( osg::WARN ) << "ERROR: Save failed: " << wr.message() << std::endl;
+	//}
+	//else
+	//	OSG_NOTIFY( osg::WARN ) << "error getting readerWriter for osgt" << std::endl;
+
+	//// Size ermitteln.
+	//std::stringbuf *pbuf;
+	//pbuf = myOstream.rdbuf();
+	//OSG_NOTIFY( osg::WARN ) << "PBUF Bytes available: " << pbuf->in_avail() << std::endl;
+	//OSG_NOTIFY( osg::ALWAYS ) << "STRING Bytes available: " << myOstream.str().length() << std::endl;
+	//OSG_NOTIFY( osg::ALWAYS ) << "STRING content: " << myOstream.str() << std::endl;
+
+	////Reading Stream to node
+	//if ( rw )
+	//{
+	//	osgDB::ReaderWriter::ReadResult rr = rw->readObject( myOstream );
+	//	osg::ref_ptr<osgVisual::dataIO_transportContainer> test2 = dynamic_cast<osgVisual::dataIO_transportContainer*>(rr.takeObject());
+	//	if (test2)
+	//	{
+	//		OSG_NOTIFY( osg::WARN ) << "TEST::FrameID is: " << test->getFrameID() << std::endl;
+	//	}
+	//	else
+	//		OSG_NOTIFY( osg::WARN ) << "Error converting stream to Node" << std::endl;
+	//}
+}
Index: /osgVisual/src/dataIO/visual_dataIO.cpp
===================================================================
--- /osgVisual/src/dataIO/visual_dataIO.cpp	(revision 68)
+++ /osgVisual/src/dataIO/visual_dataIO.cpp	(revision 69)
@@ -78,7 +78,9 @@
 	#ifdef USE_CLUSTER_ENET
 		cluster = new dataIO_clusterENet();
+		cluster->enableHardSync( false );	/** \todo : rebuild this structure in cluster.h and move it this way to a general implementation. */
 	#endif
 	if(cluster.valid())
-		cluster->init(arguments_, clusterMode, slotContainer, true, false);
+		//cluster->init(arguments_, clusterMode, slotContainer, true, false);
+		cluster->init(arguments_, viewer_, clusterMode, slotContainer, false, true);
 
 	// Create extLink.
