00001 /********************************************************************** 00002 * vert_strip.C: 00003 **********************************************************************/ 00004 00005 00006 #include "patch.H" 00007 #include "stripcb.H" 00008 00009 /********************************************************************** 00010 * VertStrip: 00011 **********************************************************************/ 00012 VertStrip::~VertStrip() 00013 { 00014 if (_patch) 00015 _patch->remove(this); 00016 } 00017 00018 void 00019 VertStrip::draw(StripCB* cb) 00020 { 00021 // draw the strip -- e.g. by making calls to OpenGL or some other 00022 // graphics API, or by writing a description of the strip to a text 00023 // file. which of these is done depends on the implementation of 00024 // the StripCB. 00025 00026 // stop now if nothing is going on 00027 if (empty()) 00028 return; 00029 00030 // iterate over the strip. 00031 cb->begin_verts(this); 00032 00033 for (int i=0; i<_verts.num(); i++) { 00034 cb->vertCB(_verts[i]); 00035 } 00036 00037 cb->end_verts(this); 00038 } 00039 00040 /* end of file vert_strip.C */