rwlogo
Rogue Wave Views 5.5.1

Rogue Wave Views
Maps Package API Reference Guide

Product Documentation:

Rogue Wave Views
Documentation Home

IlvMapArcSegment Class Reference

This class defines a circular arc segment. More...

#include <ilviews/maps/geometry/geoarcseg.h>

Inheritance diagram for IlvMapArcSegment:
IlvMapSegment IlvMapCurve IlvMapGeometry

List of all members.

Public Member Functions

 IlvMapArcSegment (const IlvCoordinate &start, const IlvCoordinate &intermediate, const IlvCoordinate &end)
 Creates an arc segment that goes through the three points given as argument.
 IlvMapArcSegment (const IlvMapArcSegment &source)
 Creates an arc segment by copying an existing one.
 IlvMapArcSegment ()
 Constructor.
virtual IlvMapGeometrycopy () const
 Returns a copy of the object.
virtual IlvClassInfogetClassInfo () const
 Returns the IlvClassInfo of the instance.
virtual const IlvCoordinategetEndPoint () const
 Returns the end point of the segment.
virtual IlUInt getHorizontalIntersectionCount (const IlvCoordinate &point) const
const IlvCoordinategetIntermediatePoint () const
 Returns the intermediate point of the arc.
virtual const IlvCoordinategetStartPoint () const
 Returns the start point of the segment.
virtual const IlvMapGeometrygetSubElement (IlUInt index) const
 Returns the sub element of index index if the geometry is a collection.
virtual IlUInt getSubElementCount () const
 Returns the number of elements contained in the geometry if the geometry is a collection.
virtual IlBoolean isCollection () const
 Returns IlTrue if the geometry is a collection of other geometries.
virtual void setEndPoint (const IlvCoordinate &end)
 Sets the end point of the segment.
void setIntermediatePoint (const IlvCoordinate &intermediate)
 Sets the intermediate point of the arc.
virtual void setStartPoint (const IlvCoordinate &start)
 Sets the start point of the segment.

Detailed Description

This class defines a circular arc segment.

Library: ilvmaps

An IlvMapArcSegment is a circular arc defined by three control points called the start point, the intermediate point and the end point. The instances of this class can be rendered by an IlvDefaultFeatureRenderer or by an IlvDefaultCurveRenderer.


Constructor & Destructor Documentation

IlvMapArcSegment::IlvMapArcSegment (  ) 

Constructor.

Initializes an instance of the class.

IlvMapArcSegment::IlvMapArcSegment ( const IlvMapArcSegment source  ) 

Creates an arc segment by copying an existing one.

Parameters:
source The source arc segment.
IlvMapArcSegment::IlvMapArcSegment ( const IlvCoordinate start,
const IlvCoordinate intermediate,
const IlvCoordinate end 
)

Creates an arc segment that goes through the three points given as argument.

Parameters:
start The first point.
intermediate The middle point.
end The end point.

Member Function Documentation

virtual IlvMapGeometry* IlvMapArcSegment::copy (  )  const [virtual]

Returns a copy of the object.

Returns:
An IlvMapGeometry that must be deleted by the user.

Implements IlvMapSegment.

virtual IlvClassInfo* IlvMapArcSegment::getClassInfo (  )  const [virtual]

Returns the IlvClassInfo of the instance.

Returns:
An IlvClassInfo that should not be modified nor deleted.

Implements IlvMapCurve.

virtual const IlvCoordinate& IlvMapArcSegment::getEndPoint (  )  const [virtual]

Returns the end point of the segment.

Returns:
The end point.

Implements IlvMapSegment.

virtual IlUInt IlvMapArcSegment::getHorizontalIntersectionCount ( const IlvCoordinate point  )  const [virtual]

Returns the number of intersections between an horizontal half line defined by its right extremity point and the segment. This function is used for point inclusion tests of IlvMapRing.

Parameters:
point The point at the right extremity of the horizontal half line.
Returns:
The number of intersections between the point and the segment. Tangent intersections should be counted as: 1 if the point is on the segment, 2 if the point is not on the segment. If the point is on the segment where the tangent is not horizontal, the intersection should not be counted.

Implements IlvMapSegment.

const IlvCoordinate& IlvMapArcSegment::getIntermediatePoint (  )  const

Returns the intermediate point of the arc.

Returns:
The intermediate control point.
virtual const IlvCoordinate& IlvMapArcSegment::getStartPoint (  )  const [virtual]

Returns the start point of the segment.

Returns:
The start point.

Implements IlvMapSegment.

virtual const IlvMapGeometry* IlvMapArcSegment::getSubElement ( IlUInt  index  )  const [virtual]

Returns the sub element of index index if the geometry is a collection.

Otherwise, it returns a null pointer.

Returns:
The sub element of index index if the geometry is a collection.

Implements IlvMapGeometry.

virtual IlUInt IlvMapArcSegment::getSubElementCount (  )  const [virtual]

Returns the number of elements contained in the geometry if the geometry is a collection.

Otherwise, it returns 0.

Returns:
The number of elements contained in the geometry if the geometry is a collection. Otherwise, it returns 0.

Implements IlvMapGeometry.

virtual IlBoolean IlvMapArcSegment::isCollection (  )  const [virtual]

Returns IlTrue if the geometry is a collection of other geometries.

The composite geometries predefined in Rogue Wave Views Maps are: IlvMapGeometryCollection, IlvMapMultiPoint, IlvMapSegmentString and its subclasses, IlvMapMultiCurve and IlvMapMultiArea.

Returns:
IlTrue if the geometry is a collection of other geometries.

Implements IlvMapGeometry.

virtual void IlvMapArcSegment::setEndPoint ( const IlvCoordinate end  )  [virtual]

Sets the end point of the segment.

Parameters:
end The end point.

Implements IlvMapSegment.

void IlvMapArcSegment::setIntermediatePoint ( const IlvCoordinate intermediate  ) 

Sets the intermediate point of the arc.

Parameters:
intermediate The intermediate point.
virtual void IlvMapArcSegment::setStartPoint ( const IlvCoordinate start  )  [virtual]

Sets the start point of the segment.

Parameters:
start The start point.

Implements IlvMapSegment.


© Copyright 2012, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.