source: osgVisual/include/dataIO/dataIO_executer.h @ 88

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

Moved memory leak detection from source file to headerfile. Its still in the class but at least not in the source file.

The leak detection works, but the false positives are not stopped.
Use Linux/Valgrind? to make your final leak detection beyond the easy first approach in MSVC

File size: 2.6 KB
Line 
1#pragma once
2/* -*-c++-*- osgVisual - Copyright (C) 2009-2010 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.