Index: /osgVisual/trunk/include/object/object_updater.h
===================================================================
--- /osgVisual/trunk/include/object/object_updater.h	(revision 208)
+++ /osgVisual/trunk/include/object/object_updater.h	(revision 209)
@@ -92,4 +92,20 @@
 	void addUpdater( object_updater* updater_ );
 
+	/**
+	 * \brief This function defines the slots to use for updating the object.
+	 * 
+	 * If a lot is empty, the objectname will be used with a suffix describing the channel. For details look for the implementation.
+	 * 
+	 * @param lat_ 
+	 * @param lon_ 
+	 * @param alt_ 
+	 * @param rot_x_ 
+	 * @param rot_y_ 
+	 * @param rot_z_ 
+	 * @param label_ 
+	 */ 
+	void setUpdaterSlotNames( osgVisual::visual_object* object_, std::string lat_, std::string lon_, std::string alt_, std::string rot_x_, std::string rot_y_, std::string rot_z_, std::string label_);
+
+
 protected:
 	/**
@@ -98,4 +114,9 @@
 	osg::ref_ptr<object_updater> updater;
 
+	/**
+	 * Names of the Slots the updater should use
+	 */ 
+	std::string updater_lat, updater_lon, updater_alt, updater_rot_x, updater_rot_y, updater_rot_z, updater_label;
+
 };
 
Index: /osgVisual/trunk/src/object/object_updater.cpp
===================================================================
--- /osgVisual/trunk/src/object/object_updater.cpp	(revision 208)
+++ /osgVisual/trunk/src/object/object_updater.cpp	(revision 209)
@@ -35,10 +35,10 @@
 
 	
-	object_->lat = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(object_->getName()+"_POS_LAT", osgVisual::dataIO_slot::TO_OBJ ));
-	object_->lon = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(object_->getName()+"_POS_LON", osgVisual::dataIO_slot::TO_OBJ ));
-	object_->alt = osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(object_->getName()+"_POS_ALT", osgVisual::dataIO_slot::TO_OBJ );
-	object_->azimuthAngle_psi = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(object_->getName()+"_ROT_Z", osgVisual::dataIO_slot::TO_OBJ ));
-	object_->pitchAngle_theta = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(object_->getName()+"_ROT_Y", osgVisual::dataIO_slot::TO_OBJ ));
-	object_->bankAngle_phi = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(object_->getName()+"_ROT_X", osgVisual::dataIO_slot::TO_OBJ ));
+	object_->lat = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_lat, osgVisual::dataIO_slot::TO_OBJ ));
+	object_->lon = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_lon, osgVisual::dataIO_slot::TO_OBJ ));
+	object_->alt = osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_alt, osgVisual::dataIO_slot::TO_OBJ );
+	object_->azimuthAngle_psi = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_rot_z, osgVisual::dataIO_slot::TO_OBJ ));
+	object_->pitchAngle_theta = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_rot_y, osgVisual::dataIO_slot::TO_OBJ ));
+	object_->bankAngle_phi = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_rot_x, osgVisual::dataIO_slot::TO_OBJ ));
 
 	//object_->setCameraOffsetTranslation(0.0, -150.0, 50.0);	// Trans: (rechts davon, longitudinal, vertikal)
@@ -46,5 +46,5 @@
 	object_->setCameraOffsetRotation( osg::DegreesToRadians(0.0), osg::DegreesToRadians(-15.0), osg::DegreesToRadians(-90.0) );
 	
-
+std::string updater_label;
 
 	// Finally execute nested PreUpdater
@@ -69,2 +69,40 @@
 		updater = updater_;
 }
+
+void object_updater::setUpdaterSlotNames( osgVisual::visual_object* object_, std::string lat_, std::string lon_, std::string alt_, std::string rot_x_, std::string rot_y_, std::string rot_z_, std::string label_)
+{
+	if(lat_!="")
+		updater_lat = lat_;
+	else
+		updater_lat = object_->getName()+"_POS_LAT";
+
+	if(lon_!="")
+		updater_lon = lon_;
+	else
+		updater_lon = object_->getName()+"_POS_LON";
+
+	if(alt_!="")
+		updater_alt = alt_;
+	else
+		updater_alt = object_->getName()+"_POS_ALT";
+
+	if(rot_x_!="")
+		updater_rot_x = rot_x_;
+	else
+		updater_rot_x = object_->getName()+"_ROT_X";
+
+	if(rot_y_!="")
+		updater_rot_y = rot_y_;
+	else
+		updater_rot_y = object_->getName()+"_ROT_Y";
+
+	if(rot_z_!="")
+		updater_rot_z = rot_z_;
+	else
+		updater_rot_z = object_->getName()+"_ROT_Z";
+
+	if(label_!="")
+		updater_label = label_;
+	else
+		updater_label = object_->getName()+"_LABEL";
+}
Index: /osgVisual/trunk/src/object/visual_object.cpp
===================================================================
--- /osgVisual/trunk/src/object/visual_object.cpp	(revision 208)
+++ /osgVisual/trunk/src/object/visual_object.cpp	(revision 209)
@@ -362,12 +362,9 @@
 	}
 
-	//if(updater.valid())
-	//{
- //		object->addUpdater( updater );	
-	//	std::string updater_lat="", updater_lon="", updater_alt="", updater_rot_x="", updater_rot_y="", updater_rot_z="", updater_label="";
-	//}
-
-
-	
+	if(updater.valid())
+	{
+		updater->setUpdaterSlotNames( object, updater_lat, updater_lon, updater_alt, updater_rot_x, updater_rot_y, updater_rot_z, updater_label);
+	}
+
 	OSG_NOTIFY( osg::ALWAYS ) << "Done." << std::endl;
 	return object;
