Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

X3DDisplayDevice.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *cr                                                                       
00003  *cr            (C) Copyright 1995-2011 The Board of Trustees of the           
00004  *cr                        University of Illinois                       
00005  *cr                         All Rights Reserved                        
00006  *cr                                                                   
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  * RCS INFORMATION:
00011  *
00012  *      $RCSfile: X3DDisplayDevice.h,v $
00013  *      $Author: johns $        $Locker:  $             $State: Exp $
00014  *      $Revision: 1.10 $       $Date: 2011/11/10 17:05:36 $
00015  *
00016  ***************************************************************************
00017  * DESCRIPTION:
00018  *   X3D scene export code
00019  ***************************************************************************/
00020 
00021 #ifndef X3DDISPLAYDEVICE_H
00022 #define X3DDISPLAYDEVICE_H
00023 
00024 #include <stdio.h>
00025 #include "FileRenderer.h"
00026 
00028 class X3DDisplayDevice : public FileRenderer {
00029 private:
00030   virtual void cylinder_noxfrm(float *a, float *b, float rad, int filled);
00031 
00032 protected:
00033   // XXX would-be private routines also needed by the X3DOM subclass
00034   virtual void write_cindexmaterial(int, int); // write colors, materials etc.
00035   virtual void write_colormaterial(float *, int); // write colors, materials etc.
00036 
00037   // assorted graphics functions
00038   virtual void comment(const char *);
00039   virtual void cone(float *a, float *b, float rad);
00040   virtual void cylinder(float *a, float *b, float rad, int filled);
00041   virtual void line(float *xyz1, float *xyz2);
00042   virtual void line_array(int num, float thickness, float *points);
00043   virtual void point(float *xyz);
00044   virtual void point_array(int num, float size, float *xyz, float *colors);
00045   virtual void polyline_array(int num, float thickness, float *points);
00046   virtual void sphere(float *xyzr);
00047   virtual void text(float *pos, float size, float thickness, const char *str);
00048   virtual void triangle(const float *, const float *, const float *,
00049                 const float *, const float *, const float *);
00050   virtual void tricolor(const float * xyz1, const float * xyz2, const float * xyz3,
00051                 const float * n1,   const float * n2,   const float * n3,
00052                 const float *c1,    const float *c2,    const float *c3);
00053   virtual void trimesh_c4n3v3(int numverts, float * cnv, 
00054                               int numfacets, int * facets);
00055   virtual void tristrip(int numverts, const float * cnv,
00056                         int numstrips, const int *vertsperstrip,
00057                         const int *facets);
00058 
00059   virtual void load(const Matrix4& mat);       
00060   virtual void multmatrix(const Matrix4& mat); 
00061   virtual void set_color(int color_index);     
00062 
00063 public:
00065   X3DDisplayDevice(const char *public_name,
00066                    const char *public_pretty_name,
00067                    const char *default_file_name,
00068                    const char *default_command_line);
00069 
00070   X3DDisplayDevice(void);
00071   virtual void write_header(void);
00072   virtual void write_trailer(void);
00073 }; 
00074 
00075 
00076 class X3DOMDisplayDevice : public X3DDisplayDevice {
00077 protected:
00078   // assorted graphics functions
00079   virtual void line_array(int num, float thickness, float *points);
00080   virtual void polyline_array(int num, float thickness, float *points);
00081   virtual void text(float *pos, float size, float thickness, const char *str);
00082   virtual void tristrip(int numverts, const float * cnv,
00083                         int numstrips, const int *vertsperstrip,
00084                         const int *facets);
00085 
00086 public:
00087   X3DOMDisplayDevice(void);               // constructor
00088 };
00089 
00090 
00091 
00092 #endif
00093 
00094 
00095 

Generated on Sat May 26 01:48:41 2012 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002