00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef GELATODISPLAYDEVICE
00024 #define GELATODISPLAYDEVICE
00025
00026 #include <stdio.h>
00027 #include "FileRenderer.h"
00028
00030 class GelatoDisplayDevice: public FileRenderer {
00031 private:
00034 float old_color[3];
00035 float old_opacity;
00036 float old_ambient;
00037 float old_diffuse;
00038 float old_specular;
00039
00040 void reset_vars(void);
00041 void write_materials(int write_color);
00042
00044 void cylinder_nurb_noxfrm(float *, float *, float rad, int filled);
00045
00046 protected:
00047 void comment(const char *);
00048 void cylinder(float *, float *, float rad, int filled);
00049 void line(float *xyz1, float *xyz2);
00050 void point(float *xyz);
00051 void sphere(float *xyzr);
00052 void square(float *, float *, float *, float *, float *);
00053 void text(float *pos, float size, float thickness, const char *str);
00054 void triangle(const float *, const float *, const float *,
00055 const float *, const float *, const float *);
00056 void tricolor(const float * xyz1, const float * xyz2, const float * xyz3,
00057 const float * n1, const float * n2, const float * n3,
00058 const float *c1, const float *c2, const float *c3);
00059 virtual void trimesh_c4n3v3(int numverts, float * cnv,
00060 int numfacets, int * facets);
00061 virtual void tristrip(int numverts, const float * cnv,
00062 int numstrips, const int *vertsperstrip,
00063 const int *facets);
00064
00065 public:
00066 GelatoDisplayDevice(void);
00067 virtual ~GelatoDisplayDevice(void);
00068 void write_header(void);
00069 void write_trailer(void);
00070 };
00071
00072 #endif
00073