00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "eggMesherEdge.h"
00016 #include "eggMesherStrip.h"
00017
00018
00019
00020
00021
00022
00023 void EggMesherEdge::
00024 remove(EggMesherStrip *strip) {
00025 strip->_edges.remove(this);
00026 strip->_edges.remove(_opposite);
00027
00028 _strips.remove(strip);
00029 _opposite->_strips.remove(strip);
00030 }
00031
00032
00033
00034
00035
00036
00037 void EggMesherEdge::
00038 change_strip(EggMesherStrip *from, EggMesherStrip *to) {
00039 Strips::iterator si;
00040
00041 for (si = _strips.begin(); si != _strips.end(); ++si) {
00042 if (*si == from) {
00043 *si = to;
00044 }
00045 }
00046
00047 for (si = _opposite->_strips.begin();
00048 si != _opposite->_strips.end();
00049 ++si) {
00050 if (*si == from) {
00051 *si = to;
00052 }
00053 }
00054 }
00055
00056
00057
00058
00059
00060
00061 void EggMesherEdge::
00062 output(ostream &out) const {
00063 out << "Edge [" << _vi_a << " to " << _vi_b << "], "
00064 << _strips.size() << " strips:";
00065
00066 Strips::const_iterator si;
00067 for (si = _strips.begin(); si != _strips.end(); ++si) {
00068 out << " " << (*si)->_index;
00069 }
00070
00071 if (_opposite!=NULL) {
00072 out << " opposite "
00073 << _opposite->_strips.size() << " strips:";
00074
00075 for (si = _opposite->_strips.begin();
00076 si != _opposite->_strips.end();
00077 ++si) {
00078 out << " " << (*si)->_index;
00079 }
00080 }
00081 }