![]() |
MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
|
Geodetic Polygon specific access methods.
This class represents the access methods that are specific to a geodetic 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 TSLGeodeticPolygon:
The above is not a complete list, see TSLRenderingAttributeInt, TSLRenderingAttributeDouble and TSLRenderingAttributeBool for more details.
Known Limitations:
Public Member Functions | |
bool | addInner (TSLCoordSet *newPoints, bool keepCoordSet=false) |
bool | addInner (const TSLCoordSet &newPoints) |
const TSLCoordSet * | inner (int index) const |
bool | inner (int index, TSLCoordSet *newPoints, bool keepCoordSet=false) |
bool | inner (int index, const TSLCoordSet &newPoints) |
bool | interpolation () const |
void | interpolation (bool newValue) |
void | interpolationDistance (double newValue) |
double | interpolationDistance () const |
TSLGeodeticInterpolationOptionsEnum | interpolationOptions () const |
void | interpolationOptions (TSLGeodeticInterpolationOptionsEnum newValue) |
int | numInners () const |
const TSLCoordSet & | outer () const |
bool | outer (TSLCoordSet *newPoints, bool keepCoordSet=false) |
bool | outer (const TSLCoordSet &newPoints) |
bool | removeInner (int index) |
![]() | |
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 TSLGeodeticPolygon * | create (TSLFeatureID featureID, TSLCoordSet *coords, bool keepCoordSet=false) |
static TSLGeodeticPolygon * | create (TSLFeatureID featureID, const TSLCoordSet &coords) |
static const TSLGeodeticPolygon * | isGeodeticPolygon (const TSLEntity *entity) |
static TSLGeodeticPolygon * | isGeodeticPolygon (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) |
Additional Inherited Members | |
![]() | |
~TSLEntity () | |
![]() | |
~TSLEntityBase () | |
bool TSLGeodeticPolygon::addInner | ( | const TSLCoordSet & | newPoints | ) |
Adds an inner boundary to the geodetic polygon.
A geodetic polygon 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.
newPoints | Points for new inner boundary. |
bool TSLGeodeticPolygon::addInner | ( | TSLCoordSet * | newPoints, |
bool | keepCoordSet = false ) |
Adds an inner boundary to the geodetic polygon.
A geodetic polygon 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.
newPoints | Points for new inner boundary. |
keepCoordSet | Flag to indicate whether the geodetic polygon should keep the specified coordinate set, or clone it. Note that if this flag is set, the geodetic polygon assumes control of the coordinate set and invalidates it. The user should not attempt to make further use of the coordinate set. |
|
static |
Creates a geodetic polygon with the specified parameters.
A geodetic polygon is a closed, filled feature. 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 the geodetic polygon. |
|
static |
Creates a geodetic polygon with the specified parameters.
A geodetic polygon is a closed, filled feature. 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 the geodetic polygon. |
keepCoordSet | Flag to indicate whether the geodetic polygon should keep the specified coordinate set, or clone it. Note that if this flag is set, the geodetic polygon assumes control of the coordinate set and invalidates it. The user should not attempt to make further use of the coordinate set. |
const TSLCoordSet * TSLGeodeticPolygon::inner | ( | int | index | ) | const |
Query the coordinates of the inner boundary at the specified index.
index | Index of inner boundary to query. |
bool TSLGeodeticPolygon::inner | ( | int | index, |
const TSLCoordSet & | newPoints ) |
Sets the coordinates of the inner boundary at the specified index.
A geodetic polygon 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.
index | Index of inner boundary to change. |
newPoints | New points for inner boundary. |
bool TSLGeodeticPolygon::inner | ( | int | index, |
TSLCoordSet * | newPoints, | ||
bool | keepCoordSet = false ) |
Sets the coordinates of the inner boundary at the specified index.
A geodetic polygon 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.
index | Index of inner boundary to change. |
newPoints | New points for inner boundary. |
keepCoordSet | Flag to indicate whether the geodetic polygon should keep the specified coordinate set, or clone it. Note that if this flag is set, the geodetic polygon assumes control of the coordinate set and invalidates it. The user should not attempt to make further use of the coordinate set. |
bool TSLGeodeticPolygon::interpolation | ( | ) | const |
Returns whether the geodetic entity interpolates between control points at all.
void TSLGeodeticPolygon::interpolation | ( | bool | newValue | ) |
Sets whether the geodetic entity interpolates between control points at all.
If true, the lines drawn between each pair of control points will be curved to follow the shortest geodesic path between them. If false, the lines will be drawn straight.
newValue | New value for interpolation flag. |
double TSLGeodeticPolygon::interpolationDistance | ( | ) | const |
Returns the post distance used for interpolation, in km.
void TSLGeodeticPolygon::interpolationDistance | ( | double | newValue | ) |
Sets the post distance for interpolation, in km. Will be used only if interpolation is on.
newValue | New value for the post distance, in km. |
TSLGeodeticInterpolationOptionsEnum TSLGeodeticPolygon::interpolationOptions | ( | ) | const |
Returns the flags which control interpolation between control points of this geodetic entity.
void TSLGeodeticPolygon::interpolationOptions | ( | TSLGeodeticInterpolationOptionsEnum | newValue | ) |
Sets the flags which control interpolation between control points of this geodetic entity.
newValue | New value for the flags. |
|
static |
Query whether the entity is a geodetic polygon.
If this entity is a geodetic 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 geodetic polygon.
If this entity is a geodetic polygon, returns an accessor, otherwise returns NULL.
When querying Optimised maps this query may return NULL.
entity | the entity to query |
int TSLGeodeticPolygon::numInners | ( | ) | const |
Query the number of inner boundaries of the geodetic polygon.
const TSLCoordSet & TSLGeodeticPolygon::outer | ( | ) | const |
Query the coordinates of the outer boundary of the geodetic polygon.
bool TSLGeodeticPolygon::outer | ( | const TSLCoordSet & | newPoints | ) |
Sets the coordinates of the outer boundary of the geodetic polygon.
A geodetic polygon 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.
newPoints | New points for the outer boundary. |
bool TSLGeodeticPolygon::outer | ( | TSLCoordSet * | newPoints, |
bool | keepCoordSet = false ) |
Sets the coordinates of the outer boundary of the geodetic polygon.
A geodetic polygon 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.
newPoints | New points for the outer boundary. |
keepCoordSet | Flag to indicate whether the geodetic polygon should keep the specified coordinate set, or clone it. Note that if this flag is set, the geodetic polygon assumes control of the coordinate set and invalidates it. The user should not attempt to make further use of the coordinate set. |
bool TSLGeodeticPolygon::removeInner | ( | int | index | ) |
Removes the inner boundary from the geodetic polygon.
A geodetic polygon 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.
index | Index of inner boundary to remove. |