The MESH_VOLUME function computes the volume that the mesh encloses. A region that a mesh encloses has a positive value for its volume when it is enclosed by mesh polygons that face outward from the enclosed region. Outward-facing polygons follow the convention of their vertices being ordered in a counter-clockwise direction while observing the polygon from the outside of the enclosed region. Likewise, a region has a negative value for its volume when it is enclosed by polygons that face inward to the enclosed region.
A single mesh may contain regions that have positive and negative volume values. This function adds these signed values together to produce a single volume value that takes into account the total of all positive regions minus any “holes” or subtractions specified by the negative regions.
If the SIGNED keyword is not specified, IDL returns the absolute value of the volume, which may be useful in situations where the polygon vertex ordering convention is unknown or opposite of the convention described above.
Syntax
Result = MESH_VOLUME ( Verts, Conn [, /SIGNED] )
Return Value
Returns the volume that the mesh encloses. If the mesh does not enclose space (i.e. MESH_ISSOLID( ) would return 0), this function returns 0.0.
Note: The input polygonal mesh is assumed to contain only planar, convex polygons.
Arguments
Verts
Array of polygonal vertices [3, n].
Conn
Polygonal mesh connectivity array.
Keywords
SIGNED
Set this keyword to compute the signed volume. The sign will be negative for a mesh consisting of inward facing polygons.
Version History
See Also
MESH_CLIP, MESH_DECIMATE, MESH_ISSOLID, MESH_MERGE, MESH_NUMTRIANGLES, MESH_OBJ, MESH_SMOOTH, MESH_SURFACEAREA, MESH_VALIDATE