Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

SIG_Renderer.h

00001 #ifndef SIGEL_VISUALISATION_SIG_RENDERER_H
00002 #define SIGEL_VISUALISATION_SIG_RENDERER_H
00003 
00004 #include <qvector.h>
00005 #include <qarray.h>
00006 #include <qstring.h>
00007 #include <qtextstream.h>
00008 
00009 #include <newmat.h>
00010 
00011 #include <GL/gl.h>
00012 
00013 #include "SIGEL_Visualisation/SIG_VisualSceneObject.h"
00014 
00015 namespace SIGEL_Visualisation
00016 {
00017 
00024   class SIG_Renderer
00025   {
00026   public:
00041     SIG_Renderer(int noOfObjects,
00042                  int noOfFloatingTexts);
00043 
00050     ~SIG_Renderer();
00051 
00067     virtual void render() = 0;
00068 
00069     virtual QString exportToPovray() = 0;
00070 
00071     virtual QString createPovrayDeclarations() = 0;
00072 
00073     static QString vectorToPovray( NEWMAT::ColumnVector input );
00074 
00085     QVector<SIG_VisualSceneObject> sceneObjects;
00086 
00087     QVector<SIG_FloatingText> floatingTexts;
00088 
00089   protected:
00090 
00095     GLuint displayListsOffset;
00096 
00101     GLuint noOfObjects;
00102 
00112     virtual void buildDisplayLists() = 0;
00113 
00124     void renderSceneObjects();
00125 
00126     QString exportSceneObjectsToPovray();
00127   };
00128 
00129 }
00130 
00131 #endif // SIGEL_VISUALISATION_SIG_RENDERER_H

Generated at Mon Sep 3 01:32:29 2001 for PG 368 - SIGEL by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000