AreaMassProperties

References
Contains static initialization methods and allows access to the computed metrics of area, area centroid and area moments in closed planar curves, in meshes, in surfaces, in hatches and in boundary representations.

Finalizer

~AreaMassProperties

#
~AreaMassProperties()
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().

Properties

Area

#Since v5.0
public double Area { get; }
Gets the area solution.

AreaError

#Since v5.0
public double AreaError { get; }
Gets the uncertainty in the area calculation.

Centroid

#Since v5.0
public Point3d Centroid { get; }
Gets the area centroid in the world coordinate system.

CentroidCoordinatesMomentsOfInertia

#Since v5.0
public Vector3d CentroidCoordinatesMomentsOfInertia { get; }
Moments of inertia with respect to centroid coordinate system. X = integral of ((y-y0)^2 + (z-z0)^2) dm Y = integral of ((z-z0)^2 + (x-x0)^2) dm Z = integral of ((z-z0)^2 + (y-y0)^2) dm where (x0,y0,z0) = centroid.
Remarks: What is meant by "moments of inertia" varies widely in textbooks and papers. The values returned here are the integrals listed in the Summary section. Some applications may want the values from WorldCoordinatesSecondMoments instead of the values returned here.

CentroidCoordinatesMomentsOfInertiaError

#Since v5.0
public Vector3d CentroidCoordinatesMomentsOfInertiaError { get; }
Uncertainty in centroid coordinates moments of inertia calculation.

CentroidCoordinatesProductMoments

#Since v6.26
public Vector3d CentroidCoordinatesProductMoments { get; }
Product moments with respect to centroid coordinate system.

CentroidCoordinatesProductMomentsError

#Since v6.26
public Vector3d CentroidCoordinatesProductMomentsError { get; }
Uncertainty in product moments with respect to centroid coordinate system.

CentroidCoordinatesRadiiOfGyration

#Since v5.0
public Vector3d CentroidCoordinatesRadiiOfGyration { get; }
Radii of gyration with respect to centroid coordinate system. X = sqrt(integral of ((y-y0)^2 + (z-z0)^2) dm/M) Y = sqrt(integral of ((z-z0)^2 + (x-x0)^2) dm/M) Z = sqrt(integral of ((z-z0)^2 + (y-y0)^2) dm/M) where (x0,y0,z0) = centroid.
Remarks: What is meant by "radii of gyration" varies widely in textbooks and papers. The values returned here are the integrals listed in the Returns section.

CentroidCoordinatesSecondMoments

#Since v5.0
public Vector3d CentroidCoordinatesSecondMoments { get; }
Second moments with respect to centroid coordinate system. X = integral of (x-x0)^2 dm Y = integral of (y-y0)^2 dm Z = integral of (z-z0)^2 dm where (x0,y0,z0) = centroid.

CentroidCoordinatesSecondMomentsError

#Since v5.0
public Vector3d CentroidCoordinatesSecondMomentsError { get; }
Uncertainty in centroid coordinates second moments calculation.

CentroidError

#Since v5.0
public Vector3d CentroidError { get; }
Gets the uncertainty in the centroid calculation.

WorldCoordinatesFirstMoments

#Since v5.0
public Vector3d WorldCoordinatesFirstMoments { get; }
Returns the world coordinate first moments if they were able to be calculated. X is integral of "x dm" over the area Y is integral of "y dm" over the area Z is integral of "z dm" over the area.

WorldCoordinatesFirstMomentsError

#Since v5.0
public Vector3d WorldCoordinatesFirstMomentsError { get; }
Uncertainty in world coordinates first moments calculation.

WorldCoordinatesMomentsOfInertia

#Since v5.0
public Vector3d WorldCoordinatesMomentsOfInertia { get; }
The moments of inertia about the world coordinate axes. X = integral of (y^2 + z^2) dm Y = integral of (z^2 + x^2) dm Z = integral of (z^2 + y^2) dm.
Remarks: What is meant by "moments of inertia" varies widely in textbooks and papers. The values returned here are the integrals listed in the Summary section. Some applications may want the values from WorldCoordinatesSecondMoments instead of the values returned here.

WorldCoordinatesMomentsOfInertiaError

#Since v5.0
public Vector3d WorldCoordinatesMomentsOfInertiaError { get; }
Uncertainty in world coordinates moments of inertia calculation.

WorldCoordinatesProductMoments

#Since v5.0
public Vector3d WorldCoordinatesProductMoments { get; }
Returns the world coordinate product moments if they were able to be calculated. X is integral of "xy dm" over the area Y is integral of "yz dm" over the area Z is integral of "zx dm" over the area.

WorldCoordinatesProductMomentsError

#Since v5.0
public Vector3d WorldCoordinatesProductMomentsError { get; }
Uncertainty in world coordinates second moments calculation.

WorldCoordinatesRadiiOfGyration

#Since v5.0
public Vector3d WorldCoordinatesRadiiOfGyration { get; }
Radii of gyration with respect to world coordinate system. X = sqrt(integral of (y^2 + z^2) dm/M) Y = sqrt(integral of (z^2 + x^2) dm/M) Z = sqrt(integral of (z^2 + y^2) dm/M)
Remarks: What is meant by "radii of gyration" varies widely in textbooks and papers. The values returned here are the integrals listed in the Returns section.

