00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00033 #ifndef X3DDISPLAYDEVICE_H
00034 #define X3DDISPLAYDEVICE_H
00035
00036 #include <stdio.h>
00037 #include "FileRenderer.h"
00038
00040 class X3DDisplayDevice : public FileRenderer {
00041 private:
00042 virtual void cylinder_noxfrm(float *a, float *b, float rad, int filled);
00043
00044 protected:
00045
00046 virtual void write_cindexmaterial(int, int);
00047 virtual void write_colormaterial(float *, int);
00048
00049
00050 virtual void comment(const char *);
00051 virtual void cone(float *a, float *b, float rad, int );
00052 virtual void cylinder(float *a, float *b, float rad, int filled);
00053 virtual void line(float *xyz1, float *xyz2);
00054 virtual void line_array(int num, float thickness, float *points);
00055 virtual void point(float *xyz);
00056 virtual void point_array(int num, float size, float *xyz, float *colors);
00057 virtual void polyline_array(int num, float thickness, float *points);
00058 virtual void sphere(float *xyzr);
00059 virtual void text(float *pos, float size, float thickness, const char *str);
00060 virtual void triangle(const float *, const float *, const float *,
00061 const float *, const float *, const float *);
00062 virtual void tricolor(const float * xyz1, const float * xyz2, const float * xyz3,
00063 const float * n1, const float * n2, const float * n3,
00064 const float *c1, const float *c2, const float *c3);
00065 virtual void trimesh_c4n3v3(int numverts, float * cnv,
00066 int numfacets, int * facets);
00067 virtual void trimesh_c4u_n3b_v3f(unsigned char *c, signed char *n,
00068 float *v, int numfacets);
00069 virtual void tristrip(int numverts, const float * cnv,
00070 int numstrips, const int *vertsperstrip,
00071 const int *facets);
00072
00073 virtual void load(const Matrix4& mat);
00074 virtual void multmatrix(const Matrix4& mat);
00075 virtual void set_color(int color_index);
00076
00077 public:
00079 X3DDisplayDevice(const char *public_name,
00080 const char *public_pretty_name,
00081 const char *default_file_name,
00082 const char *default_command_line);
00083
00084 X3DDisplayDevice(void);
00085 virtual void write_header(void);
00086 virtual void write_trailer(void);
00087 };
00088
00089
00090 class X3DOMDisplayDevice : public X3DDisplayDevice {
00091 protected:
00092
00093 virtual void line_array(int num, float thickness, float *points);
00094 virtual void polyline_array(int num, float thickness, float *points);
00095 virtual void text(float *pos, float size, float thickness, const char *str);
00096 virtual void tristrip(int numverts, const float * cnv,
00097 int numstrips, const int *vertsperstrip,
00098 const int *facets);
00099
00100 public:
00101 X3DOMDisplayDevice(void);
00102 };
00103
00104
00105
00106 #endif
00107
00108
00109