ITinSurface2 Interface

Provides access to members that control TIN surfaces.

Members

Name Description
Method AsPolygons Converts the surface to a polygon feature class representing slope or aspect.
Read-only property CanDoCurvature Indicates if earth curvature can be applied.
Method Contour Output contours based on the specified root value and interval.
Method ContourList Output a list of contours corresponding to the specified eleveation values.
Method ConvertToMultiPatches Convert TIN into Multipatches.
Method DecimateNodes Outputs a new TIN with reduced number of nodes.
Method DecimateNodesByCount Outputs a new TIN with reduced number of nodes.
Read-only property Domain The interpolation domain of the surface.
Method FindNormal Restricted.
Method Generalize Outputs a generalized TIN.
Method GeneralizeByNodeCount Outputs a generalized TIN.
Method GetAspectDegrees Returns the aspect at the specified location in degrees.
Method GetAspectRadians Returns the aspect at the specified location in radians.
Method GetContour Returns a countour passing through the queried point.
Method GetElevation Returns the z value of the specified location.
Method GetIntensity Returns the hillshade brightness value of the plane defined by the three points.
Method GetLineOfSight Computes the visibility of a line-of-sight from the observer to the target.
Method GetNormal Returns the normal vector to the specified location.
Method GetPartialVolumeAndArea Returns portion of the TIN's volume above or below an input z value.
Method GetProfile Returns a polyline with z values interpolated from the surface.
Method GetProjectedArea Returns the projected area of the surface above or below an input z value.
Method GetSlopeDegrees Returns the slope at the specified location in degrees.
Method GetSlopePercent Returns the slope at the specified location in percent.
Method GetSlopeRadians Returns the slope at the specified location in radians.
Method GetSteepestPath Returns the steepest path downhill from the specified point.
Method GetSurfaceArea Returns the area measured on its surface above or below an input z value.
Method GetSurfaceElement Returns the surface element at the specified location.
Method GetTriAspectDegrees Restricted.
Method GetTriAspectRadians Restricted.
Method GetTriNormal Restricted.
Method GetTriSlopeDegrees Restricted.
Method GetTriSlopePercent Restricted.
Method GetTriSlopeRadians Restricted.
Method GetUnitTriNormal Restricted.
Method GetVolume Returns the volume above or below an input z value.
Method InterpolateAsMultiPatch Interpolate the input Polygon and output as a Multipatch.
Method InterpolateShape Interpolates z values for a defined geometric shape.
Method InterpolateShapeVertices Interpolates z values for a defined geometric shape at its vertices only.
Method IsVoidZ Returns TRUE if the passed value is equal to the surface's void value.
Method Locate Returns the intersection of the query ray and the surface.
Method LocateAll Returns the distances of intersections of the query ray and the surface.
Method LocateMultiple Returns the intersections of the query ray and the surface.
Method QueryElevationBand Restricted.
Method QueryNormal Returns the vector normal to the specified triangle.
Method QueryPixelBlock Derives slope, aspect, hillshade, or elevation from the input surface and writes the result to the provided PixelBlock.
Method QuerySurfaceLength Returns the length of an input polyline measured on the surface.
Read/write property RasterInterpolationMethod The elevation interpolation method for rasterization.
Read/write property SunPosition The vector indicating the direction of the light source relative to the scene.
Read-only property Z The surface Z = f(x,y).
Read/write property ZFactor Multiplication factor applied to all z values to provide unit-congruency between coordinate components.

ITinSurface2.ConvertToMultiPatches Method

Convert TIN into Multipatches.

Public Sub ConvertToMultiPatches ( _
    ByVal pFeatureClass As IFeatureClass, _
    ByVal maxPatchSize As Integer, _
    ByVal maxStripSize As Integer _
)
public void ConvertToMultiPatches (
    IFeatureClass pFeatureClass,
    int maxPatchSize,
    int maxStripSize
);

Description

Converts the TIN to a feature class comprised of one or more multipatches. To perform this the TIN is turned into triangle strips that are used as parts in output multipatches.

pFeatureClass is the target. It needs to be an existing, empty, multipatch based FeatureClass.

maxPatchSize is the maximum number of triangle strips to use as parts for each output multipatch.

maxStripSize is the maximum number of vertices to use in each triangle strip.

