ArcObjects Library Reference (Geometry)  

ITransform3D.ProjectToPlane Method

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
public IGeometry ProjectToPlane (
    IPoint planarOrigin,
    IVector3D planarPositiveX,
    IVector3D planarNorm
HRESULT ProjectToPlane(
  IPoint* planarOrigin,
  IVector3D* planarPositiveX,
  IVector3D* planarNorm,
  IGeometry** footprint



  planarOrigin is a parameter of type IPoint


  planarPositiveX is a parameter of type IVector3D


  planarNorm is a parameter of type IVector3D

footprint [out, retval]

  footprint is a parameter of type IGeometry

Product Availability

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


        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 =







        private static IVector3D ConstructVector3D(double xComponent, double yComponent, double zComponent)


            IVector3D vector3D = new Vector3DClass();

            vector3D.SetComponents(xComponent, yComponent, zComponent);


            return vector3D;


See Also

ITransform3D Interface