code::PolygonShapeType Class Reference

Inheritance diagram for code::PolygonShapeType:

code::ShapeType List of all members.

Detailed Description

ESRI's Polygon shape type.


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< ShapeTypecreateShape (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< PointShapeTypepts
ESRI_Shape type
 ESRI's types .


Member Enumeration Documentation

enum code::ShapeType::ESRI_Shape [inherited]

Enumerator:
ESRI_Null 
ESRI_Point 
ESRI_PolyLine 
ESRI_Polygon 
ESRI_MultiPoint 
ESRI_PointZ 
ESRI_PolyLineZ 
ESRI_PolygonZ 
ESRI_MultipointZ 
ESRI_PointM 
ESRI_PolyLineM 
ESRI_PolygonM 
ESRI_MultipointM 
ESRI_MultiPatch 


Constructor & Destructor Documentation

code::PolygonShapeType::PolygonShapeType (  ) 

virtual code::PolygonShapeType::~PolygonShapeType (  )  [inline, virtual]


Member Function Documentation

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.

static SmartPtr<ShapeType> code::ShapeType::createShape ( int  type  )  [static, inherited]

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

See also:
PolyLineShapeType :: getLine

size_t code::PolygonShapeType::numRings (  )  const [inline]

A polygon shape type may contain many polygons.


Member Data Documentation

double code::PolygonShapeType::maxx

double code::PolygonShapeType::maxy

double code::PolygonShapeType::minx

double code::PolygonShapeType::miny

int code::PolygonShapeType::num_parts

int code::PolygonShapeType::num_pts

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.


Generated on Fri May 4 13:40:12 2012 for WDSS-IIw2 by  doxygen 1.4.7