BPolygon Class Reference

#include <BPolygon.h>

Inheritance diagram for BPolygon:

Inheritance graph
[legend]

List of all members.


Detailed Description

A geometry object that represents a polygon.

Public Member Functions

void AddPoint (const BPoint &pt)
 Adds a new vertex to this BPolygon.
void AddPoints (const BPoints &pts)
 Adds a collection of new vertices to this BPolygon.
 BPolygon (const BPolygon &p)
 Copy constructor.
 BPolygon (const BAreaGeoPtr &pGeo)
 Constructs a BPolygon that approximates the specified BAreaGeo.
 BPolygon (EGeometryType type)
 Constructor.
 BPolygon (size_t num)
 Constructs a new BPolygon and reserves space for the specified number of points.
 BPolygon ()
 Default constructor.
virtual BGeometryClone (void) const
 Create a deep-copy of this object.
virtual size_t ComputeSize (void) const
 Computes the size of the BByteArray required to store this object.
virtual bool Contains (const BPoints &points) const
 Determines whether or not the all of the specified BPoints are contained within this BAreaGeo.
virtual bool Contains (const BPoint &point) const
 Determines whether or not the specified BPoint is contained within this BAreaGeo.
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 BPolygon.
virtual const BPointGetPointAt (size_t index) const
 Gets the BPoint representing the specified vertex.
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 BPoint &pt1, const BPoint &pt2) const
 Determines whether or not this BGeometry intersects the line defined by the specified points.
virtual bool Intersects (const BRect &rect) const
 Determines whether or not this BGeometry intersects the specified rectangle.
virtual bool IsClosed (void) const
 Indicates whether or not this is a "closed" geometry.
BPolygonoperator= (const BPolygon &rhs)
 Assignment operator.
void SetPoints (const BPoints &points)
 Set the BPoints collection that defines the vertices of this BPolygon.
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 BPolygon is a simple geometry, this method will return a copy of this BPolygon.
virtual ~BPolygon ()
 Destructor.

Protected Member Functions

virtual BRect ComputeMBR () const
 Computes the minimum bounding rectangle for this BGeometry.
virtual void ComputeStats () const
 Computes the MBR, centroid, area, perimeter, and orientation.

Constructor & Destructor Documentation

BPolygon (  )  [inline]

Default constructor.

BPolygon ( size_t  num  )  [inline]

Constructs a new BPolygon and reserves space for the specified number of points.

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

BPolygon ( EGeometryType  type  )  [inline]

Constructor.

Parameters:
type The type of geometry that will be represented by this BPolygon.

BPolygon ( const BAreaGeoPtr pGeo  ) 

Constructs a BPolygon that approximates the specified BAreaGeo.

Parameters:
pGeo The BAreaGeo that will be approximated by this BPolygon.

BPolygon ( const BPolygon p  ) 

Copy constructor.

Parameters:
p The BPolygon object to copy.

virtual ~BPolygon (  )  [inline, virtual]

Destructor.


Member Function Documentation

void AddPoint ( const BPoint pt  ) 

Adds a new vertex to this BPolygon.

Parameters:
pt The BPoint that gives the new vertext.

void AddPoints ( const BPoints pts  ) 

Adds a collection of new vertices to this BPolygon.

Parameters:
pts The collection of vertices.

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

Create a deep-copy of this object.

Returns:
A deep-copy of this object.

Implements BGeometry.

Reimplemented in BRectangle, and BRoundRectangle.

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 BAreaGeo.

Reimplemented in BRoundRectangle.

virtual void ComputeStats (  )  const [protected, virtual]

Computes the MBR, centroid, area, perimeter, and orientation.

Implements BAreaGeo.

virtual bool Contains ( const BPoints points  )  const [virtual]

Determines whether or not the all of the specified BPoints are contained within this BAreaGeo.

Parameters:
points The BPoints to test for containment.
Returns:
True if all of the specified BPoints are contained within this BAreaGeo and false otherwise.

Reimplemented in BRectangle.

virtual bool Contains ( const BPoint point  )  const [virtual]

Determines whether or not the specified BPoint is contained within this BAreaGeo.

Parameters:
point The BPoint to test for containment.
Returns:
True if the point is contained within this BAreaGeo and false otherwise.

Implements BAreaGeo.

Reimplemented in BRectangle.

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 BAreaGeo.

Reimplemented in BRoundRectangle.

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

Gets the number of vertices in this BPolygon.

Returns:
The number of vertices in this BPolygon.

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

Gets the BPoint representing the specified vertex.

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

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 BPoint pt1,
const BPoint pt2 
) const [virtual]

Determines whether or not this BGeometry intersects the line defined by the specified points.

Parameters:
pt1 The start point of the line.
pt2 The end point of the line.
Returns:
True if this BGeometry intersects the line and false otherwise.

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.

virtual bool IsClosed ( void   )  const [inline, virtual]

Indicates whether or not this is a "closed" geometry.

Since this is a BPolygon, this method will always return true.

return Since this is a BPolygon, this method will always return true.

Reimplemented from BGeometry.

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

Assignment operator.

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

void SetPoints ( const BPoints points  ) 

Set the BPoints collection that defines the vertices of this BPolygon.

Parameters:
points The BPoints collection that defines the vertices of this BPolygon.

virtual BByteArray ToByteArray ( void   )  const [virtual]

Stores this object in a BByteArray.

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

Reimplemented from BAreaGeo.

Reimplemented in BRoundRectangle.

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 BPolygon is a simple geometry, this method will return a copy of this BPolygon.

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

Implements BVectorizable.


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

GeoTranslate 5.0 From Blue Marble Geographics