public class

Mesh

extends Object
java.lang.Object
   ↳ android.renderscript.Mesh

Class Overview

This class is a container for geometric data displayed with Renderscript. Internally, a mesh is a collection of allocations that represent vertex data (positions, normals, texture coordinates) and index data such as triangles and lines.

Vertex data could either be interleaved within one allocation that is provided separately, as multiple allocation objects, or done as a combination of both. When a vertex channel name matches an input in the vertex program, Renderscript automatically connects the two together.

Parts of the mesh can be rendered with either explicit index sets or primitive types.

Summary

Nested Classes
class Mesh.AllocationBuilder Mesh builder object. 
class Mesh.Builder Mesh builder object. 
enum Mesh.Primitive Describes the way mesh vertex data is interpreted when rendering  
class Mesh.TriangleMeshBuilder Builder that allows creation of a mesh object point by point and triangle by triangle  
Public Methods
synchronized void destroy()
destroy disconnects the object from the native object effectivly rendering this java object dead.
Allocation getIndexSetAllocation(int slot)
Mesh.Primitive getPrimitive(int slot)
int getPrimitiveCount()
Allocation getVertexAllocation(int slot)
int getVertexAllocationCount()
void setName(String name)
setName assigns a name to an object.
Protected Methods
void finalize()
Called before the object's memory is reclaimed by the VM.
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public synchronized void destroy ()

Since: API Level 11

destroy disconnects the object from the native object effectivly rendering this java object dead. The primary use is to force immediate cleanup of resources when its believed the GC will not respond quickly enough.

public Allocation getIndexSetAllocation (int slot)

Since: API Level 11

Parameters
slot locaton within the list of index set allocation
Returns
  • allocation containing primtive index data or null if the index data is not specified explicitly

public Mesh.Primitive getPrimitive (int slot)

Since: API Level 11

Parameters
slot locaiton within the list of index set primitives
Returns
  • index set primitive type

public int getPrimitiveCount ()

Since: API Level 11

Returns
  • number of primitives or index sets in the mesh

public Allocation getVertexAllocation (int slot)

Since: API Level 11

Parameters
slot index in the list of allocations to return
Returns
  • vertex data allocation at the given index

public int getVertexAllocationCount ()

Since: API Level 11

Returns
  • number of allocations containing vertex data

public void setName (String name)

Since: API Level 11

setName assigns a name to an object. This object can later be looked up by this name. This name will also be retained if the object is written to an A3D file.

Parameters
name The name to assign to the object.

Protected Methods

protected void finalize ()

Since: API Level 11

Called before the object's memory is reclaimed by the VM. This can only happen once the garbage collector has detected that the object is no longer reachable by any thread of the running application.

The method can be used to free system resources or perform other cleanup before the object is garbage collected. The default implementation of the method is empty, which is also expected by the VM, but subclasses can override finalize() as required. Uncaught exceptions which are thrown during the execution of this method cause it to terminate immediately but are otherwise ignored.

Note that the VM does guarantee that finalize() is called at most once for any object, but it doesn't guarantee when (if at all) finalize() will be called. For example, object B's finalize() can delay the execution of object A's finalize() method and therefore it can delay the reclamation of A's memory. To be safe, use a ReferenceQueue, because it provides more control over the way the VM deals with references during garbage collection.

Throws
Throwable