|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ITinSurface2
Provides access to members that control TIN surfaces.
Method Summary | |
---|---|
void |
convertToMultiPatches(IFeatureClass pFeatureClass,
int maxPatchSize,
int maxStripSize)
Convert TIN into Multipatches. |
void |
decimateNodes(IEnvelope pAreaOfInterest,
double zTolerance,
boolean bCopyBreakline,
Object pMaxRemainingNodeCount,
ITin[] ppNewTin,
Object[] pbToleranceAchieved)
Outputs a new TIN with reduced number of nodes. |
void |
decimateNodesByCount(IEnvelope pAreaOfInterest,
int maxRemainingNodeCount,
boolean bCopyBreakline,
ITin[] ppNewTin)
Outputs a new TIN with reduced number of nodes. |
void |
interpolateAsMultiPatch(IPolygon pShape,
int maxStripSize,
IMultiPatch[] ppMultiPatch)
Interpolate the input Polygon and output as a Multipatch. |
IMultipoint |
locateMultiple(IRay pRay)
Returns the intersections of the query ray and the surface. |
Methods inherited from interface com.esri.arcgis.geodatabase.ITinSurface |
---|
getIntensity, getPartialVolumeAndArea, getRasterInterpolationMethod, getSunPosition, getSurfaceElement, setRasterInterpolationMethod, setSunPosition |
Methods inherited from interface com.esri.arcgis.geodatabase.ISurface |
---|
asPolygons, contour, contourList, getAspectDegrees, getAspectRadians, getContour, getElevation, getLineOfSight, getProfile, getProjectedArea, getSlopeDegrees, getSlopePercent, getSlopeRadians, getSteepestPath, getSurfaceArea, getVolume, getZFactor, interpolateShape, interpolateShapeVertices, isVoidZ, locate, locateAll, queryNormal, queryPixelBlock, querySurfaceLength, setZFactor |
Methods inherited from interface com.esri.arcgis.geometry.IFunctionalSurface |
---|
getDomain, getZ |
Method Detail |
---|
void interpolateAsMultiPatch(IPolygon pShape, int maxStripSize, IMultiPatch[] ppMultiPatch) throws IOException, AutomationException
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.
pShape
- A reference to a com.esri.arcgis.geometry.IPolygon (in)maxStripSize
- The maxStripSize (in)ppMultiPatch
- A reference to a com.esri.arcgis.geometry.IMultiPatch (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void convertToMultiPatches(IFeatureClass pFeatureClass, int maxPatchSize, int maxStripSize) throws IOException, AutomationException
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.
pFeatureClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)maxPatchSize
- The maxPatchSize (in)maxStripSize
- The maxStripSize (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void decimateNodes(IEnvelope pAreaOfInterest, double zTolerance, boolean bCopyBreakline, Object pMaxRemainingNodeCount, ITin[] ppNewTin, Object[] pbToleranceAchieved) throws IOException, AutomationException
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.
pAreaOfInterest
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)zTolerance
- The zTolerance (in)bCopyBreakline
- The bCopyBreakline (in)pMaxRemainingNodeCount
- A Variant (in)ppNewTin
- A reference to a com.esri.arcgis.geodatabase.ITin (out: use single element array)pbToleranceAchieved
- A Variant (in/out: use single element array, optional, pass single element of null if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void decimateNodesByCount(IEnvelope pAreaOfInterest, int maxRemainingNodeCount, boolean bCopyBreakline, ITin[] ppNewTin) throws IOException, AutomationException
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.
pAreaOfInterest
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)maxRemainingNodeCount
- The maxRemainingNodeCount (in)bCopyBreakline
- The bCopyBreakline (in)ppNewTin
- A reference to a com.esri.arcgis.geodatabase.ITin (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IMultipoint locateMultiple(IRay pRay) throws IOException, AutomationException
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.
pRay
- A reference to a com.esri.arcgis.geometry.IRay (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |