IMap.Barriers Property (ArcObjects .NET 10.6 SDK)
ArcObjects Library Reference (Carto)  

IMap.Barriers Property

The list of barriers and their weight for labeling.

[Visual Basic .NET]
Public Function get_Barriers ( _
    ByVal pExtent As IEnvelope _
) As IBarrierCollection
public IBarrierCollection get_Barriers (
    IEnvelope pExtent
HRESULT get_Barriers(
  IEnvelope* pExtent,
  IBarrierCollection** Barriers

Parameters pExtent
pExtent is a parameter of type IEnvelope* Barriers [out, retval]
Barriers is a parameter of type IBarrierCollection**

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Returns a reference to the BarrierCollection object.  The BarrierCollection object contains a collection of geometries used for over posting calculations during labeling.  An item in the BarrierCollection is made up of a GeometryCollection and a Weight.  Each item corresponds to a graphics layer and the geometries of all the graphics in that layer are stored in the GeometryCollection.  The Weight is an esriBasicOverPosterWeight and it stores the level of importance a barrier item has.

A map that has no labels or annotation can still have a IBarrierCollection::Count of one.  This is because every Map has a Basics Graphics Layer which cannot be deleted and this layer has a barrier weight by default.  Each additional graphics layer, feature annotation layer (FDOGraphicsLayer) or a Annotation Group/Target Layer (GraphicsLayer), added to the Map will increase the Count by one.

The Barriers property requires an IEnvelope.  Use IDisplayTransformation::Bounds to get an IEnvelope that represents the Map's full extent.  If you are labelling in just a small area use IDisplayTransformation::FittedBounds which is the current view extent.



0 - esriNoWeight - ok to over post
1 - esriLowWeight
2 - esriMediumWeight
3 - esriHighWeight - do not over post

See Also

IMap Interface