This document is archived and information here might be outdated.  Recommended version.


ITransform3D.ProjectToPlane Method (ArcObjects .NET 10.5 SDK)
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
[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

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.
[C#]

 

        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;

        }



See Also

ITransform3D Interface