23 #ifndef GEOS_NODING_NODEDSEGMENTSTRING_H
24 #define GEOS_NODING_NODEDSEGMENTSTRING_H
26 #include <geos/export.h>
27 #include <geos/noding/NodableSegmentString.h>
28 #include <geos/geom/CoordinateSequence.h>
29 #include <geos/algorithm/LineIntersector.h>
30 #include <geos/noding/SegmentNode.h>
31 #include <geos/noding/SegmentNodeList.h>
32 #include <geos/noding/SegmentString.h>
34 #include <geos/geom/Coordinate.h>
40 #pragma warning(disable: 4251 4355) // warning C4355: 'this' : used in base member initializer list
62 static void getNodedSubstrings(SegmentString::ConstVect* segStrings,
63 SegmentString::NonConstVect* resultEdgelist)
65 for (ConstVect::size_type i=0, n=segStrings->size(); i<n; i++)
74 static void getNodedSubstrings(
const SegmentString::NonConstVect& segStrings,
75 SegmentString::NonConstVect* resultEdgeList);
78 static SegmentString::NonConstVect* getNodedSubstrings(
79 const SegmentString::NonConstVect& segStrings);
111 std::size_t normalizedSegmentIndex = segmentIndex;
114 std::size_t nextSegIndex = normalizedSegmentIndex + 1;
115 if (nextSegIndex < size())
118 getCoordinate(static_cast<unsigned int>(nextSegIndex));
122 if ( intPt->equals2D( nextPt ))
124 normalizedSegmentIndex = nextSegIndex;
129 SegmentNode * ei = getNodeList().add( *intPt, normalizedSegmentIndex);
137 virtual unsigned int size()
const
139 return static_cast<unsigned int>(pts->size());
146 virtual bool isClosed()
const;
148 virtual std::ostream& print(std::ostream& os)
const;
158 int getSegmentOctant(
unsigned int index)
const;
166 unsigned int segmentIndex,
int geomIndex);
176 unsigned int segmentIndex,
177 int geomIndex,
int intIndex);
187 unsigned int segmentIndex);
192 SegmentNodeList nodeList;
207 #endif // GEOS_NODING_NODEDSEGMENTSTRING_H