const
-
Hey ich hab n problem meinen geschriebenen Code const zu machen.
Hab bei const nicht so den durchblick...bool checkForSimple(const std::vector<std::vector<Segment<T> > > polyLine) { for(std::vector<std::vector<Segment<T> > >::iterator const iter1 = polyLine.begin(); iter1 != polyLine.end();iter1++) { for( std::vector<Segment<T> >::iterator iterAussenS = (*iter1).begin();iterAussenS != (*iter1).end() ;iterAussenS++) { for( std::vector<Segment<T> >::iterator iterInnenS = (*iter1).begin()+1;iterInnenS != (*iter1).end()-1 ;iterInnenS++) { bool intersection = true; //contiguous segments are not examined if( (*iterAussenS).getPoint1() == (*iterInnenS).getPoint1() || (*iterAussenS).getPoint1() == (*iterInnenS).getPoint2()|| (*iterAussenS).getPoint2() == (*iterInnenS).getPoint1() || (*iterAussenS).getPoint2() == (*iterInnenS).getPoint2()) { } else { Line<T> l1 = Line<T>((*iterAussenS).getPoint1(), (*iterAussenS).getPoint2() - (*iterAussenS).getPoint1()); Line<T> l2 = Line<T>((*iterInnenS).getPoint1(), (*iterInnenS).getPoint2() - (*iterInnenS).getPoint1()); Vector3<T> resultIntersect; resultIntersect.zero(); // check whether the intersection is at the segment intersection = getIntersectionLineLine(l1, l2, &resultIntersect); intersection = intersectionOnTheEdge((*iterAussenS),resultIntersect,intersection); intersection = intersectionOnTheEdge((*iterInnenS),resultIntersect, intersection); if(intersection) return false; } } } } return true; }Danke schonmal.
-
erklär lieber mal was du machen willst, so wird dir keiner helfen (können)
greetz KN4CK3R
-
Mach doch aus jeder Schleife ne Funktion, dann versteht man deinen Code auch und Fehler sind leichter zu lokalisieren.
-
KN4CK3R schrieb:
erklär lieber mal was du machen willst, so wird dir keiner helfen (können)
greetz KN4CK3R
eig. möchte ich aus
Segment<T> > > polyLineconst Segment<T> > > polyLinewerden.
-
82kolu schrieb:
KN4CK3R schrieb:
erklär lieber mal was du machen willst, so wird dir keiner helfen (können)
greetz KN4CK3R
eig. möchte ich aus
Segment<T> > > polyLineconst Segment<T> > > polyLinewerden.
Du willst bestimmte nicht
container<T>::iterator const isonderncontainer<T>::const_iterator i.
Das erste ist ein konstanter Iterator (er zeigt immer auf das selbe Objekt) bei dem Du aber die Daten dahinter ändern kannst.
Das zweite ist ein änderbarer Iterator (er darf auf verschiedene Sachen zeigen), jedoch darf das, worauf er zeigt nicht verändert werden.
-
82kolu schrieb:
KN4CK3R schrieb:
erklär lieber mal was du machen willst, so wird dir keiner helfen (können)
greetz KN4CK3R
eig. möchte ich aus
Segment<T> > > polyLineconst Segment<T> > > polyLinewerden.
1. wieso?
2. was soll die funktion noch machen?bb