This document is archived and information here might be outdated. Recommended version. |
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
);
[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*
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;
}