Extract part of the TIN.
[Visual Basic .NET] Public Function Extract ( _ ByVal pBoundary As IPolygon, _ ByVal boundaryEdgeType As esriTinEdgeType, _ ByVal boundaryEdgeValue As Integer, _ ByVal bConstrainedDelaunay As Boolean, _ ByVal bAllowEdgeSwapping As Boolean _ ) As ITin
[C#] public ITin Extract ( IPolygon pBoundary, esriTinEdgeType boundaryEdgeType, int boundaryEdgeValue, bool bConstrainedDelaunay, bool bAllowEdgeSwapping );
[C++]
HRESULT Extract(
IPolygon* pBoundary,
esriTinEdgeType boundaryEdgeType,
long boundaryEdgeValue,
VARIANT_BOOL bConstrainedDelaunay,
VARIANT_BOOL bAllowEdgeSwapping,
ITin** ppSubTin
);
[C++]Parameters
pBoundary [in]pBoundary is a parameter of type IPolygon
boundaryEdgeType [in]boundaryEdgeType is a parameter of type esriTinEdgeType
boundaryEdgeValue [in] boundaryEdgeValue is a parameter of type long bConstrainedDelaunay [in] bConstrainedDelaunay is a parameter of type VARIANT_BOOL bAllowEdgeSwapping [in] bAllowEdgeSwapping is a parameter of type VARIANT_BOOL ppSubTin [out, retval]ppSubTin is a parameter of type ITin
Product Availability
Description
Extracts a subarea from the source TIN into a new TIN.
pBoundary is a polygon that defines the area to be extracted. This polygon will be profiled using linear interpolation on the source TIN. This profiled polygon, along with the data inside it from the source TIN, will then be used to construct the output TIN. If there's no overlap between the data area of the source TIN and the polygon the result will be NULL.
boundaryEdgeType is an esriTinEdgeType used to control whether the boundary polygon is enforced using hard, soft, or regular edges.
boundaryEdgeValue is the tag value associated with the boundary edges. Set this to 0 if you're not interested in using specific edge tag values.
bConstrainedDelaunay is used to control the type of output TIN when the input is delaunay conforming. In this case you have the option of keeping the result conforming or converting it to constrained. The benefit of having it constrained is you get a best fit match between input and output surface without the need to add densification points. The drawback is the natural neighbors interpolator can't be used on a constrained TIN. If the input is already constrained this property has no effect; the result will be constrained.
bAllowEdgeSwapping is used to control the quality of fit between the input and output surfaces when both are delaunay conforming. This means the input must be delaunay and bConstrainedDelaunay is set to FALSE. If these conditions are met, setting bAllowEdgeSwapping to FALSE will force a best fit match between the surfaces at the expense of the output having nodes added where necessary to enforce that match. Setting it to TRUE will permit some differences between the input and output surfaces. Relaxing the need for an exact match has the benefit of requiring less nodes be added to the output TIN.
Notes:
- The returned TIN will be in edit mode. Use ITinEdit.SaveAs or ITinAdvanced2.SaveAsVersion followed by ITinEdit.StopEditing (with the param for SaveEdits set to False) to save the TIN to disk.
- In the above descriptions, the 'match' between the input and output surface is used to describe how the surface geometry of the input and output surfaces compare. Generally, the 2D triangulation of the best fit surface is not identical to the input, but the 3D planar surface definition, as defined by the linearly interpolated value of Z at a given XY, is the same.