AsciiRenderer.hpp

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 
00003 /* COPYRIGHT
00004  *
00005  * This file is part of the Simple Object Loader and Renderer - SOLAR
00006  *
00007  * Read the file "SOLAR-LICENSE" for the license.
00008  *
00009  * Authors & Copyright:
00010  *
00011  * Tommi Ilmonen, 2001-2003, except LWO-code by RJ, 2001-2003
00012  *
00013  * Tommi's email: firstname.lastname@hut.fi
00014  *
00015  */
00016 
00017 #ifndef SOLAR_ASCII_RENDERER_HPP
00018 #define SOLAR_ASCII_RENDERER_HPP
00019 
00020 #include <Solar/Renderer.hpp>
00021 
00022 #include <iosfwd>
00023 
00024 namespace Solar {
00025 
00026 class GlMaterialBank;
00027 class Graphic;
00028 class GraphicTriangles;
00029 class Model;
00030 
00043 class AsciiRenderer : public Renderer
00044 {
00045 public:
00046 
00047   AsciiRenderer();
00048   AsciiRenderer(std::ostream *);
00049 
00050   ~AsciiRenderer() {}
00051   virtual void prepareToRender();
00052   
00053   virtual void begin(Model *);
00054   virtual void end();
00055 
00056   virtual void renderTriangles(GraphicTriangles *);
00057   virtual void renderTriangleMesh(GraphicTriangleMesh *);
00058   virtual void renderTriangleStrips(GraphicTriangleStrips *);
00059 
00060   virtual void pushTransform(const Fluid::Matrix3 &,
00061            const Fluid::Vector3 &,
00062            float scale = 1.0);
00063   virtual void popTransform();
00064 
00065   void setStream(std::ostream *s) { m_stream = s; }
00066 
00067 protected:
00068 
00069   virtual void preRender(Graphic *);
00070 
00071   std::ostream *m_stream;
00072 };
00073 
00074 } // namespace Solar
00075 
00076 #endif

Generated on Mon Mar 12 21:09:00 2007 for VEE - The Visual Effects Engine by  doxygen 1.4.6