WorldCoordinatesSecondMoments

#Since v5.0
public Vector3d WorldCoordinatesSecondMoments { get; }
Returns the world coordinate second moments if they were able to be calculated. X is integral of "xx dm" over the area Y is integral of "yy dm" over the area Z is integral of "zz dm" over the area.

WorldCoordinatesSecondMomentsError

#Since v5.0
public Vector3d WorldCoordinatesSecondMomentsError { get; }
Uncertainty in world coordinates second moments calculation.

Methods

CentroidCoordinatesPrincipalMoments

#Since v6.9
public bool CentroidCoordinatesPrincipalMoments(out double x, out Vector3d xaxis, out double y, out Vector3d yaxis, out double z, out Vector3d zaxis)
Calculates the eigenvalues and eigenvectors of the moments matrix with respect to centroid coordinates.
x (out double)Principal moment.
xaxis (out Vector3d)Principal axis for x.
y (out double)Principal moment.
yaxis (out Vector3d)Principal axis for y.
z (out double)Principal moment.
zaxis (out Vector3d)Principal axis for z.
true if successful.

CentroidCoordinatesPrincipalMomentsOfInertia

#Since v7.3
public bool CentroidCoordinatesPrincipalMomentsOfInertia(out double x, out Vector3d xaxis, out double y, out Vector3d yaxis, out double z, out Vector3d zaxis)
Calculates the principal moments of inertia and principal axes with respect to centroid coordinates.
x (out double)Principal moment.
xaxis (out Vector3d)Principal axis for x.
y (out double)Principal moment.
yaxis (out Vector3d)Principal axis for y.
z (out double)Principal moment.
zaxis (out Vector3d)Principal axis for z.
true if successful.

Compute

#Since v7.10
public static AreaMassProperties Compute(Brep brep, bool area, bool firstMoments, bool secondMoments, bool productMoments, double relativeTolerance, double absoluteTolerance)
Compute the AreaMassProperties for a single Brep.
brep (Brep)Brep to measure.
area (bool)true to calculate area.
firstMoments (bool)true to calculate area first moments, area, and area centroid.
secondMoments (bool)true to calculate area second moments.
productMoments (bool)true to calculate area product moments.
relativeTolerance (double)The relative tolerance used for the calculation. In overloads of this function where tolerances are not specified, 1.0e-6 is used.
absoluteTolerance (double)The absolute tolerancwe used for the calculation. In overloads of this function where tolerances are not specified, 1.0e-6 is used.
The AreaMassProperties for the given Brep or null on failure.
ArgumentNullExceptionWhen brep is null.

Compute

#Since v6.3
public static AreaMassProperties Compute(Brep brep, bool area, bool firstMoments, bool secondMoments, bool productMoments)
Compute the AreaMassProperties for a single Brep.
brep (Brep)Brep to measure.
area (bool)true to calculate area.
firstMoments (bool)true to calculate area first moments, area, and area centroid.
secondMoments (bool)true to calculate area second moments.
productMoments (bool)true to calculate area product moments.
The AreaMassProperties for the given Brep or null on failure.
ArgumentNullExceptionWhen brep is null.

Compute

#Since v5.0
public static AreaMassProperties Compute(Brep brep)
Computes an AreaMassProperties for a brep.
brep (Brep)Brep to measure.
The AreaMassProperties for the given Brep or null on failure.
ArgumentNullExceptionWhen brep is null.

Compute

#Since v5.0
public static AreaMassProperties Compute(Curve closedPlanarCurve, double planarTolerance)
Computes an AreaMassProperties for a closed planar curve.
closedPlanarCurve (Curve)Curve to measure.
planarTolerance (double)absolute tolerance used to insure the closed curve is planar
The AreaMassProperties for the given curve or null on failure.
ArgumentNullExceptionWhen closedPlanarCurve is null.

Compute

#Since v5.0
public static AreaMassProperties Compute(Curve closedPlanarCurve)
Computes an AreaMassProperties for a closed planar curve.
closedPlanarCurve (Curve)Curve to measure.
The AreaMassProperties for the given curve or null on failure.
ArgumentNullExceptionWhen closedPlanarCurve is null.

Compute

#Since v5.0
public static AreaMassProperties Compute(Hatch hatch)
Computes an AreaMassProperties for a hatch.
hatch (Hatch)Hatch to measure.
The AreaMassProperties for the given hatch or null on failure.
ArgumentNullExceptionWhen hatch is null.

Compute

#Since v6.3
public static AreaMassProperties Compute(IEnumerable<GeometryBase> geometry, bool area, bool firstMoments, bool secondMoments, bool productMoments)
Computes the AreaMassProperties for a collection of geometric objects. At present only Breps, Surfaces, Meshes and Planar Closed Curves are supported.
geometry (IEnumerable<GeometryBase>)Objects to include in the area computation.
area (bool)true to calculate area.
firstMoments (bool)true to calculate area first moments, area, and area centroid.
secondMoments (bool)true to calculate area second moments.
productMoments (bool)true to calculate area product moments.
The AreaMassProperties for the entire collection or null on failure.

