IArea3D Interface

Provides access to members that return properties common to MultiPatches.

Description

Implemented for Multipatches and Polygons. Returns the 3D surface area of the geometry. Outputs the 3D centroid and label point, both useful for labeling purposes. In contrast to the centroid and label point returned via IArea, the 3D centroid and label point take into account the ZMax of the geometry queried.

Members

Name Description
Read-only property Area3D The 3D surface area.
Read-only property Centroid3D A 3D point whose XY coordinates are set to the center of gravity of the shape'ss 2D footprint and Z set to the shape's ZMax.
Read-only property LabelPoint3D A point guaranteed to be on this 3D surface area.
Method QueryCentroid3D Copies the centroid of this 3D surface area to the specified point.
Method QueryLabelPoint3D Copies to the input point a point guaranteed to be on this 3D surface area.

IArea3D.Area3D Property

The 3D surface area.

Public ReadOnly Property Area3D As Double
public double Area3D {get;}

Remarks

If Patches comprising a MultiPatch geometry have improperly ordered vertices such that positive faces are not pointing outwards, a negative 3D surface area will be returned. To ensure proper orientation, add vertices in a clockwise manner relative to an observer situated outside of the MultiPatch geometry.

public static void CalculateArea3D()

          {

                  IGeometry  multiPatchGeometry = GetMultiPatchGeometry();

 

                 IArea3D area3D = multiPatchGeometry as IArea3D;



                double calculatedArea3D = area3D.Area3D;

 

                 //calculatedArea3D = 480

        }

IArea3D.Centroid3D Property

A 3D point whose XY coordinates are set to the center of gravity of the shape'ss 2D footprint and Z set to the shape's ZMax.

Public ReadOnly Property Centroid3D As IPoint
public IPoint Centroid3D {get;}
public static void GetCentroid3D()

          {

                  IGeometry  multiPatchGeometry = GetMultiPatchGeometry();

 

                 IArea3D area3D = multiPatchGeometry as IArea3D;



                IPoint centroid3D = area3D.Centroid3D;

 

                 //centroid3D = (0, 0, 8.5)

        }

IArea3D.LabelPoint3D Property

A point guaranteed to be on this 3D surface area.

Public ReadOnly Property LabelPoint3D As IPoint
public IPoint LabelPoint3D {get;}
public static void GetLabelPoint3D()

          {

                  IGeometry  multiPatchGeometry = GetMultiPatchGeometry();

 

                 IArea3D area3D = multiPatchGeometry as IArea3D;



                IPoint labelPoint3D = area3D.LabelPoint3D;

 

                 //labelPoint3D = (-2.5, -2.5, 8.5)

        }

IArea3D.QueryCentroid3D Method

Copies the centroid of this 3D surface area to the specified point.

Public Sub QueryCentroid3D ( _
    ByVal Center As IPoint _
)
public void QueryCentroid3D (
    IPoint Center
);
public static void QueryCentroid3D()

          {

                  IGeometry  multiPatchGeometry = GetMultiPatchGeometry();

 

                 IArea3D area3D = multiPatchGeometry as IArea3D;



                IPoint centroid3D = new PointClass();

 

                area3D.QueryCentroid3D(centroid3D);

 

                 //centroid3D = (0, 0, 8.5)

        }

IArea3D.QueryLabelPoint3D Method

Copies to the input point a point guaranteed to be on this 3D surface area.

Public Sub QueryLabelPoint3D ( _
    ByVal LabelPoint As IPoint _
)
public void QueryLabelPoint3D (
    IPoint LabelPoint
);
public static void QueryLabelPoint3D()

          {

                  IGeometry  multiPatchGeometry = GetMultiPatchGeometry();

 

                 IArea3D area3D = multiPatchGeometry as IArea3D;



                IPoint labelPoint3D = new PointClass();

 

                area3D.QueryLabelPoint3D(labelPoint3D);

 

                 //labelPoint3D = (-2.5, -2.5, 8.5)

        }

Classes that implement IArea3D

Classes Description
Envelope A rectangle with sides parallel to a coordinate system defining the extent of another geometry; optionally has min and max measure, height and ID attributes.
MultiPatch A collection of surface patches.
Polygon A collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.