MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
TSLMultiPolygon Class Reference
Inheritance diagram for TSLMultiPolygon:

Detailed Description

This class provides access to set of Polygons. This is a geometry group that is drawn with the same set of rendering at the same time.

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 TSLMultiPolygon:

  • TSLRenderingAttributeExteriorEdgeColour
  • TSLRenderingAttributeExteriorEdgeStyle
  • TSLRenderingAttributeExteriorEdgeThickness
  • TSLRenderingAttributeExteriorEdgeThicknessUnits
  • TSLRenderingAttributeFillColour
  • TSLRenderingAttributeFillStyle

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

Public Member Functions

bool addPart (const TSLPolygon &part, int pos=-1)
 
bool addPart (const TSLCoordSet &part, int pos=-1)
 
void deletePart (int index)
 
int numberOfParts () const
 
const TSLMultiPolygonPartpartAt (int index) const
 
void replacePart (int index, const TSLPolygon &part)
 
- 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 TSLMultiPolygoncreate (TSLFeatureID featureID, const TSLEntityReferenceSet *parts)
 
static TSLMultiPolygoncreate (TSLFeatureID featureID, const TSLPolygon **parts, int numParts)
 
static TSLMultiPolygoncreate (TSLFeatureID featureID, const TSLCoordSet **parts, int numParts)
 
static const TSLMultiPolygonisMultiPolygon (const TSLEntity *entity)
 
static TSLMultiPolygonisMultiPolygon (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)
 

Additional Inherited Members

- Protected Member Functions inherited from TSLEntity
 ~TSLEntity ()
 
- Protected Member Functions inherited from TSLEntityBase
 ~TSLEntityBase ()
 

Member Function Documentation

◆ addPart() [1/2]

bool TSLMultiPolygon::addPart ( const TSLCoordSet & part,
int pos = -1 )

Add a coordinate to the TSLMultiPolygon.

Parameters
partthe coordset representing the outer of the TSLPolygon to add
posthe position at which to add the polygon. By default the polygon will be added after the current last polygon. If the position entered is greater than the existing number of parts the polygon is also added after the current last polygon.

◆ addPart() [2/2]

bool TSLMultiPolygon::addPart ( const TSLPolygon & part,
int pos = -1 )

Add a coordinate to the TSLMultiPolygon.

Parameters
partthe TSLPolygon to add.
posthe position at which to add the polygon. By default the polygon will be added after the current last polygon. If the position entered is greater than the existing number of parts the polygon is also added after the current last polygon.

◆ create() [1/3]

static TSLMultiPolygon * TSLMultiPolygon::create ( TSLFeatureID featureID,
const TSLCoordSet ** parts,
int numParts )
static

Creates a TSLMultiPolygon containing the given coordinates.

Returns a pointer to the TSLMultiPolygon or NULL on error.

featureID: the ID of the feature code to assign to the TSLMultiPolygon This is used when rendering map features if no specific attribute set has been created for the entity.

parts: a pointer to the TSLCoordSets containing the coordinates of the polygon's outer.

numParts: the number of TSLPolygons

◆ create() [2/3]

static TSLMultiPolygon * TSLMultiPolygon::create ( TSLFeatureID featureID,
const TSLEntityReferenceSet * parts )
static

Creates a TSLMultiPolygon containing the given coordinates.

Returns a pointer to the TSLMultiPolygon or NULL on error.

featureID: the ID of the feature code to assign to the TSLMultiPolygon This is used when rendering map features if no specific attribute set has been created for the entity.

parts: a pointer to the TSLEntityReferenceSet containing the TSLMultiPolygon's TSLPolygons.

◆ create() [3/3]

static TSLMultiPolygon * TSLMultiPolygon::create ( TSLFeatureID featureID,
const TSLPolygon ** parts,
int numParts )
static

Creates a TSLMultiPolygon containing the given coordinates.

Returns a pointer to the TSLMultiPolygon or NULL on error.

featureID: the ID of the feature code to assign to the TSLMultiPolygon This is used when rendering map features if no specific attribute set has been created for the entity.

parts: a pointer to the TSLPolygons the TSLMultiPolygon will contain

numParts: the number of TSLPolygons

◆ deletePart()

void TSLMultiPolygon::deletePart ( int index)

Delete the TSLMultiPolygonPart at the given index.

Parameters
indexthe index of the TSLMultiPolygonPart to delete.

◆ isMultiPolygon() [1/2]

static const TSLMultiPolygon * TSLMultiPolygon::isMultiPolygon ( const TSLEntity * entity)
static

Query whether the entity is a multipolygon.

If this entity is a multipolygon, returns an accessor, otherwise returns NULL.

When querying Optimised maps this query may return NULL.

Parameters
entitythe entity to query

◆ isMultiPolygon() [2/2]

static TSLMultiPolygon * TSLMultiPolygon::isMultiPolygon ( TSLEntity * entity)
static

Query whether the entity is a multipolygon.

If this entity is a multipolygon, returns an accessor, otherwise returns NULL.

When querying Optimised maps this query may return NULL.

Parameters
entitythe entity to query

◆ numberOfParts()

int TSLMultiPolygon::numberOfParts ( ) const

Returns the number of parts contained by this TSLMultiPolygon.

◆ partAt()

const TSLMultiPolygonPart * TSLMultiPolygon::partAt ( int index) const

Returns a pointer to the TSLMultiPolygonPart at the given index. Returns NULL if the index is not valid.

Parameters
indexthe index of the TSLMultiPolygonPart to return.

◆ replacePart()

void TSLMultiPolygon::replacePart ( int index,
const TSLPolygon & part )

Replace the part at the given index with the given TSLPolygon.

Parameters
indexindex at which to replace the part.
partthe replacement TSLPolygon.