Equalizer  1.2.1
osgScaleViewer/initData.cpp
00001 
00002 /* Copyright (c)
00003  *   2008-2009, Thomas McGuire <thomas.mcguire@student.uni-siegen.de>
00004  *   2010, Stefan Eilemann <eile@eyescale.ch>
00005  *   2010, Sarah Amsellem <sarah.amsellem@gmail.com>
00006  *
00007  * Redistribution and use in source and binary forms, with or without
00008  * modification, are permitted provided that the following conditions are met:
00009  *
00010  * - Redistributions of source code must retain the above copyright notice, this
00011  *   list of conditions and the following disclaimer.
00012  * - Redistributions in binary form must reproduce the above copyright notice,
00013  *   this list of conditions and the following disclaimer in the documentation
00014  *   and/or other materials provided with the distribution.
00015  * - Neither the name of Eyescale Software GmbH nor the names of its
00016  *   contributors may be used to endorse or promote products derived from this
00017  *   software without specific prior written permission.
00018  *
00019  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00020  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00021  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00022  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
00023  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00024  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00025  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00026  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00027  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00028  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00029  * POSSIBILITY OF SUCH DAMAGE.
00030  */
00031 
00032 #include "initData.h"
00033 
00034 namespace osgScaleViewer
00035 {
00036 InitData::~InitData()
00037 {
00038     setFrameDataID( eq::UUID::ZERO );
00039 }
00040 
00041 void InitData::setFrameDataID( const eq::uint128_t& id )
00042 {
00043     _frameDataID = id;
00044 }
00045 
00046 const eq::uint128_t& InitData::getFrameDataID() const
00047 {
00048     return _frameDataID;
00049 }
00050 
00051 void InitData::getInstanceData( co::DataOStream& stream )
00052 {
00053     stream << _frameDataID << _modelFileName << _imageFileName;
00054 }
00055 
00056 void InitData::applyInstanceData( co::DataIStream& stream )
00057 {
00058     stream >> _frameDataID >> _modelFileName >> _imageFileName;
00059 }
00060 
00061 void InitData::setModelFileName( const std::string &fileName )
00062 {
00063     _modelFileName = fileName;
00064 }
00065 
00066 std::string InitData::getModelFileName() const
00067 {
00068     return _modelFileName;
00069 }
00070 
00071 void InitData::setImageFileName( const std::string& fileName )
00072 {
00073     _imageFileName = fileName;
00074 }
00075 
00076 std::string InitData::getImageFileName() const
00077 {
00078     return _imageFileName;
00079 }
00080 
00081 const std::string InitData::getTrackerPort() const
00082 {
00083     return _trackerPort;
00084 }
00085 
00086 bool InitData::parseCommandLine( char **argv, int argc )
00087 {
00088     std::string model = _parseCommandLineParam( argc, argv, "--model" );
00089     if( model.size() > 0 )
00090     {
00091         setModelFileName( model );
00092         return true;
00093     }
00094 
00095     std::string image = _parseCommandLineParam( argc, argv, "--image" );
00096     if( image.size() > 0 )
00097         setImageFileName( image );
00098 
00099     return true;
00100 }
00101 
00102 std::string InitData::_parseCommandLineParam( int argc, char** argv,
00103                                               std::string param )
00104 {
00105     for ( int i = 1; i < argc; i++ )
00106     {
00107         if( strcmp( argv[i], param.c_str( )) == 0 )
00108         {
00109         ++i;
00110             if( i < argc )
00111                 return argv[i];
00112         }
00113     }
00114 
00115     return "";
00116 }
00117 
00118 }
Generated on Fri Jun 8 2012 15:44:31 for Equalizer 1.2.1 by  doxygen 1.8.0