This document is archived and information here might be outdated.  Recommended version.

IGeometryBridge.Densify Method (ArcObjects .NET 10.8 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > Geometry > ESRI.ArcGIS.Geometry > Interfaces > IG > IGeometryBridge Interface > IGeometryBridge.Densify Method
ArcGIS Developer Help

IGeometryBridge.Densify Method

Densify segment into the specified number of smaller segments.

[Visual Basic .NET]
Public Sub Densify ( _
    ByVal pSegment As ISegment, _
    ByVal maxDeviation As Double, _
    ByRef pcOutSegments As Integer, _
    ByRef segments As ILine[] _
public void Densify (
    ISegment pSegment,
    double maxDeviation,
    ref int pcOutSegments,
    ref ILine[] segments
HRESULT Densify(
  ISegment* pSegment,
  double maxDeviation,
  System.Int32* pcOutSegments,
  SAFEARRAY(ILine)** segments
pSegment [in]

pSegment is a parameter of type ISegment* maxDeviation
maxDeviation is a parameter of type double pcOutSegments [in, out]
pcOutSegments is a parameter of type long* segments [in, out]
segments is a parameter of type SAFEARRAY(ILine*)*

Product Availability

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


All development languages compatible version of ISegment::Densify .


    //This method demonstrates how to use the ISegment.Densify method
    private void Densify()
        //Create a new closed Circular Arc segment
        IPoint center = new PointClass();
        center.PutCoords(0, 0);
        IPoint fromToPoint = new PointClass();
        fromToPoint.PutCoords(10, 10);
        ICircularArc circularArc = new CircularArcClass();
        circularArc.PutCoords(center, fromToPoint, fromToPoint, esriArcOrientation.esriArcClockwise);
        ISegment segment = circularArc as ISegment;

        //Call densify
        //maxDeviation: 0.1, tells the method that the segment must not further
        //                    a part from that distance from the curve
        //outSegments: output parameter returning the the number of segments created
        //outSegmentsArray: array will contain the output segments.
        //The array size is the max number of parts

        ILine[] outSegmentsArray = new ILine[7];
        double maxDeviation = 0.1;
        int outSegments = 0;
        IGeometryBridge geometryBridge = new GeometryEnvironmentClass();
        geometryBridge.Densify(segment, maxDeviation, ref outSegments, ref outSegmentsArray);
        System.Windows.Forms.MessageBox.Show("The segment array contains : " + outSegments + " segments");

See Also

IGeometryBridge Interface