Rogue Wave Views
Maps Package API Reference Guide
Product Documentation:

Rogue Wave Views
Documentation Home
List of all members | Public Member Functions
IlvMapLinearSegment Class Reference

This class defines a linear segment. More...

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

Inheritance diagram for IlvMapLinearSegment:
IlvMapSegment IlvMapCurve IlvMapGeometry

Public Member Functions

 IlvMapLinearSegment ()
 Initializes a new IlvMapLinearSegment instance.
 
 IlvMapLinearSegment (const IlvCoordinate &start, const IlvCoordinate &end)
 Initializes a new linear segment by specifying the start and end point. More...
 
 IlvMapLinearSegment (const IlvMapLinearSegment &source)
 Initializes a new linear segment by copying an existing one. More...
 
virtual IlvMapGeometrycopy () const
 Returns a copy of the object. More...
 
virtual IlvClassInfogetClassInfo () const
 Returns the IlvClassInfo of the instance. More...
 
virtual const IlvCoordinategetEndPoint () const
 Returns the end point of the segment. More...
 
virtual IlUInt getHorizontalIntersectionCount (const IlvCoordinate &) const
 Returns the number of intersections between this segment and an horizontal half line. More...
 
virtual const IlvCoordinategetStartPoint () const
 Returns the start point of the segment. More...
 
virtual const IlvMapGeometrygetSubElement (IlUInt) const
 Returns a sub element of a collection geometry. More...
 
virtual IlUInt getSubElementCount () const
 Returns the number of elements contained in the geometry if the geometry is a collection. More...
 
virtual IlBoolean isCollection () const
 Checks if this geometry is a collection of other geometries. More...
 
virtual void setEndPoint (const IlvCoordinate &)
 Sets the end point of the segment. More...
 
virtual void setStartPoint (const IlvCoordinate &)
 Sets the start point of the segment. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from IlvMapGeometry
static IlvClassInfoClassInfo ()
 Returns the class info. More...
 
- Protected Member Functions inherited from IlvMapSegment
 IlvMapSegment ()
 Initializes a new IlvMapSegment instance.
 
- Protected Member Functions inherited from IlvMapCurve
 IlvMapCurve ()
 Initializes a new, empty, curve.
 
- Protected Member Functions inherited from IlvMapGeometry
 IlvMapGeometry ()
 Constructor. More...
 

Detailed Description

This class defines a linear segment.

Library: ilvmaps
The instances of this class can be rendered by an IlvDefaultFeatureRenderer or by an IlvDefaultCurveRenderer.

Constructor & Destructor Documentation

§ IlvMapLinearSegment() [1/2]

IlvMapLinearSegment::IlvMapLinearSegment ( const IlvCoordinate start,
const IlvCoordinate end 
)

Initializes a new linear segment by specifying the start and end point.

Parameters
startThe start point.
endThe end point.

§ IlvMapLinearSegment() [2/2]

IlvMapLinearSegment::IlvMapLinearSegment ( const IlvMapLinearSegment source)

Initializes a new linear segment by copying an existing one.

Parameters
sourceThe source linear segment.

Member Function Documentation

§ copy()

virtual IlvMapGeometry* IlvMapLinearSegment::copy ( ) const
virtual

Returns a copy of the object.

Returns
An IlvMapGeometry that must be deleted by the user.

Implements IlvMapSegment.

§ getClassInfo()

virtual IlvClassInfo* IlvMapLinearSegment::getClassInfo ( ) const
virtual

Returns the IlvClassInfo of the instance.

Returns
An IlvClassInfo that should not be modified nor deleted.

Implements IlvMapCurve.

§ getEndPoint()

virtual const IlvCoordinate& IlvMapLinearSegment::getEndPoint ( ) const
virtual

Returns the end point of the segment.

Returns
The end point.

Implements IlvMapSegment.

§ getHorizontalIntersectionCount()

virtual IlUInt IlvMapLinearSegment::getHorizontalIntersectionCount ( const IlvCoordinate point) const
virtual

Returns the number of intersections between this segment and an horizontal half line.

This function is used for point inclusion tests of IlvMapRing.

Parameters
pointThe point at the right end of the horizontal half line.
Returns
The number of intersections between the point and this 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.

§ getStartPoint()

virtual const IlvCoordinate& IlvMapLinearSegment::getStartPoint ( ) const
virtual

Returns the start point of the segment.

Returns
The start point.

Implements IlvMapSegment.

§ getSubElement()

virtual const IlvMapGeometry* IlvMapLinearSegment::getSubElement ( IlUInt  index) const
virtual

Returns a sub element of a collection geometry.

Parameters
indexThe index of the sub-geometry to be retrieved.
Returns
The sub element of index index if the geometry is a collection or 0 if it is not.

Implements IlvMapGeometry.

§ getSubElementCount()

virtual IlUInt IlvMapLinearSegment::getSubElementCount ( ) const
virtual

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

Returns
The number of elements contained in the geometry if the geometry is a collection. If it is not, this method returns 0.

Implements IlvMapGeometry.

§ isCollection()

virtual IlBoolean IlvMapLinearSegment::isCollection ( ) const
virtual

Checks if this 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.

§ setEndPoint()

virtual void IlvMapLinearSegment::setEndPoint ( const IlvCoordinate end)
virtual

Sets the end point of the segment.

Parameters
endThe end point.

Implements IlvMapSegment.

§ setStartPoint()

virtual void IlvMapLinearSegment::setStartPoint ( const IlvCoordinate start)
virtual

Sets the start point of the segment.

Parameters
startThe start point.

Implements IlvMapSegment.


© Copyright 2018, 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.