ITinSurface2.DecimateNodes Method

Outputs a new TIN with reduced number of nodes.

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] _
)
public void DecimateNodes (
    IEnvelope pAreaOfInterest,
    double ZTolerance,
    bool bCopyBreakline,
    ref object pMaxRemainingNodeCount,
    ref ITin ppNewTin,
    ref object pbToleranceAchieved
);

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.

ITinSurface2.DecimateNodesByCount Method

Outputs a new TIN with reduced number of nodes.

Public Sub DecimateNodesByCount ( _
    ByVal pAreaOfInterest As IEnvelope, _
    ByVal maxRemainingNodeCount As Integer, _
    ByVal bCopyBreakline As Boolean, _
    ByRef ppNewTin As ITin _
)
public void DecimateNodesByCount (
    IEnvelope pAreaOfInterest,
    int maxRemainingNodeCount,
    bool bCopyBreakline,
    ref ITin ppNewTin
);

Description

Produces an output TIN that is constructed by removing nodes from an input TIN.

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.

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.

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.

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

ITinSurface2.Generalize Method

Outputs a generalized TIN.

Public Sub Generalize ( _
    ByVal pAreaOfInterest As IEnvelope, _
    ByVal ZTolerance As Double, _
    ByRef pMaxRemainingNodeCount As Object, _
    ByRef ppNewTin As ITin, _
    [ByRef pbToleranceAchieved As Object] _
)
public void Generalize (
    IEnvelope pAreaOfInterest,
    double ZTolerance,
    ref object pMaxRemainingNodeCount,
    ref ITin ppNewTin,
    ref object pbToleranceAchieved
);

ITinSurface2.GeneralizeByNodeCount Method

Outputs a generalized TIN.

Public Sub GeneralizeByNodeCount ( _
    ByVal pAreaOfInterest As IEnvelope, _
    ByVal maxRemainingNodeCount As Integer, _
    ByRef ppNewTin As ITin _
)
public void GeneralizeByNodeCount (
    IEnvelope pAreaOfInterest,
    int maxRemainingNodeCount,
    ref ITin ppNewTin
);

ITinSurface2.InterpolateAsMultiPatch Method

Interpolate the input Polygon and output as a Multipatch.

Public Sub InterpolateAsMultiPatch ( _
    ByVal pShape As IPolygon, _
    ByVal maxStripSize As Integer, _
    ByRef ppMultiPatch As IMultiPatch _
)
public void InterpolateAsMultiPatch (
    IPolygon pShape,
    int maxStripSize,
    ref IMultiPatch ppMultiPatch
);

Description

Takes a 2-D polygon and converts it into a multipatch which, by definition, is 3-D. The polygon boundary heights are interpolated from the TIN using linear interpolation. The triangles from the TIN, along with the integrated polygon boundary, are extracted as triangle strips. The strips are used to populate the output multipatch geometry.

pShape is the input polygon.

MaxStripSize controls the maximum number of points used to create an individual triangle strip. Note that each multipatch is usually comprised of multiple strips. The value must be 3 or larger. The recommended range is between 128 and 2048.

pMultiPatch is the resulting geometry. What you provide for this parameter need not reference an instantiated object. Just provide an interface pointer and the function will create the multipatch.

ITinSurface2.LocateMultiple Method

Returns the intersections of the query ray and the surface.

Public Function LocateMultiple ( _
    ByVal pRay As IRay _
) As IMultipoint
public IMultipoint LocateMultiple (
    IRay pRay
);

Description

Returns the intersection points between a 3D ray and the surface.

The returned multipoint will contain 0..n points depending on the number of intersections between the ray and the surface.

Notes:

Consider using ITinSurface3.QueryLocate or ITinSurface3.QueryLocateWithinDistance when inside a loop, for the sake of efficiency, since those methods allow you to reuse output point and multipoint objects whereas this method always creates new ones.

Inherited Interfaces

Interfaces Description
ITinSurface Provides access to members that control TIN surfaces.
ISurface Provides access to members that control surfaces.
IFunctionalSurface Provides access to information about the functional surface, generating heights given x,y locations. Also see IFunctionalSurface2.

Classes that implement ITinSurface2

Classes Description
Tin The Esri TIN component.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.