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

TachyonDisplayDevice.h

Go to the documentation of this file.
00001 /***************************************************************************
00002 *cr 
00003 *cr (C) Copyright 1995-2019 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: TachyonDisplayDevice.h,v $
00013 * $Author: johns $ $Locker: $ $State: Exp $
00014 * $Revision: 1.51 $ $Date: 2020年07月01日 06:09:05 $
00015 *
00016 ***************************************************************************/
00023 #ifndef TACHYONDISPLAYDEVICE
00024 #define TACHYONDISPLAYDEVICE
00025 
00026 #include <stdio.h>
00027 #include "FileRenderer.h"
00028 
00030 class TachyonDisplayDevice : public FileRenderer {
00031 private:
00032 int inclipgroup; 
00033 int involtex; 
00034 int voltexID; 
00035 float xplaneeq[4]; 
00036 float yplaneeq[4];
00037 float zplaneeq[4];
00038 
00039 void reset_vars(void); 
00040 void write_camera(void); 
00041 void write_lights(void); 
00042 void write_materials(void); 
00043 void write_cindexmaterial(int, int); 
00044 void write_colormaterial(float *, int); 
00045 
00046 protected:
00047 // assorted graphics functions
00048 void comment(const char *);
00049 void cylinder(float *, float *, float rad, int filled);
00050 void line(float *xyz1, float *xyz2);
00051 void point(float *xyz);
00052 void sphere(float *xyzr);
00053 virtual void sphere_array(int num, int res, float *centers, float *radii, float *colors);
00054 void text(float *pos, float size, float thickness, const char *str);
00055 void triangle(const float *, const float *, const float *,
00056 const float *, const float *, const float *);
00057 void tricolor(const float * xyz1, const float * xyz2, const float * xyz3,
00058 const float * n1, const float * n2, const float * n3,
00059 const float * c1, const float * c2, const float * c3);
00060 virtual void trimesh_c4n3v3(int numverts, float * cnv, 
00061 int numfacets, int * facets);
00062 virtual void trimesh_c4u_n3b_v3f(unsigned char *c, signed char *n, 
00063 float *v, int numfacets);
00064 virtual void tristrip(int numverts, const float * cnv,
00065 int numstrips, const int *vertsperstrip,
00066 const int *facets);
00067 
00068 // define a volumetric texture map
00069 virtual void define_volume_texture(int ID, int xs, int ys, int zs,
00070 const float *xplaneeq,
00071 const float *yplaneeq,
00072 const float *zplaneeq,
00073 unsigned char *texmap);
00074 
00075 // enable volumetric texturing, either in "replace" or "modulate" mode
00076 virtual void volume_texture_on(int texmode);
00077 
00078 // disable volumetric texturing
00079 virtual void volume_texture_off(void);
00080 
00081 // begin a group of objects to be clipped by the same set of
00082 // clipping planes
00083 void start_clipgroup(void);
00084 void end_clipgroup(void);
00085 
00086 void update_exec_cmd();
00087 
00088 public: 
00089 TachyonDisplayDevice(void); // constructor
00090 virtual ~TachyonDisplayDevice(void); // destructor
00091 void write_header(void); 
00092 void write_trailer(void);
00093 }; 
00094 
00095 #endif
00096 

Generated on Mon Nov 17 02:47:13 2025 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002

AltStyle によって変換されたページ (->オリジナル) /