Compute

#Since v5.1
public static AreaMassProperties Compute(IEnumerable<GeometryBase> geometry)
Computes the Area properties for a collection of geometric objects. At present only Breps, Surfaces, Meshes and Planar Closed Curves are supported.
geometry (IEnumerable<GeometryBase>)Objects to include in the area computation.
The Area properties for the entire collection or null on failure.

Compute

#Since v6.3
public static AreaMassProperties Compute(Mesh mesh, bool area, bool firstMoments, bool secondMoments, bool productMoments)
Compute the AreaMassProperties for a single Mesh.
mesh (Mesh)Mesh to measure.
area (bool)true to calculate area.
firstMoments (bool)true to calculate area first moments, area, and area centroid.
secondMoments (bool)true to calculate area second moments.
productMoments (bool)true to calculate area product moments.
The AreaMassProperties for the given Mesh or null on failure.
ArgumentNullExceptionWhen mesh is null.

Compute

#Since v5.0
public static AreaMassProperties Compute(Mesh mesh)
Computes an AreaMassProperties for a mesh.
mesh (Mesh)Mesh to measure.
The AreaMassProperties for the given Mesh or null on failure.
ArgumentNullExceptionWhen mesh is null.

Compute

#Since v6.3
public static AreaMassProperties Compute(Surface surface, bool area, bool firstMoments, bool secondMoments, bool productMoments)
Compute the AreaMassProperties for a single Surface.
surface (Surface)Surface to measure.
area (bool)true to calculate area.
firstMoments (bool)true to calculate area first moments, area, and area centroid.
secondMoments (bool)true to calculate area second moments.
productMoments (bool)true to calculate area product moments.
The AreaMassProperties for the given Surface or null on failure.
ArgumentNullExceptionWhen surface is null.

Compute

#Since v5.0
public static AreaMassProperties Compute(Surface surface)
Computes an AreaMassProperties for a surface.
surface (Surface)Surface to measure.
The AreaMassProperties for the given Surface or null on failure.
ArgumentNullExceptionWhen surface is null.

Dispose

#Since v5.0
public void Dispose()
Actively reclaims unmanaged resources that this instance uses.

Dispose

#
protected virtual void Dispose(bool disposing)
For derived class implementers.

This method is called with argument true when class user calls Dispose(), while with argument false when the Garbage Collector invokes the finalizer, or Finalize() method.

You must reclaim all used unmanaged resources in both cases, and can use this chance to call Dispose on disposable fields if the argument is true.

Also, you must call the base virtual method within your overriding method.

disposing (bool)true if the call comes from the Dispose() method; false if it comes from the Garbage Collector finalizer.

Sum

#Since v9.0
public bool Sum(AreaMassProperties summand)
Sum mass properties together to get an aggregate mass.
summand (AreaMassProperties)mass properties to add.
true if successful.

Sum

#Since v9.0
public bool Sum(IEnumerable<AreaMassProperties> summands, bool bAddTo)
Sum mass properties together to get an aggregate mass.
summands (IEnumerable<AreaMassProperties>)An array of mass properties to add.
bAddTo (bool)If true, then the summands are added to the existing mass.
True if successful.

WeightedSum

#Since v9.0
public static AreaMassProperties WeightedSum(IEnumerable<AreaMassProperties> summands, IEnumerable<double> weights)
Sum a list of mass properties together to get an aggregate mass, weighting each by a density factor.Ignores existing mass properties in this object.
summands (IEnumerable<AreaMassProperties>)An array of mass properties to add.
weights (IEnumerable<double>)An array of non-negative densities, of the same length as summands.
An AreaMassProperties containing the result if successful, null if a failure occurs.
ArgumentNullExceptionWhen summands or weights is null.

WorldCoordinatesPrincipalMoments

#Since v6.9
public bool WorldCoordinatesPrincipalMoments(out double x, out Vector3d xaxis, out double y, out Vector3d yaxis, out double z, out Vector3d zaxis)
Calculates the eigenvalues and eigenvectors of moments matrix in world coordinates.
x (out double)Principal moment.
xaxis (out Vector3d)Principal axis for x.
y (out double)Principal moment.
yaxis (out Vector3d)Principal axis for y.
z (out double)Principal moment.
zaxis (out Vector3d)Principal axis for z.
true if successful.

WorldCoordinatesPrincipalMomentsOfInertia

#Since v7.3
public bool WorldCoordinatesPrincipalMomentsOfInertia(out double x, out Vector3d xaxis, out double y, out Vector3d yaxis, out double z, out Vector3d zaxis)
Calculates the principal moments of inertia and principal axes with respect to world coordinates.
x (out double)Principal moment.
xaxis (out Vector3d)Principal axis for x.
y (out double)Principal moment.
yaxis (out Vector3d)Principal axis for y.
z (out double)Principal moment.
zaxis (out Vector3d)Principal axis for z.
true if successful.