This document is archived and information here might be outdated. Recommended version. |
ArcObjects Help for .NET developers > ArcObjects namespaces > Geometry > ESRI.ArcGIS.Geometry > Interfaces > IP > IPolycurve3D Interface > IPolycurve3D.Generalize3D Method (ArcObjects .NET 10.5 SDK) |
Generalizes this polycurve using the Douglas-Poiker algorithm.
[Visual Basic .NET] Public Sub Generalize3D ( _ ByVal maxAllowableOffset As Double _ )
[C#] public void Generalize3D ( double maxAllowableOffset );
[C++]
HRESULT Generalize3D(
double maxAllowableOffset
);
[C++]
Parameters maxAllowableOffset maxAllowableOffset is a parameter of type double
Generalizes each part of a Polycurve into a generalized collection of Line segments. Generalize3D performs a Douglas-Poiker Generalization algorithm, extended to operate in 3D space, with a specified maximum offset tolerance, given in 3D, as input. For Line segments, the Generalized output is a subset of the original input vertices. For non-Linear segments, the Generalized output contains points along all parts of the curve, not necessarily only the vertices.
public static void Generalize3D()
{
const double GeneralizeMaxAllowableOffset=2.229;
IGeometry polylineGeometry=GetPolylineGeometry();
IPolycurve3D polycurve3D = polylineGeometry as IPolycurve3D;
polycurve3D.Generalize3D(GeneralizeMaxAllowableOffset);
ITopologicalOperator topologicalOperator=polylineGeometry as ITopologicalOperator;
topologicalOperator.Simplify();
}