Vuo  1.2.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Functions
VuoSceneObjectGet.c File Reference

Description

VuoSceneGet implementation.

Classes

struct  VuoSceneObjectGet_data
 A data buffer, and the curren read position inside it. More...
 

Functions

static size_t VuoSceneObjectGet_read (aiFile *af, char *buffer, size_t size, size_t count)
 Reads bytes from VuoSceneObjectGet_data.
 
static size_t VuoSceneObjectGet_tell (aiFile *af)
 Gives VuoSceneObjectGet_data's current position.
 
static size_t VuoSceneObjectGet_size (aiFile *af)
 Gives the size of VuoSceneObjectGet_data's data.
 
static aiReturn VuoSceneObjectGet_seek (aiFile *af, size_t p, aiOrigin origin)
 Moves VuoSceneObjectGet_data's position.
 
static aiFile * VuoSceneObjectGet_open (aiFileIO *afio, const char *filename, const char *mode)
 Reads a file into a data buffer, and provides functions for accessing it.
 
static void VuoSceneObjectGet_close (aiFileIO *afio, aiFile *af)
 Frees the data buffer.
 
static void convertAINodesToVuoSceneObjectsRecursively (const struct aiScene *scene, const struct aiNode *node, VuoShader *shaders, bool *shadersUsed, VuoSceneObject *sceneObject)
 Converts node and its children to VuoSceneObjects.
 
bool VuoSceneObject_get (VuoText sceneURL, VuoSceneObject *scene, bool center, bool fit, bool hasLeftHandedCoordinates)
 Retrieves the scene at the specified sceneURL, creates a VuoSceneObject from it, and stores it in scene.
 

Class Documentation

struct VuoSceneObjectGet_data
Class Members
void * data
size_t dataLength
size_t position

Function Documentation

static void convertAINodesToVuoSceneObjectsRecursively ( const struct aiScene *  scene,
const struct aiNode *  node,
VuoShader shaders,
bool *  shadersUsed,
VuoSceneObject sceneObject 
)
static

Converts node and its children to VuoSceneObjects.

Todo:
Can a single aiNode use multiple aiMaterials? If so, we need to split the aiNode into multiple VuoSceneObjects. For now, just use the first mesh's material.
Todo:
handle other texture coordinate channels
static void VuoSceneObjectGet_close ( aiFileIO *  afio,
aiFile *  af 
)
static

Frees the data buffer.

static aiFile* VuoSceneObjectGet_open ( aiFileIO *  afio,
const char *  filename,
const char *  mode 
)
static

Reads a file into a data buffer, and provides functions for accessing it.

static size_t VuoSceneObjectGet_read ( aiFile *  af,
char *  buffer,
size_t  size,
size_t  count 
)
static

Reads bytes from VuoSceneObjectGet_data.

static aiReturn VuoSceneObjectGet_seek ( aiFile *  af,
size_t  p,
aiOrigin  origin 
)
static

Moves VuoSceneObjectGet_data's position.

static size_t VuoSceneObjectGet_size ( aiFile *  af)
static

Gives the size of VuoSceneObjectGet_data's data.

static size_t VuoSceneObjectGet_tell ( aiFile *  af)
static

Gives VuoSceneObjectGet_data's current position.