Vuo  2.0.0
Classes | Macros | Typedefs | Enumerations | Functions
VuoMesh.h File Reference

Description

VuoMesh C type definition.

Definition in file VuoMesh.h.

Go to the source code of this file.

Classes

struct  VuoSubmesh
 One set of vertices, with associated normals and other per-vertex data, within a mesh. More...
 
struct  _VuoMesh
 A 3D mesh that contains one or more submeshes (allowing each submesh to have a different element assembly method). More...
 
struct  VuoSubmesh.glUpload
 References to mesh data uploaded to the GPU. More...
 

Macros

#define VuoMesh_REQUIRES_INTERPROCESS_JSON
 This type has a _getInterprocessJson() function. More...
 

Typedefs

typedef struct _VuoMeshVuoMesh
 A 3D mesh that contains one or more submeshes (allowing each submesh to have a different element assembly method). More...
 

Enumerations

enum  VuoMesh_ElementAssemblyMethod {
  VuoMesh_IndividualTriangles, VuoMesh_TriangleStrip, VuoMesh_TriangleFan, VuoMesh_IndividualLines,
  VuoMesh_LineStrip, VuoMesh_Points
}
 The way in which an elements array should be interpreted during rasterization. More...
 

Functions

VuoSubmesh VuoSubmesh_make (unsigned int vertexCount, unsigned int elementCount)
 Allocates the vertex (position, normal, ...) and element arrays. More...
 
VuoSubmesh VuoSubmesh_makeFromBuffers (unsigned int vertexCount, VuoPoint4d *positions, VuoPoint4d *normals, VuoPoint4d *tangents, VuoPoint4d *bitangents, VuoPoint4d *textureCoordinates, unsigned int elementCount, unsigned int *elements, VuoMesh_ElementAssemblyMethod elementAssemblyMethod)
 Creates a VuoSubmesh consisting of data that already exists in CPU RAM. More...
 
VuoSubmesh VuoSubmesh_makeGl (unsigned int vertexCount, unsigned int combinedBuffer, unsigned int combinedBufferSize, unsigned int combinedBufferStride, void *normalOffset, void *tangentOffset, void *bitangentOffset, void *textureCoordinateOffset, unsigned int elementCount, unsigned int elementBuffer, unsigned int elementBufferSize, VuoMesh_ElementAssemblyMethod elementAssemblyMethod)
 Creates a VuoSubmesh consisting of data that's already been uploaded to the GPU. More...
 
unsigned long VuoSubmesh_getGlMode (VuoSubmesh submesh)
 Returns the GL mode (e.g., GL_TRIANGLES) that submesh should be interpreted as. More...
 
unsigned long VuoSubmesh_getSplitPrimitiveCount (VuoSubmesh submesh)
 Returns the number of split primitives in submesh. More...
 
unsigned long VuoSubmesh_getSplitVertexCount (VuoSubmesh submesh)
 Returns the number of split vertices in submesh. More...
 
unsigned long VuoSubmesh_getCompleteElementCount (const VuoSubmesh submesh)
 Returns the number of complete elements in submesh. More...
 
unsigned long VuoSubmesh_getStride (const VuoSubmesh submesh)
 Returns the number of bytes per combined-buffer entry. More...
 
VuoMesh VuoMesh_make (unsigned int itemCount)
 Creates and registers a mesh with empty slots for the given number of sub-meshes. More...
 
void VuoMesh_upload (VuoMesh mesh)
 Uploads mesh to the GPU. More...
 
VuoMesh VuoMesh_makeFromSingleSubmesh (VuoSubmesh submesh)
 Creates and registers a mesh with space for one submesh, and sets it to the given submesh. More...
 
VuoMesh VuoMesh_makeQuad (void)
 Returns a quad with dimensions 1x1, on the XY plane, centered at the origin. More...
 
VuoMesh VuoMesh_makeQuadWithoutNormals (void)
 Returns a quad with dimensions 1x1, on the XY plane, centered at the origin. More...
 
VuoMesh VuoMesh_makeEquilateralTriangle (void)
 Returns an equilateral triangle with bottom edge length 1, pointing upward on the XY plane, centered at the origin. More...
 
VuoMesh VuoMesh_makeCube (void)
 Returns a cube of size 1x1. More...
 
VuoMesh VuoMesh_make_VuoPoint2d (VuoList_VuoPoint2d positions, VuoMesh_ElementAssemblyMethod elementAssemblyMethod, VuoReal primitiveSize)
 Returns a VuoMesh consisting of the given positions and element assembly method. More...
 
VuoMesh VuoMesh_make_VuoPoint3d (VuoList_VuoPoint3d positions, VuoMesh_ElementAssemblyMethod elementAssemblyMethod, VuoReal primitiveSize)
 Returns a VuoMesh consisting of the given positions and element assembly method. More...
 
VuoMesh VuoMesh_copy (const VuoMesh mesh)
 Makes a copy of the mesh and its submeshes. More...
 
VuoMesh VuoMesh_copyShallow (const VuoMesh mesh)
 Makes a shallow copy of the mesh and its submeshes. More...
 
const char * VuoMesh_cStringForElementAssemblyMethod (VuoMesh_ElementAssemblyMethod elementAssemblyMethod)
 Returns a string constant representing elementAssemblyMethod. More...
 
VuoBox VuoMesh_bounds (const VuoMesh mesh, float matrix[16])
 Iterates through mesh's vertices finding the center and extents. More...
 
bool VuoMesh_isPopulated (const VuoMesh mesh)
 Returns true if the mesh has at least one submesh with a non-zero vertex count. More...
 
void VuoSubmesh_download (VuoSubmesh *submesh)
 Copies element data from GPU back to the CPU. More...
 
VuoMesh VuoMesh_makeFromJson (json_object *js)
 
json_objectVuoMesh_getJson (const VuoMesh value)
 
json_objectVuoMesh_getInterprocessJson (const VuoMesh value)
 
char * VuoMesh_getSummary (const VuoMesh value)
 
static VuoMesh_ElementAssemblyMethod VuoMesh_getExpandedPrimitiveMode (const VuoMesh_ElementAssemblyMethod inputMode)
 For a given element assembly method, returns the equivalent assembly method for individual elements (i.e., after they've been expanded from strips/fans). More...
 
VuoMesh VuoMesh_makeFromString (const char *str)
 Automatically generated function. More...
 
char * VuoMesh_getString (const VuoMesh value)
 Automatically generated function. More...
 
void VuoMesh_retain (const VuoMesh v)
 Automatically generated function. More...
 
void VuoMesh_release (const VuoMesh v)
 Automatically generated function. More...