Partager via


Geometry.ComputeBoundingBox Method

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Computes a coordinate-axis-oriented bounding box.

Namespace:  Microsoft.WindowsMobile.DirectX.Direct3D
Assembly:  Microsoft.WindowsMobile.DirectX (in Microsoft.WindowsMobile.DirectX.dll)

Syntax

'Declaration
Public Shared Sub ComputeBoundingBox ( _
    pointsFvf As GraphicsStream, _
    numPoints As Integer, _
    vertexFormat As VertexFormats, _
    <OutAttribute> ByRef min As Vector3, _
    <OutAttribute> ByRef max As Vector3 _
)
'Usage
Dim pointsFvf As GraphicsStream
Dim numPoints As Integer
Dim vertexFormat As VertexFormats
Dim min As Vector3
Dim max As Vector3

Geometry.ComputeBoundingBox(pointsFvf, _
    numPoints, vertexFormat, min, max)
public static void ComputeBoundingBox(
    GraphicsStream pointsFvf,
    int numPoints,
    VertexFormats vertexFormat,
    out Vector3 min,
    out Vector3 max
)
public:
static void ComputeBoundingBox(
    GraphicsStream^ pointsFvf, 
    int numPoints, 
    VertexFormats vertexFormat, 
    [OutAttribute] Vector3% min, 
    [OutAttribute] Vector3% max
)
static member ComputeBoundingBox : 
        pointsFvf:GraphicsStream * 
        numPoints:int * 
        vertexFormat:VertexFormats * 
        min:Vector3 byref * 
        max:Vector3 byref -> unit 

Parameters

Exceptions

Exception Condition
InvalidCallException

The method call is invalid. For example, a method's parameter might contain an invalid value.

Examples

The following example demonstrates how to use the ComputeBoundingBox method.

' Create several meshes and associated data.
Dim i As Integer
For i = 0 To numberOfMeshes
    Dim vertexData As GraphicsStream

    meshes(i) = Mesh.Box(device, 1F, 1F, 1F)

    ' Arrange the boxes in a grid, with each
    ' successive box farther in the distance.
    meshLocations(i) = New Vector3((i Mod 3) * 2 - 2, i / 3 * 2 - 2, i)

    ' Compute the bounding box for a mesh.
    Dim description As VertexBufferDescription = meshes(i).VertexBuffer.Description
    vertexData = meshes(i).VertexBuffer.Lock(0, 0, LockFlags.ReadOnly)
    Geometry.ComputeBoundingBox(vertexData, meshes(i).NumberVertices, description.VertexFormat, meshBoundingBoxMinValues(i), meshBoundingBoxMaxValues(i))
    meshes(i).VertexBuffer.Unlock()
Next i
// Create several meshes and associated data.
for (int i = 0; i < numberOfMeshes; i++)
{
    GraphicsStream vertexData;

    meshes[i] = Mesh.Box(device, 1.0f, 1.0f, 1.0f);

    // Arrange the boxes in a grid, with each
    // successive box farther in the distance.
    meshLocations[i] = new Vector3(((i % 3) * 2) - 2,
                                ((i / 3) * 2) - 2, i);

    // Compute the bounding box for a mesh.
    VertexBufferDescription description =
        meshes[i].VertexBuffer.Description;
    vertexData = meshes[i].VertexBuffer.Lock
                             (0, 0, LockFlags.ReadOnly);
    Geometry.ComputeBoundingBox(vertexData,
        meshes[i].NumberVertices,description.VertexFormat,
        out meshBoundingBoxMinValues[i],
        out meshBoundingBoxMaxValues[i]);
    meshes[i].VertexBuffer.Unlock();
}

.NET Framework Security

Platforms

Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Version Information

.NET Compact Framework

Supported in: 3.5, 2.0

See Also

Reference

Geometry Class

Geometry Members

Microsoft.WindowsMobile.DirectX.Direct3D Namespace