MapLink Pro .
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
Inheritance diagram for TSLArc:

Detailed Description

Arc specific access methods.

This class represents the access methods that are specific to an arc. They also allow setting of rendering attributes.

Rendering attributes can be set directly to this geometry using the inherited TSLEntityBase::setRendering method. This is called 'Entity Rendering'.

Rendering can be applied to a large range of geometry using 'Feature Rendering' which is set by the datalayer using TSLDataLayer::addFeatureRendering which creates a featureID. The featureID can then have attributes applied to it using TSLDataLayer::setFeatureRendering.

A featureID can be applied to geometry on creation, or it can be added later using TSLEntityBase::featureID.

Valid Rendering Attributes for TSLArc:

  • TSLRenderingAttributeEdgeColour
  • TSLRenderingAttributeEdgeStyle
  • TSLRenderingAttributeEdgeThickness
  • TSLRenderingAttributeEdgeThicknessUnits

The above is not a complete list, see TSLRenderingAttributeInt, TSLRenderingAttributeDouble and TSLRenderingAttributeBool for more details.

Public Member Functions

void centre (const TSLCoord &newPosition)
const TSLCoordcentre () const
double endAngle () const
void endAngle (double newValue)
double startAngle () const
void startAngle (double newValue)
TSLTMC xRadius () const
void xRadius (TSLTMC newValue)
TSLTMC yRadius () const
void yRadius (TSLTMC newValue)
Public Member Functions inherited from TSLEntity
TSLCoord centroid () const
TSLEntityclone () const
bool contains (const TSLEntity *other) const
bool crosses (const TSLEntity *other) const
void alwaysMergeDifferences (bool _alwaysMergeDifferences)
TSLEntitydifference (const TSLEntity *other) const
double distance (const TSLCoord &point, bool useRenderedExtent=true, int drawingSurfaceID=-1) const
TSLEnvelope envelope (int surfaceID=-1) const
bool equals (const TSLEntity *other) const
TSLEntityintersection (const TSLEntity *other) const
bool intersects (const TSLEntity *other) const
bool intersects (const TSLEnvelope *envelope) const
bool move (const TSLCoord &location, const TSLCoord &reference)
bool overlaps (const TSLEntity *other) const
TSLEntitySetparent ()
const TSLEntitySetparent () const
void renderLevel (int level)
int renderLevel () const
bool rotate (double angle, const TSLCoord *origin=NULL)
double rotation () const
bool rotation (double newValue)
bool scale (double scaleParam, TSLCoord *origin=0)
bool scaleXY (double scaleX, double scaleY, TSLCoord *origin=0)
double squareDistance (const TSLCoord &point, bool useRenderedExtent=true, int drawingSurfaceID=-1) const
double squareDistance (const TSLEntity *otherEntity) const
bool touches (const TSLEntity *other) const
bool translate (TSLTMC xoffset, TSLTMC yoffset)
TSLEntityunionWith (const TSLEntity *other) const
bool within (const TSLEntity *other) const
TSLCoord adjustedWeightedCentroid ()
 reserved for future use
TSLCoord centreOfGravity ()
 reserved for future use
Public Member Functions inherited from TSLEntityBase
bool addDataSet ()
bool addDataSet (TSLDataHandler *toUseDataHandler)
bool clearRenderingAttributes ()
TSLDataSetdataSet ()
const TSLDataSetdataSet () const
short dataSourceID () const
void dataSourceID (short dataSourceID)
bool deleteDataSet ()
void destroy ()
TSLEntityID entityID () const
void entityID (TSLEntityID value)
TSLFeatureID featureID () const
void featureID (TSLFeatureID newValue)
bool getRendering (TSLRenderingAttributeInt attribute, int *result) const
bool getRendering (TSLRenderingAttributeDouble attribute, double *result) const
bool getRendering (TSLRenderingAttributeBool attribute, bool *result) const
bool getRendering (TSLRenderingAttributes &result) const
TSL3DEntityis3DEntity ()
const TSL3DEntityis3DEntity () const
TSLEntityisEntity ()
const TSLEntityisEntity () const
bool isOptimisedEntity () const
void name (const char *newValue)
const char * name () const
void releaseResources (int surfaceID)
bool setRendering (TSLRenderingAttributeInt attribute, int value)
bool setRendering (TSLRenderingAttributeDouble attribute, double value)
bool setRendering (TSLRenderingAttributeBool attribute, bool value)
bool setRendering (const TSLRenderingAttributes &attributes)
void sourceID (int value)
int sourceID () const
TSLGeometryType type () const
void version (TSLVersion value)
TSLVersion version () const

Static Public Member Functions

