source: osgVisual/trunk/include/dataIO/dataIO_executer.h @ 311

Last change on this file since 311 was 221, checked in by Torben Dannhauer, 14 years ago

Updated copyright NOTICE
(No code changes)

File size: 2.6 KB
Line 
1#pragma once
2/* -*-c++-*- osgVisual - Copyright (C) 2009-2011 Torben Dannhauer
3 *
4 * This library is based on OpenSceneGraph, open source and may be redistributed and/or modified under
5 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
6 * (at your option) any later version.  The full license is in LICENSE file
7 * included with this distribution, and on the openscenegraph.org website.
8 *
9 * osgVisual requires for some proprietary modules a license from the correspondig manufacturer.
10 * You have to aquire licenses for all used proprietary modules.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * OpenSceneGraph Public License for more details.
16*/
17
18#include <osg/Node>
19#include <osgDB/ObjectWrapper>
20#include <osgDB/InputStream>
21#include <osgDB/OutputStream>
22
23#include <string>
24
25namespace osgVisual {
26
27class dataIO_executer : public osg::Node
28{
29        #include <leakDetection.h>
30public:
31        dataIO_executer() {id=DO_NOTHING;}
32        ~dataIO_executer() {}
33
34        // Standart functions of the base-class, required for serialization
35        //// Copy constructor using CopyOp to manage deep vs shallow copy.
36        dataIO_executer(const dataIO_executer& ex, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) : osg::Node(ex, copyop) {} 
37        //// osg::Objects functions
38        osg::Object* cloneType() const { return new dataIO_executer (); }
39        osg::Object* clone(const osg::CopyOp& copyop) const { return new dataIO_executer (*this,copyop); }
40        bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast<const dataIO_executer *>(obj)!=NULL; }
41        const char* className() const { return "dataIO_executer"; }
42        const char* libraryName() const { return "osgVisual"; }
43
44        typedef std::vector<double> parameterList;
45        enum executerID {
46                GET_HAT,
47                GET_HOT,
48                GET_LAT,
49                GET_LON,
50                IS_COLLISION, 
51                IS_INSIDE_CLOUD,
52                IS_WIND,
53                IS_PRECIPITATION,
54                DO_NOTHING
55        };
56       
57
58private: 
59        executerID id;
60        parameterList doubleParameter;
61        std::string stringParameter;
62
63// Access functions for Serializer
64public:
65        void setexecuterID(executerID id_) {id=id_;}
66        executerID getexecuterID() const {return id;}
67
68        void setDoubleParameter(const parameterList& doubleParameter_) {doubleParameter=doubleParameter_;}
69        const parameterList& getDoubleParameter() const {return doubleParameter;}
70
71        void setStringParameter(const std::string& stringParameter_) {stringParameter=stringParameter_;}
72        const std::string& getStringParameter() const {return stringParameter;}
73};
74
75} // END NAMESPACE
Note: See TracBrowser for help on using the repository browser.