![]() |
MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
|
Bordered Polygon specific access methods.
This class represents the access methods that are specific to a bordered polygon. 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 TSLBorderedPolygon:
The above is not a complete list, see TSLRenderingAttributeInt, TSLRenderingAttributeDouble and TSLRenderingAttributeBool for more details.
Public Member Functions | |
TSLStyleID | colour () const |
bool | colour (TSLStyleID newColour) |
bool | flip (const TSLCoord &to, TSLTMC aperture) |
bool | flipAll () |
TSLBorderInfo * | innerBorderInfo (int position) const |
bool | innerBorderInfo (int position, const TSLBorderInfo &info) |
TSLBorderInfo * | outerBorderInfo () const |
bool | outerBorderInfo (const TSLBorderInfo &info) |
TSLTMC | width () const |
bool | width (TSLTMC newWidth) |
![]() | |
bool | addInner (TSLCoordSet *newPoints, bool keepCoordSet=false) |
bool | addInner (const TSLCoordSet &newPoints) |
double | area () const |
const TSLCoordSet * | inner (int index) const |
bool | inner (int index, TSLCoordSet *newPoints, bool keepCoordSet=false) |
bool | inner (int index, const TSLCoordSet &newPoints) |
int | numInners () const |
const TSLCoordSet & | outer () const |
bool | outer (TSLCoordSet *newPoints, bool keepCoordSet=false) |
bool | outer (const TSLCoordSet &newPoints) |
bool | perimeter (double *outerPerimeter, double *innerPerimeter) const |
bool | removeInner (int index) |
TSLEntitySet * | xOr (TSLPolygon const *const *otherPolygons, int numOtherPolygons) const |
![]() | |
TSLCoord | centroid () const |
TSLEntity * | clone () const |
bool | contains (const TSLEntity *other) const |
bool | crosses (const TSLEntity *other) const |
void | alwaysMergeDifferences (bool _alwaysMergeDifferences) |
TSLEntity * | difference (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 |
TSLEntity * | intersection (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 |
TSLEntitySet * | parent () |
const TSLEntitySet * | parent () 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) |
TSLEntity * | unionWith (const TSLEntity *other) const |
bool | within (const TSLEntity *other) const |
TSLCoord | adjustedWeightedCentroid () |
reserved for future use | |
TSLCoord | centreOfGravity () |
reserved for future use | |
![]() | |
bool | addDataSet () |
bool | addDataSet (TSLDataHandler *toUseDataHandler) |
bool | clearRenderingAttributes () |
TSLDataSet * | dataSet () |
const TSLDataSet * | dataSet () 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 |
TSL3DEntity * | is3DEntity () |
const TSL3DEntity * | is3DEntity () const |
TSLEntity * | isEntity () |
const TSLEntity * | isEntity () 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 TSLBorderedPolygon * | create (TSLFeatureID featureID, TSLCoordSet *coords, TSLTMC width, bool keepCoordSet=false) |
static TSLBorderedPolygon * | create (TSLFeatureID featureID, const TSLCoordSet &coords, TSLTMC width) |
static const TSLBorderedPolygon * | isBorderedPolygon (const TSLEntity *entity) |
static TSLBorderedPolygon * | isBorderedPolygon (TSLEntity *entity) |
static TSLBorderedPolygon * | create (TSLFeatureID featureID, TSLCoordSet *coords, TSLTMC width, bool keepCoordSet, bool reserved1, bool reserved2) |
static TSLBorderedPolygon * | create (TSLFeatureID featureID, const TSLCoordSet &coords, TSLTMC width, bool reserved1, bool reserved2) |
![]() | |
static TSLPolygon * | create (TSLFeatureID featureID, TSLCoordSet *coords, bool keepCoordSet=false) |
static TSLPolygon * | create (TSLFeatureID featureID, const TSLCoordSet &coords) |
static const TSLPolygon * | isPolygon (const TSLEntity *entity) |
static TSLPolygon * | isPolygon (TSLEntity *entity) |
![]() | |
static TSLEntity * | createFromWKB (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 TSLEntity * | createFromWKT (const char *wkt, double TMCPerMU, double mapOffsetX=0.0, double mapOffsetY=0.0, bool multiAsEntitySet=false, double maxCurveAngle=0.0) |
Protected Member Functions | |
TSLBorderedPolygon () | |
~TSLBorderedPolygon () | |
![]() | |
TSLPolygon () | |
~TSLPolygon () | |
TSLPolygon (const TSLPolygon &) | |
TSLPolygon & | operator= (const TSLPolygon &) |
![]() | |
~TSLEntity () | |
![]() | |
~TSLEntityBase () | |
|
protected |
Protected constructor and destructor to prevent user creation
|
protected |
TSLStyleID TSLBorderedPolygon::colour | ( | ) | const |
This method returns the current border colour as an index into the colours file.
A value of 0 indicates that the border segments will be drawn in the polygons edge colour and that they will be drawn instead of the edge. A positive value indicates that the fill, border segments and edge will be drawn - in that order.
bool TSLBorderedPolygon::colour | ( | TSLStyleID | newColour | ) |
This method changes the current border colour.
A value of 0 indicates that the border segments will be drawn in the polygons edge colour and that they will be drawn instead of the edge. A positive value indicates that the fill, border segments and edge will be drawn - in that order.
Arguments list details :
newColour (Long) : The new border colour.
It returns True if the operation is successful, False otherwise.
|
static |
Creates a bordered polygon with the specified parameters.
A bordered polygon is a closed, filled feature. The outline of the polygon may optionally have extra thick edges of a specified width, Each edge may be individually be flipped inside or outside of the polygon. It must be non-complex, ie. edges must not cross, although they may touch. In addition, any holes may not touch or cross the outer, nor touch or cross any other hole.
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.
featureID | ID 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. |
coords | Coordinate set describing polygon. |
width | Thickness of edges in TMC units. 0 width is rendered as a normal polygon. All edges are initially inside the polygon. |
|
static |
|
static |
|
static |
Creates a bordered polygon with the specified parameters.
A bordered polygon is a closed, filled feature. The outline of the polygon may optionally have extra thick edges of a specified width, Each edge may be individually be flipped inside or outside of the polygon. It must be non-complex, ie. edges must not cross, although they may touch. In addition, any holes may not touch or cross the outer, nor touch or cross any other hole.
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.
featureID | ID 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. |
coords | Coordinate set describing polygon. |
width | Thickness of edges in TMC units. 0 width is rendered as a normal polygon. All edges are initially inside the polygon. |
keepCoordSet | Flag to indicate whether the polygon should keep the specified coordinate set, or clone it. Note that if this flag is set, the polygon assumes control of the coordinate set and invalidates it. The user should not attempt to make further use of the coordinate set. |
bool TSLBorderedPolygon::flip | ( | const TSLCoord & | to, |
TSLTMC | aperture ) |
This method flips the border segment nearest to the specified coordinate.
Arguments list details :
to : The specified co-ordinate.
aperture : Specifies the distance to search for the nearest border, in TMC units.
It returns true if the operation is successful, false otherwise.
bool TSLBorderedPolygon::flipAll | ( | ) |
This method flips all existing border segments.
Returns true on success, otherwise false.
TSLBorderInfo * TSLBorderedPolygon::innerBorderInfo | ( | int | position | ) | const |
Queries the border orientation data associated with the position'th inner.
Modifying the bordered polygon's outer or inners invalidates all associated TSLBorderInfo objects.
position | Which inner. Uses same indices as inner(). |
bool TSLBorderedPolygon::innerBorderInfo | ( | int | position, |
const TSLBorderInfo & | info ) |
Set the border orientation data associated with the position'th inner.
position | Which inner. Uses same indices as inner(). |
info | New border orientation data. |
|
static |
Query whether the entity is a bordered polygon.
If this entity is a bordered polygon, returns an accessor, otherwise returns NULL.
When querying Optimised maps this query may return NULL.
entity | the entity to query |
|
static |
Query whether the entity is a bordered polygon.
If this entity is a bordered polygon, returns an accessor, otherwise returns NULL.
When querying Optimised maps this query may return NULL.
entity | the entity to query |
TSLBorderInfo * TSLBorderedPolygon::outerBorderInfo | ( | ) | const |
Queries the border orientation data associated with the outer.
Modifying the bordered polygon's outer or inners invalidates all associated TSLBorderInfo objects.
bool TSLBorderedPolygon::outerBorderInfo | ( | const TSLBorderInfo & | info | ) |
Set the border orientation data associated with the outer.
info | New border orientation data. |
TSLTMC TSLBorderedPolygon::width | ( | ) | const |
This method returns the current border width in TMC units.
bool TSLBorderedPolygon::width | ( | TSLTMC | newWidth | ) |
This method changes the current border width.
If the polygon does not have a current width, then border segments are generated, defaulting to inside the polygon. If segments already exist, then their width is changed.
Arguments list details :
newWidth (Long) : The new border width in TMC units.
It returns True if the operation is successful, False otherwise.