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 * RCS INFORMATION: 00010 * 00011 * $RCSfile: RadianceDisplayDevice.h,v $ 00012 * $Author: johns $ $Locker: $ $State: Exp $ 00013 * $Revision: 1.34 $ $Date: 2020年02月26日 07:21:45 $ 00014 * 00015 ***************************************************************************/ 00026 #ifndef RADIANCEDISPLAYDEVICE_H 00027 #define RADIANCEDISPLAYDEVICE_H 00028 00029 #include <stdio.h> 00030 #include "FileRenderer.h" 00031 00033 class RadianceDisplayDevice : public FileRenderer { 00034 private: 00036 ResizeArray<float> red; 00037 ResizeArray<float> green; 00038 ResizeArray<float> blue; 00039 ResizeArray<float> trans; 00040 int cur_color; 00041 void reset_vars(void); 00042 00043 protected: 00045 void comment(const char *); 00046 void cone_trunc(float *, float *, float, float, int); 00047 void cylinder(float *, float *, float,int); 00048 void line(float *, float *); 00049 void point(float *); 00050 void sphere(float *); 00051 void square(float *, float *, float *, float *, float *); 00052 void triangle(const float *, const float *, const float *, 00053 const float *, const float *, const float *); 00054 00055 void set_color(int); 00056 00057 public: 00058 RadianceDisplayDevice(); 00059 virtual ~RadianceDisplayDevice(void); 00060 void write_header(void); 00061 void write_trailer(void); 00062 }; 00063 00064 #endif 00065