This document is archived and information here might be outdated. Recommended version. |
ArcObjects Help for .NET developers > ArcObjects namespaces > Geometry > ESRI.ArcGIS.Geometry > Interfaces > IT > ITransform3D Interface > ITransform3D.ProjectToPlane Method (ArcObjects .NET 10.5 SDK) |
Generates a polygon footprint for the object in an arbitrary plane. The footprint may have multiple parts.
[Visual Basic .NET] Public Function ProjectToPlane ( _ ByVal planarOrigin As IPoint, _ ByVal planarPositiveX As IVector3D, _ ByVal planarNorm As IVector3D _ ) As IGeometry
[C#] public IGeometry ProjectToPlane ( IPoint planarOrigin, IVector3D planarPositiveX, IVector3D planarNorm );
[C++]
HRESULT ProjectToPlane(
IPoint* planarOrigin,
IVector3D* planarPositiveX,
IVector3D* planarNorm,
IGeometry** footprint
);
[C++]
Parameters planarOrigin
planarOrigin is a parameter of type IPoint planarPositiveX
planarPositiveX is a parameter of type IVector3D planarNorm
planarNorm is a parameter of type IVector3D footprint [out, retval]
footprint is a parameter of type IGeometry
public static void TransformMultiPatchGeometry()
{
//Transform3D: Cylinder Projected To XY Plane Via ProjectToPlane()
//Define Origin At Which ProjectToPlane Operation Should Be Performed
IPoint planarOriginPoint=ConstructPoint3D(0, 0, 0);
//Construct A Vector3D Corresponding To The Positive X Vector
IVector3D planarPositiveXVector3D=ConstructVector3D(10, 0, 0);
//Construct A Vector3D Corresponding To The Normal Vector
IVector3D planarNormalVector3D=ConstructVector3D(0, 0, 10);
IGeometry geometry=GetMultiPatchGeometry();
ITransform3D transform3D=geometry as ITransform3D;
IGeometry projectedGeometry =
transform3D.ProjectToPlane(
planarOriginPoint,
planarPositiveXVector3D,
planarNormalVector3D
);
}
private static IVector3D ConstructVector3D(double xComponent, double yComponent, double zComponent)
{
IVector3D vector3D = new Vector3DClass();
vector3D.SetComponents(xComponent, yComponent, zComponent);
return vector3D;
}