00001 /********************************************************************** 00002 * stripcb.H: 00003 **********************************************************************/ 00004 #ifndef STRIPCB_H_IS_INCLUDED 00005 #define STRIPCB_H_IS_INCLUDED 00006 00007 /********************************************************************** 00008 * StripCB: 00009 * 00010 * used to "draw" triangle strips, edge strips, and vertex 00011 * strips. this could mean making OpenGL calls, or writing to 00012 * stdout a description of the strip in some file format. 00013 **********************************************************************/ 00014 class TriStrip; // BMESH triangle strip class 00015 class EdgeStrip; // BMESH line strip class 00016 class VertStrip; // BMESH point strip class 00017 00018 class StripCB { 00019 public: 00020 00021 StripCB() : alpha(1.0) {} 00022 virtual ~StripCB() {} 00023 00024 // for triangle strips: 00025 virtual void begin_faces(TriStrip*) {} 00026 virtual void faceCB (CBvert*, CBface*) {} 00027 virtual void end_faces (TriStrip*) {} 00028 00029 // for line strips: 00030 virtual void begin_edges(EdgeStrip*) {} 00031 virtual void edgeCB (CBvert*, CBedge*) {} 00032 virtual void end_edges (EdgeStrip*) {} 00033 00034 // for point strips: 00035 virtual void begin_verts(VertStrip*) {} 00036 virtual void vertCB (CBvert*) {} 00037 virtual void end_verts (VertStrip*) {} 00038 00039 double alpha; 00040 }; 00041 00042 #endif // STRIPCB_H_IS_INCLUDED 00043 00044 /* end of file stripcb.H */