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


ITinSurface2.DecimateNodes Method (ArcObjects .NET 10.8 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > Geodatabase > ESRI.ArcGIS.GeoDatabase > Interfaces > IT > ITinSurface2 Interface > ITinSurface2.DecimateNodes Method
ArcGIS Developer Help

ITinSurface2.DecimateNodes Method

Outputs a new TIN with reduced number of nodes.

[Visual Basic .NET]
Public Sub DecimateNodes ( _
    ByVal pAreaOfInterest As IEnvelope, _
    ByVal ZTolerance As Double, _
    ByVal bCopyBreakline As Boolean, _
    ByRef pMaxRemainingNodeCount As Object, _
    ByRef ppNewTin As ITin, _
    [ByRef pbToleranceAchieved As Object] _
)
[C#]
public void DecimateNodes (
    IEnvelope pAreaOfInterest,
    double ZTolerance,
    bool bCopyBreakline,
    ref object pMaxRemainingNodeCount,
    ref ITin ppNewTin,
    ref object pbToleranceAchieved
);
[C++]
HRESULT DecimateNodes(
  IEnvelope* pAreaOfInterest,
  double ZTolerance,
  VARIANT_BOOL bCopyBreakline,
  Variant* pMaxRemainingNodeCount,
  ITin** ppNewTin,
  Variant* pbToleranceAchieved
);
[C++]
Parameters
pAreaOfInterest [in]

pAreaOfInterest is a parameter of type IEnvelope* ZTolerance [in]
ZTolerance is a parameter of type double bCopyBreakline [in]
bCopyBreakline is a parameter of type bool pMaxRemainingNodeCount [in]
pMaxRemainingNodeCount is a parameter of type VARIANT* ppNewTin [out]
ppNewTin is a parameter of type ITin** pbToleranceAchieved
pbToleranceAchieved is a parameter of type VARIANT*

Product Availability

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

Description

Produces an output TIN that is constructed by removing nodes from an input TIN. The resulting TIN's linearly interpolated surface is within a user specified vertical tolerance of the input.

pAreaOfInterest is an Envelope that constrains where nodes are removed. This can be a NULL pointer ('Nothing' in VB) in which case the entire data area of the input TIN is used.

zTolerance is the maximum amount of height the output TIN is allowed to deviate fom the input. Specify a value in units equal to the Z units of the input.

bCopyBreaklines is an optional boolean parameter, which defaults to FALSE, used to indicate whether breaklines should be copied from the input TIN to the output. These are not generalized in any way. Note, this parameter is in reference to breaklines on the inside of the TIN. The data area boundary is always copied into the output TIN as a breakline, regardless of the setting of this parameter, in order to properly enforce the interpolation zone.

maxRemainingNodeCount is an estimate of the maximum number of nodes allowed in the output TIN. The decimation process will stop when the output TIN has exceeded this count. If this happens, the vertical tolerance has not been achieved and the output parameter bToleranceAchieved will be set to FALSE. By default, this parameter is not set, there is no maximum limit of nodes.

pNewTin is the output TIN. Pass a compatible TIN interface pointer (e.g. ITin) to receive the object.

bToleranceAchieved is an optional output boolean parameter. It's set to TRUE if the zTolerance is achieved or FALSE if not because a specified maxRemainingNodeCount was reached.

See Also

ITinSurface2 Interface