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