Coin Logo http://www.sim.no/
http://www.coin3d.org/

SoScrollingGraphKit.h

00001 #ifndef COIN_SOSCROLLINGGRAPHKIT_H
00002 #define COIN_SOSCROLLINGGRAPHKIT_H
00003 
00004 /**************************************************************************\
00005  *
00006  *  This file is part of the Coin 3D visualization library.
00007  *  Copyright (C) by Kongsberg Oil & Gas Technologies.
00008  *
00009  *  This library is free software; you can redistribute it and/or
00010  *  modify it under the terms of the GNU General Public License
00011  *  ("GPL") version 2 as published by the Free Software Foundation.
00012  *  See the file LICENSE.GPL at the root directory of this source
00013  *  distribution for additional information about the GNU GPL.
00014  *
00015  *  For using Coin with software that can not be combined with the GNU
00016  *  GPL, and for taking advantage of the additional benefits of our
00017  *  support services, please contact Kongsberg Oil & Gas Technologies
00018  *  about acquiring a Coin Professional Edition License.
00019  *
00020  *  See http://www.coin3d.org/ for more information.
00021  *
00022  *  Kongsberg Oil & Gas Technologies, Bygdoy Alle 5, 0257 Oslo, NORWAY.
00023  *  http://www.sim.no/  sales@sim.no  coin-support@coin3d.org
00024  *
00025 \**************************************************************************/
00026 
00027 #include <Inventor/nodekits/SoBaseKit.h>
00028 #include <Inventor/nodekits/SoSubKit.h>
00029 
00030 #include <Inventor/tools/SbPimplPtr.h>
00031 #include <Inventor/fields/SoSFVec3f.h>
00032 #include <Inventor/fields/SoSFEnum.h>
00033 #include <Inventor/fields/SoSFTime.h>
00034 #include <Inventor/fields/SoMFFloat.h>
00035 #include <Inventor/fields/SoMFColor.h>
00036 #include <Inventor/fields/SoMFName.h>
00037 
00038 class SoSensor;
00039 class SoScrollingGraphKitP;
00040 
00041 class SoScrollingGraphKit : public SoBaseKit {
00042   typedef SoBaseKit inherited;
00043   SO_KIT_HEADER(SoScrollingGraphKit);
00044   SO_KIT_CATALOG_ENTRY_HEADER(scene);
00045 
00046 public:
00047   static void initClass(void);
00048 
00049   SoScrollingGraphKit(void);
00050 
00051   enum GraphicsType {
00052     LINES,
00053     STACKED_BARS,
00054     DEFAULT_GRAPHICS = STACKED_BARS
00055   };
00056 
00057   enum RangeType {
00058     ABSOLUTE_ACCUMULATIVE,
00059     //ABSOLUTE_OVERWRITE,
00060     //RELATIVE_ACCUMULATIVE,
00061     //RELATIVE_OVERWRITE,
00062     DEFAULT_RANGETYPE = ABSOLUTE_ACCUMULATIVE
00063   };
00064 
00065   // config
00066   SoSFEnum graphicsType;
00067   SoSFEnum rangeType;
00068   SoSFTime seconds; // seconds to pass over graph area (20)
00069   SoMFColor colors; // rotating color list
00070 
00071   // geometry
00072   SoSFVec3f viewportSize; // input
00073   SoSFVec3f position;     // input
00074   SoSFVec3f size;         // input
00075 
00076   // the dynamic inputs
00077   SoMFName addKeys;
00078   SoMFFloat addValues; // input
00079 
00080 protected:
00081   virtual ~SoScrollingGraphKit(void);
00082 
00083   static void addValuesCB(void * closure, SoSensor * sensor);
00084 
00085 private:
00086   SbPimplPtr<SoScrollingGraphKitP> pimpl;
00087 
00088   // NOT IMPLEMENTED
00089   SoScrollingGraphKit(const SoScrollingGraphKit &);
00090   SoScrollingGraphKit & operator = (const SoScrollingGraphKit &);
00091 
00092 }; // SoScrollingGraphKit
00093 
00094 #endif // !COIN_SOSCROLLINGGRAPHKIT_H

Copyright © 1998-2010 by Kongsberg Oil & Gas Technologies. All rights reserved.

Generated on Sun May 1 2011 02:58:22 for Coin by Doxygen 1.7.3.