00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef R3DDISPLAYDEVICE
00024 #define R3DDISPLAYDEVICE
00025
00026 #include <stdio.h>
00027 #include "FileRenderer.h"
00028
00030 class R3dDisplayDevice : public FileRenderer {
00031 private:
00034 int objLegal;
00035
00039 float old_mat_shininess;
00040 float old_mat_opacity;
00041 float old_mat_specular;
00042 int mat_on;
00043
00044 void reset_vars(void);
00045 void write_materials(void);
00046 void close_materials(void);
00047
00048 protected:
00049
00050 void comment(const char *);
00051 void cylinder(float *, float *, float, int);
00052 void line(float *, float *);
00053 void point(float *);
00054 void sphere(float *);
00055 void text(float *pos, float size, float thickness, const char *str);
00056 void triangle(const float *, const float *, const float *,
00057 const float *, const float *, const float *);
00058 void tricolor(const float * xyz1, const float * xyz2, const float * xyz3,
00059 const float * n1, const float * n2, const float * n3,
00060 const float *c1, const float *c2, const float *c3);
00061
00062 public:
00063 R3dDisplayDevice(void);
00064 virtual ~R3dDisplayDevice(void);
00065 void write_header(void);
00066 void write_trailer(void);
00067 };
00068
00069 #endif
00070