BPolyline Class Reference

#include <BPolyline.h>

Inheritance diagram for BPolyline:

Inheritance graph
[legend]

List of all members.


Detailed Description

A geometry object that represents a polyline.

A polyline is a collection of connected line segments.

Public Member Functions

void AddPoint (const BPoint &pt)
 Adds a vertex to this BPolyline.
void AddPoints (const BPoints &pts)
 Adds a collection of new vertices to this BPolyline.
 BPolyline (const BPolyline &p)
 Copy constructor.
 BPolyline (size_t num)
 Constructs a BPolyline and reserves space for the specified number of vertices.
 BPolyline (const BLinearGeoPtr &pGeo)
 Construct a polyline that approximates the specified BLinearGeo.
 BPolyline ()
 Default constructor.
virtual BGeometryClone (void) const
 Creates a deep-copy of this object.
virtual BPoint ComputeCentroid ()
 Computes the centroid of this BPolyline.
virtual size_t ComputeSize (void) const
 Computes the size of the BByteArray required to store this object.
virtual double DistanceTo (const BPoint &point) const
 Calculates the minimum distance from this BGeometry to the specified BPoint.
virtual void DoResolveToPoint (const BPoint &refPt)
 Resolves this BGeometry based on the input BPoint.
virtual BGeometryDownsample (UInt32 maxPoints) const
 Changes the geometry to contain, at most, the specified number of points.
virtual void FromByteArray (const BByteArray &bytes, size_t &startPos)
 Initializes an instance of this object from a BByteArray.
virtual size_t GetCount (void) const
 Gets the number of vertices in this BPolyline.
virtual const BPointGetEndPoint (void) const
 Gets the end point of this BSegment.
virtual const BPointGetPointAt (size_t index) const
 Gets the vertex at the specified index.
virtual const BPointGetStartPoint (void) const
 Gets the start point of this BSegment.
virtual const
BVectorizable
GetVectorizablePtr (void) const
 Returns an interface that can be used to convert this geometry to a simple geometry.
virtual bool Intersects (const BRect &rect) const
 Determines whether or not this BGeometry intersects the specified rectangle.
BPolylineoperator= (const BPolyline &rhs)
 Assignment operator.
void Reserve (size_t num)
 Reserves space for the specified number of vertices.
virtual void SetEndPoint (const BPoint &pt)
 Sets the end point of this BPolyline.
virtual void SetPoints (const BPoints &pts)
 Sets the BPoints collection that defines the vertices of this BPolyline.
virtual void SetStartPoint (const BPoint &pt)
 Sets the start point of this BPolyline.
virtual BByteArray ToByteArray (void) const
 Stores this object in a BByteArray.
virtual void Transform (const BTransform &cst)
 Transforms the coordinates in this BGeometry to a different coordinate system.
virtual void TransformReverse (const BTransform &cst)
 Transforms the coordinates in this BGeometry to a different coordinate system using the "reverse" of the BTransform.
virtual BGeometryVectorize (double factor=1.0) const
 Since a BPolyline is a simple geometry, this method will return a copy of this BPolyline.
virtual ~BPolyline ()
 Destructor.

Protected Member Functions

virtual BRect ComputeMBR () const
 Computes the minimum bounding rectangle for this BGeometry.
virtual void ComputeStats (void) const
 Calculates the length and MBR of this BGeometry.

Protected Attributes

BPoint m_centroid
 The centroid of this BPolyline.


Constructor & Destructor Documentation

BPolyline (  )  [inline]

Default constructor.

BPolyline ( const BLinearGeoPtr pGeo  ) 

Construct a polyline that approximates the specified BLinearGeo.

Parameters:
pGeo The BLinearGeo that will be approximated by this BPolyline.

BPolyline ( size_t  num  )  [inline]

Constructs a BPolyline and reserves space for the specified number of vertices.

Parameters:
num The number of vertices for which space will be reserved.

BPolyline ( const BPolyline p  )  [inline]

Copy constructor.

Parameters:
p The BPolyline object to copy.

virtual ~BPolyline (  )  [inline, virtual]

Destructor.


Member Function Documentation

void AddPoint ( const BPoint pt  ) 

Adds a vertex to this BPolyline.

The new point will be added to the end of the polyline.

Parameters:
pt The BPoint that gives the new vertex.

void AddPoints ( const BPoints pts  ) 

Adds a collection of new vertices to this BPolyline.

The new points will be added to the end of the polyline in the order that the are given in the BPoints collection.

Parameters:
pts The collection of vertices.

virtual BGeometry* Clone ( void   )  const [inline, virtual]

Creates a deep-copy of this object.

Returns:
A deep-copy of this object.

Implements BGeometry.

virtual BPoint ComputeCentroid (  )  [virtual]

Computes the centroid of this BPolyline.

Returns:
The centroid of this BPolyline.

virtual BRect ComputeMBR (  )  const [protected, virtual]

Computes the minimum bounding rectangle for this BGeometry.

Returns:
The minimum bounding rectangle.

Implements BGeometry.

virtual size_t ComputeSize ( void   )  const [inline, virtual]

Computes the size of the BByteArray required to store this object.

Returns:
The size of the BByteArray.

