![]() |
KudanAR - iOS
1.6.0
|
#import <ARMesh.h>
Inherits NSObject.
Instance Methods | |
(instancetype) | - initWithVertexData:indexData:hasNormals:hasUVs: |
(instancetype) | - initWithVertexData:indexData:hasNormals:hasUVs:hasUVs2:hasTangents:maxBones: |
(instancetype) | - initWithVertexData:indexData:hasNormals:hasUVs:maxBones: |
(instancetype) | - initWithVertices:normals:UVs:indices: |
(NSData *) | - createVertexDataWithVertices:UVs:indices: |
(instancetype) | - initWithEmpty |
(void) | - setVertexData: |
(instancetype) | - initWithTestMeshWithUV:height: |
(instancetype) | - initWithTestMeshWithUV:height:u:v: |
(void) | - prepareRenderer:meshNode: |
Class Methods | |
(id) | + testMesh |
(id) | + testMeshWithUV |
(instancetype) | + texturedMeshWidth:height: |
(instancetype) | + meshWithWidth:height: |
Properties | |
ARVertexBuffer * | vertexBuffer |
GLuint | indexBuffer |
NSUInteger | numberOfIndices |
unsigned | numberOfVertices |
unsigned | vertexStride |
BOOL | hasNormals |
BOOL | hasTangents |
BOOL | hasUVs |
BOOL | hasBones |
NSMutableArray * | bones |
BOOL | hasBlendShapes |
An ARMesh is a class representing the geometry and mapping of a mesh. It is a collection of vertices, edges and faces that define the shape of an object. It also specifies the data of this mesh, including the vertex data, bones and texture data.
- (NSData *) createVertexDataWithVertices: | (NSData *) | vertices | |
UVs: | (NSData *) | UVs | |
indices: | (NSData *) | indices | |
Creates vertex data from verticies, UVs and indicies.
vertices | Mesh vertices. |
UVs | Mesh UV map. |
indices | Mesh indicies. |
- (instancetype) initWithEmpty |
Initialises mesh with empty vertex buffer.
- (instancetype) initWithTestMeshWithUV: | (float) | width | |
height: | (float) | height | |
Initialises flat mesh with UV map with coordinates in range(0..1,0..1).
width | Mesh width. |
height | Mesh height. |
- (instancetype) initWithTestMeshWithUV: | (float) | width | |
height: | (float) | height | |
u: | (float) | u | |
v: | (float) | v | |
Initialises flat mesh with UV map with coordinates in range(0..u,0...v).
width | Mesh width. |
height | Mesh height. |
u | UV map width. |
v | UV map height. |
- (instancetype) initWithVertexData: | (NSData *) | vertexData | |
indexData: | (NSData *) | indexData | |
hasNormals: | (BOOL) | hasNormals | |
hasUVs: | (BOOL) | hasUVs | |
Initialises mesh from vertex and index data. Also sets mesh parameters.
vertexData | Mesh vertex data. |
indexData | Mesh indicies. |
hasNormals | If the mesh has vertex normals in its vertex data. |
hasUVs | If the mesh has a UVs in its vertex data. |
- (instancetype) initWithVertexData: | (NSData *) | vertexData | |
indexData: | (NSData *) | indexData | |
hasNormals: | (BOOL) | hasNormals | |
hasUVs: | (BOOL) | hasUVs | |
hasUVs2: | (BOOL) | hasUVs2 | |
hasTangents: | (BOOL) | hasTangents | |
maxBones: | (unsigned) | maxBones | |
Initialises mesh from vertex and index data. Also sets mesh parameters.
vertexData | Mesh vertex data. |
indexData | Mesh index data. |
hasNormals | If the mesh has vertex normals. |
hasUVs | If the mesh has a UVs in its vertex data. |
hasUVs2 | If the mesh has a two sets of UVs in its vertex data. |
hasTangents | If the mesh has vertex tangents in its vertex data. |
maxBones | The maximum number of bones in the mesh. |
- (instancetype) initWithVertexData: | (NSData *) | vertexData | |
indexData: | (NSData *) | index12Data | |
hasNormals: | (BOOL) | hasNormals | |
hasUVs: | (BOOL) | hasUVs | |
maxBones: | (unsigned) | maxBones | |
Initialises mesh from vertex and index data. Also sets mesh parameters.
vertexData | Mesh vertex data. |
indexData | Mesh indicies. |
hasNormals | If the mesh has vertex normals in its vertex data. |
hasUVs | If the mesh has a UVs in its vertex data. |
maxBones | The maximum number of bones in the mesh. |
- (instancetype) initWithVertices: | (NSData *) | vertices | |
normals: | (NSData *) | normals | |
UVs: | (NSData *) | UVs | |
indices: | (NSData *) | indices | |
Initialises mesh with indicies, normals, UVs and indicies.
vertices | Mesh verticies. |
normals | Mesh normals. |
UVs | Mesh's UV map. |
indices | Mesh vertices. |
+ (instancetype) meshWithWidth: | (float) | width | |
height: | (float) | height | |
Creates a flat mesh.
width | Mesh width. |
height | Mesh height. |
- (void) prepareRenderer: | (ARRenderer *) | renderer | |
meshNode: | (ARMeshNode *) | meshNode | |
Prepares the renderer for drawing the mesh by processing the bones and blend shapes associated with this mesh, as well as activating the relevant buffers.
- (void) setVertexData: | (NSData *) | vertexData |
Set mesh vertex data.
vertexData | Mesh vertex data. |
+ (instancetype) testMesh |
Creates a 10x10 flat mesh.
+ (instancetype) testMeshWithUV |
Creates a 100x100 flat mesh and UV map with coordinates in range(0..1,0..1).
+ (instancetype) texturedMeshWidth: | (float) | width | |
height: | (float) | height | |
Creates a flat mesh with UV map with coordinates in range(0..1,0..1).
width | Mesh width. |
height | Mesh height. |
|
readwritenonatomicassign |
The array of ARBoneNodes that are part of this mesh. There is a limit of 64 bones per mesh.
|
readwritenonatomicassign |
Whether this mesh has blend shape deformers.
|
readwritenonatomicassign |
Whether the mesh has bones in its vertex data.
|
readwritenonatomicassign |
Whether the mesh has normals in its vertex data.
|
readwritenonatomicassign |
Whether this mesh has tangents in its vertex data.
|
readwritenonatomicassign |
Whether the mesh has UVs in its vertex data. If it doesn't, materials with textures shouldn't be used.
|
readwritenonatomicassign |
The index buffer used by the mesh.
|
readnonatomicassign |
The total number of triangles in this mesh. A good number of triangles to aim for is 100,000.
|
readwritenonatomicassign |
The total number of vertices in this mesh. During the model conversion process in the Kudan AR Toolkit, any meshes exceeding 65535 (2^16 - 1) vertices will be split into multiple separate meshes.
|
readwritenonatomicassign |
The vertex buffer used by the mesh.
|
readwritenonatomicassign |
The size of each vertex in this mesh.