static TSLArccreate (TSLFeatureID featureID, double startAngle, double endAngle, TSLTMC cx, TSLTMC cy, TSLTMC radx, TSLTMC rady=0, double rotation=0)
static const TSLArcisArc (const TSLEntity *entity)
static TSLArcisArc (TSLEntity *entity)
Static Public Member Functions inherited from TSLEntity
static TSLEntitycreateFromWKB (const unsigned char *wkb, unsigned int wkbLength, double TMCPerMU, double mapOffsetX=0.0, double mapOffsetY=0.0, bool multiAsEntitySet=false, double maxCurveAngle=0.0)
static TSLEntitycreateFromWKT (const char *wkt, double TMCPerMU, double mapOffsetX=0.0, double mapOffsetY=0.0, bool multiAsEntitySet=false, double maxCurveAngle=0.0)

Protected Member Functions

 TSLArc ()
 Private constructor and destructor to prevent user creation.
 ~TSLArc ()
Protected Member Functions inherited from TSLEntity
 ~TSLEntity ()
Protected Member Functions inherited from TSLEntityBase
 ~TSLEntityBase ()

Constructor & Destructor Documentation

◆ TSLArc()

TSLArc::TSLArc ( )
protected

Private constructor and destructor to prevent user creation.

◆ ~TSLArc()

TSLArc::~TSLArc ( )
protected

Member Function Documentation

◆ centre() [1/2]

const TSLCoord & TSLArc::centre ( ) const

Query centre of arc.

Returns the coordinate of the centre of the arc.

◆ centre() [2/2]

void TSLArc::centre ( const TSLCoord & newPosition)

Sets the centre of the arc.

Parameters
newPositionNew centre of the arc (TSLCoord).

◆ create()

TSLArc * TSLArc::create ( TSLFeatureID featureID,
double startAngle,
double endAngle,
TSLTMC cx,
TSLTMC cy,
TSLTMC radx,
TSLTMC rady = 0,
double rotation = 0 )
static

Creates an arc with the specified parameters.

This call should only be used for temporary entities. For example, this call may be used to create entities that are used in the spatial tests.

All angles are in radians, +ve anti-clockwise from the +ve X axis.

Parameters
featureIDID of the feature code to assign to the entity. This is used when rendering map features if no specific attribute set has been created for the entity.
startAngleAngle for start of arc.
endAngleAngle for end of arc. If the same as startAngle, a full ellipse is drawn.
cxX coordinate of centre of ellipse the arc follows.
cyY coordinate of centre of ellipse the arc follows.
radxRadius of arc along X axis, before rotation.
radyRadius of arc along Y axis, before rotation. If 0, rady is assumed to be the same as radx.
rotationAngle of rotation of arc, about cx,cy.
Returns
an entity pointer, NULL on error.

◆ endAngle() [1/2]

double TSLArc::endAngle ( ) const

Queries the end angle of the arc.

This angle is in radians, +ve anti-clockwise, relative to the +ve X-axis.

◆ endAngle() [2/2]

void TSLArc::endAngle ( double newValue)

Sets the end angle of the arc.

Parameters
newValueNew angle in radians, +ve anti-clockwise, relative to the +ve X-axis.

◆ isArc() [1/2]

const TSLArc * TSLArc::isArc ( const TSLEntity * entity)
static

Query whether the entity is an Arc.

If this entity is an Arc, returns an accessor, otherwise returns NULL.

When querying Optimised maps this query may return NULL.

Parameters
entitythe entity to query

◆ isArc() [2/2]

TSLArc * TSLArc::isArc ( TSLEntity * entity)
static

Query whether the entity is an Arc.

If this entity is an Arc, returns an accessor, otherwise returns NULL.

When querying Optimised maps this query may return NULL.

Parameters
entitythe entity to query

◆ startAngle() [1/2]

double TSLArc::startAngle ( ) const

Queries the start angle of the arc.

This angle is in radians, +ve anti-clockwise, relative to the +ve X-axis.

◆ startAngle() [2/2]

void TSLArc::startAngle ( double newValue)

Sets the start angle of the arc.

Parameters
newValueNew angle in radians, +ve anti-clockwise, relative to the +ve X-axis.

◆ xRadius() [1/2]

TSLTMC TSLArc::xRadius ( ) const

Query the X radius of the arc.

This is the radius along the X axis, before rotation.

◆ xRadius() [2/2]

void TSLArc::xRadius ( TSLTMC newValue)

Set the X radius of the arc.

Parameters
newValueNew value of the radius along the X axis, before rotation.

◆ yRadius() [1/2]

TSLTMC TSLArc::yRadius ( ) const

Query the Y radius of the arc.

This is the radius along the Y axis, before rotation.

◆ yRadius() [2/2]

void TSLArc::yRadius ( TSLTMC newValue)

Set the Y radius of the arc.

Parameters
newValueNew value of the radius along the Y axis, before rotation.