Reimplemented from BSegment.

virtual void ComputeStats ( void   )  const [protected, virtual]

Calculates the length and MBR of this BGeometry.

Implements BLinearGeo.

virtual double DistanceTo ( const BPoint point  )  const [virtual]

Calculates the minimum distance from this BGeometry to the specified BPoint.

Parameters:
point The BPoint used to calculate distance.
Returns:
The distance. The units used to express this distance are the same as the units used to express the location of this BGeometry.

Reimplemented from BGeometry.

virtual void DoResolveToPoint ( const BPoint refPt  )  [virtual]

Resolves this BGeometry based on the input BPoint.

This should only be called on BGeometry objects that are part of a BBlockDef and contain coordinates that represent offsets from a point rather then an absolute location.

Parameters:
refPt The insertion point.

Implements BGeometry.

virtual BGeometry* Downsample ( UInt32  maxPoints  )  const [virtual]

Changes the geometry to contain, at most, the specified number of points.

Parameters:
maxPoints The maximum number of points in the new geometry.
Returns:
The down-sampled geometry. The caller is responsible for deleting the returned object. This method will return NULL if the object requires no modification.

Implements BResamplable.

virtual void FromByteArray ( const BByteArray bytes,
size_t &  startPos 
) [virtual]

Initializes an instance of this object from a BByteArray.

Parameters:
bytes The BByteArray containing the byte representation of the object.
startPos The position in the BByteArray where the byte representation begins. This value will be updated to point to the byte past the end of this object in the byte array.

Reimplemented from BSegment.

virtual size_t GetCount ( void   )  const [inline, virtual]

Gets the number of vertices in this BPolyline.

Returns:
The number of vertices in this BPolyline.

virtual const BPoint& GetEndPoint ( void   )  const [inline, virtual]

Gets the end point of this BSegment.

Returns:
The end point.

Implements BSegment.

virtual const BPoint& GetPointAt ( size_t  index  )  const [inline, virtual]

Gets the vertex at the specified index.

Parameters:
index The zero-based index of the desired vertex.

virtual const BPoint& GetStartPoint ( void   )  const [inline, virtual]

Gets the start point of this BSegment.

Returns:
The start point.

Implements BSegment.

virtual const BVectorizable* GetVectorizablePtr ( void   )  const [inline, virtual]

Returns an interface that can be used to convert this geometry to a simple geometry.

The caller should NOT delete the pointer returned by this method.

Returns:
A BVectorizable interface for this object.

Reimplemented from BGeometry.

virtual bool Intersects ( const BRect rect  )  const [virtual]

Determines whether or not this BGeometry intersects the specified rectangle.

Parameters:
rect The rectangle to test for intersection.
Returns:
True if this BGeometry intersects the rectangle and false otherwise.

Reimplemented from BGeometry.

BPolyline& operator= ( const BPolyline rhs  )  [inline]

Assignment operator.

Parameters:
rhs The BPolyline whose value will be copied into this one.
Returns:
A reference to this BPolyline.

void Reserve ( size_t  num  )  [inline]

Reserves space for the specified number of vertices.

Parameters:
num The number of points to reserve

virtual void SetEndPoint ( const BPoint pt  )  [virtual]

Sets the end point of this BPolyline.

If this BPolyline does not yet contain any points, then this will have no effect. If this BPolyline does contain points, then the current start point will be replaced by the specified point.

Parameters:
pt The end point.

Implements BSegment.

virtual void SetPoints ( const BPoints pts  )  [virtual]

Sets the BPoints collection that defines the vertices of this BPolyline.

Parameters:
pts The BPoints collection that defines the vertices of this BPolyline.

virtual void SetStartPoint ( const BPoint pt  )  [virtual]

Sets the start point of this BPolyline.

If this BPolyline does not yet contain any points, then this will have no effect. If this BPolyline does contain points, then the current start point will be replaced by the specified point.

Parameters:
pt The start point.

Implements BSegment.

virtual BByteArray ToByteArray ( void   )  const [virtual]

Stores this object in a BByteArray.

Returns:
A BByteArray that stores the contents of this object.

Reimplemented from BSegment.

virtual void Transform ( const BTransform cst  )  [virtual]

Transforms the coordinates in this BGeometry to a different coordinate system.

Parameters:
cst The BTransform that describes the transformation.

Reimplemented from BGeometry.

virtual void TransformReverse ( const BTransform cst  )  [virtual]

Transforms the coordinates in this BGeometry to a different coordinate system using the "reverse" of the BTransform.

Parameters:
cst The BTransform that describes the transformation.

Reimplemented from BGeometry.

virtual BGeometry* Vectorize ( double  factor = 1.0  )  const [inline, virtual]

Since a BPolyline is a simple geometry, this method will return a copy of this BPolyline.

Parameters:
factor The value used to adjust the number of points in the resulting BPolyline. This parameter is ignored for BPolyline objects.
Returns:
A copy of this BPolyline. It is the caller's responsibility to delete the returned object.

Implements BSegment.


Member Data Documentation

BPoint m_centroid [protected]

The centroid of this BPolyline.


The documentation for this class was generated from the following file:

GeoTranslate 5.0 From Blue Marble Geographics