Microsoft DirectX 9.0 SDK Update (October 2004)

SimplificationMesh.Clone Method

Language:

Note: This documentation is preliminary and is subject to change.
How Do I...?

Clones, or copies, a SimplificationMesh object.

Definition

Visual Basic .NET Public Function Clone( _
    ByVal options As MeshFlags, _
    ByVal vertexFormat As VertexFormats, _
    ByVal device As Device, _
    ByRef adjacencyOut As Integer, _
    ByRef vertexRemap As Integer _
) As Mesh
C# public Mesh Clone(
    MeshFlags options,
    VertexFormats vertexFormat,
    Device device,
    out int adjacencyOut,
    out int vertexRemap
);
Managed C++ public: Mesh* Clone(
    MeshFlags options,
    VertexFormats vertexFormat,
    Device *device,
    int *adjacencyOut,
    int *vertexRemap
);
JScript .NET public function Clone(
    options : MeshFlags,
    vertexFormat : VertexFormats,
    device : Device,
    adjacencyOut : int,
    vertexRemap : int
) : Mesh;

Parameters

options Microsoft.DirectX.Direct3D.MeshFlags. Mesh creation options, indicated through one or more MeshFlags flags (excepting the Simplify* and Optimize* flags).
vertexFormat Microsoft.DirectX.Direct3D.VertexFormats. Vertex format of the mesh, indicated by one or more VertexFormats members.
device Microsoft.DirectX.Direct3D.Device. The Device object associated with the mesh.
adjacencyOut System.Int32[]. Array of three Int32 Leave Site values per face that specifies the three neighbors for each face in the source mesh.
vertexRemap System.Int32[]. Array that contains the index for each vertex.

Return Value

Microsoft.DirectX.Direct3D.Mesh . Address of a pointer to a Mesh object that represents the cloned mesh.

Remarks

Exceptions
InvalidCallException The method call is invalid. For example, a method's parameter might contain an invalid value.
OutOfMemoryException Leave Site Microsoft® Direct3D® could not allocate sufficient memory to complete the call.

How Do I...?

Simplify a Mesh

This example demonstrates how to simplify a mesh.

The mesh is simplified by 25 vertices.

In the following C# code example, mesh is assumed to be a Mesh instance that has been properly loaded and cleaned, adjacency is a GraphicsStream instance that contains the mesh adjacency data, and device is the rendering Device.

              [C#]
              
SimplificationMesh simplifiedMesh = new SimplificationMesh(mesh, adjacency); simplifiedMesh.ReduceVertices(mesh.NumberVertices - 25); mesh.Dispose(); mesh = simplifiedMesh.Clone(simplifiedMesh.Options.Value, simplifiedMesh.VertexFormat, device); simplifiedMesh.Dispose();

See Also


© 2004 Microsoft Corporation. All rights reserved. Terms of use.

Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center