Inheritance diagram for code::PolygonShapeType:
Public Types | |
ESRI_Null = 0 | |
ESRI_Point = 1 | |
ESRI_PolyLine = 3 | |
ESRI_Polygon = 5 | |
ESRI_MultiPoint = 8 | |
ESRI_PointZ = 11 | |
ESRI_PolyLineZ = 13 | |
ESRI_PolygonZ = 15 | |
ESRI_MultipointZ = 18 | |
ESRI_PointM = 21 | |
ESRI_PolyLineM = 23 | |
ESRI_PolygonM = 25 | |
ESRI_MultipointM = 28 | |
ESRI_MultiPatch = 31 | |
enum | ESRI_Shape { ESRI_Null = 0, ESRI_Point = 1, ESRI_PolyLine = 3, ESRI_Polygon = 5, ESRI_MultiPoint = 8, ESRI_PointZ = 11, ESRI_PolyLineZ = 13, ESRI_PolygonZ = 15, ESRI_MultipointZ = 18, ESRI_PointM = 21, ESRI_PolyLineM = 23, ESRI_PolygonM = 25, ESRI_MultipointM = 28, ESRI_MultiPatch = 31 } |
Public Member Functions | |
PolygonShapeType () | |
virtual | ~PolygonShapeType () |
size_t | numRings () const |
A polygon shape type may contain many polygons. | |
std::pair< size_t, size_t > | getRing (size_t index) const |
Returns the starting index into the pts array and one past the ending index for the ith rings's end-points ( i is [0,numLines) ). | |
virtual void | createObject (InputStream &is) throw (std::string) |
Fill the object with the InputStream. | |
virtual void | createNetworkFormat (OutputStream &os) const |
Write a network representation into the stream. | |
Static Public Member Functions | |
static SmartPtr< ShapeType > | createShape (int type) |
Public Attributes | |
double | minx |
double | miny |
double | maxx |
double | maxy |
int | num_parts |
int | num_pts |
std::vector< int > | parts |
A polygon shape type is comprised of shapes called "rings". | |
std::vector< PointShapeType > | pts |
ESRI_Shape | type |
ESRI's types . |
enum code::ShapeType::ESRI_Shape [inherited] |
code::PolygonShapeType::PolygonShapeType | ( | ) |
virtual code::PolygonShapeType::~PolygonShapeType | ( | ) | [inline, virtual] |
virtual void code::PolygonShapeType::createNetworkFormat | ( | OutputStream & | os | ) | const [virtual] |
Write a network representation into the stream.
The shape type is also written in and should not be written before hand. NOTE: ESRI's data are stored in Intel format. So, these createObject and getNetworkFormat functions should be invoked on an Intel-byte ordered stream.
Implements code::ShapeType.
virtual void code::PolygonShapeType::createObject | ( | InputStream & | is | ) | throw (std::string) [virtual] |
Fill the object with the InputStream.
the first integer should be used to obtain the right ShapeType to invoke this function on. NOTE: ESRI's data are stored in Intel format. So, these createObject and getNetworkFormat functions should be invoked on an Intel-byte ordered stream.
Implements code::ShapeType.
std::pair<size_t,size_t> code::PolygonShapeType::getRing | ( | size_t | index | ) | const |
Returns the starting index into the pts array and one past the ending index for the ith rings's end-points ( i is [0,numLines) ).
Clients should realize that polygons are closed and therefore, the two end-points ought to be connected even if the first point is not repeated in the shapefile.
For example usage, see the getLine function of PolyLineShapeType
size_t code::PolygonShapeType::numRings | ( | ) | const [inline] |
A polygon shape type may contain many polygons.
double code::PolygonShapeType::maxx |
double code::PolygonShapeType::maxy |
double code::PolygonShapeType::minx |
double code::PolygonShapeType::miny |
std::vector<int> code::PolygonShapeType::parts |
A polygon shape type is comprised of shapes called "rings".
The parts array provides an index to the pts array. This index is the starting point for this part.
std::vector<PointShapeType> code::PolygonShapeType::pts |
ESRI_Shape code::ShapeType::type [inherited] |
ESRI's types .
.. 0 is Null, 1 is Point, etc.