Vuo  1.1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Typedefs | Enumerations | Functions
VuoSceneObject.h File Reference

Description

VuoSceneObject C type definition.

Classes

struct  VuoList_VuoSceneObject_struct
 A list of VuoSceneObject elements. More...
 
struct  VuoSceneObject
 A 3D Object: visible (mesh), or virtual (group, light, camera). More...
 

Typedefs

typedef struct VuoSceneObject VuoSceneObject
 A 3D Object: visible (mesh), or virtual (group, light, camera).
 

Enumerations

enum  VuoSceneObjectType {
  VuoSceneObjectType_Empty, VuoSceneObjectType_Group, VuoSceneObjectType_Mesh, VuoSceneObjectType_PerspectiveCamera,
  VuoSceneObjectType_StereoCamera, VuoSceneObjectType_OrthographicCamera, VuoSceneObjectType_AmbientLight, VuoSceneObjectType_PointLight,
  VuoSceneObjectType_Spotlight, VuoSceneObjectType_Text
}
 How this scene object should be rendered or how it should affect other scene objects. More...
 

Functions

VuoSceneObject VuoSceneObject_makeEmpty (void)
 Creates a new, empty scene object.
 
VuoSceneObject VuoSceneObject_makeGroup (VuoList_VuoSceneObject childObjects, VuoTransform transform)
 Creates a new scene object that can contain (and transform) other scene objects, but doesn't render anything itself.
 
VuoSceneObject VuoSceneObject_make (VuoMesh mesh, VuoShader shader, VuoTransform transform, VuoList_VuoSceneObject childObjects)
 Creates a visible (mesh) scene object.
 
VuoSceneObject VuoSceneObject_makeQuad (VuoShader shader, VuoPoint3d center, VuoPoint3d rotation, VuoReal width, VuoReal height)
 Returns a scene object that renders a quad with the specified shader.
 
VuoSceneObject VuoSceneObject_makeQuadWithNormals (VuoShader shader, VuoPoint3d center, VuoPoint3d rotation, VuoReal width, VuoReal height)
 Returns a scene object that renders a quad with the specified shader.
 
VuoSceneObject VuoSceneObject_makeImage (VuoImage image, VuoPoint3d center, VuoPoint3d rotation, VuoReal width, VuoReal alpha)
 Returns an unlit scene object with the specified image.
 
VuoSceneObject VuoSceneObject_makeLitImage (VuoImage image, VuoPoint3d center, VuoPoint3d rotation, VuoReal width, VuoReal alpha, VuoColor highlightColor, VuoReal shininess)
 Returns a lit scene object with the specified image.
 
VuoSceneObject VuoSceneObject_makeCube (VuoTransform transform, VuoShader frontShader, VuoShader leftShader, VuoShader rightShader, VuoShader backShader, VuoShader topShader, VuoShader bottomShader)
 Returns a scene object consisting of 6 child objects (square quads), each with its own shader.
 
VuoSceneObject VuoSceneObject_makeText (VuoText text, VuoFont font)
 Returns a scene object representing deferred-rendered text.
 
VuoSceneObject VuoSceneObject_makePerspectiveCamera (VuoText name, VuoTransform transform, float fieldOfView, float distanceMin, float distanceMax)
 Returns a perspective camera having the position and negative-rotation specified by transform (its scale is ignored).
 
VuoSceneObject VuoSceneObject_makeStereoCamera (VuoText name, VuoTransform transform, VuoReal fieldOfView, VuoReal distanceMin, VuoReal distanceMax, VuoReal confocalDistance, VuoReal intraocularDistance)
 Returns a stereoscopic camera having the position and negative-rotation specified by transform (its scale is ignored).
 
VuoSceneObject VuoSceneObject_makeOrthographicCamera (VuoText name, VuoTransform transform, float width, float distanceMin, float distanceMax)
 Returns an orthographic camera having the position and negative-rotation specified by transform (its scale is ignored).
 
VuoSceneObject VuoSceneObject_makeDefaultCamera (void)
 Returns a perspective camera at (0,0,1), facing along -z, 90 degree FOV, and clip planes at 0.1 and 10.0.
 
bool VuoSceneObject_find (VuoSceneObject so, VuoText nameToMatch, VuoList_VuoSceneObject parentObjects, VuoSceneObject *foundObject)
 Searches the scenegraph (depth-first) for a scene object with the given name.
 
VuoSceneObject VuoSceneObject_findCamera (VuoSceneObject so, VuoText nameToMatch, bool *foundCamera)
 Performs a depth-first search of the scenegraph.
 
VuoSceneObject VuoSceneObject_makeAmbientLight (VuoColor color, float brightness)
 Returns an ambient light with the specified color and brightness (typically between 0 and 1).
 
VuoSceneObject VuoSceneObject_makePointLight (VuoColor color, float brightness, VuoPoint3d position, float range, float sharpness)
 Returns a point light (uniform emission in all directions).
 
VuoSceneObject VuoSceneObject_makeSpotlight (VuoColor color, float brightness, VuoTransform transform, float cone, float range, float sharpness)
 Returns a spot light (emists only in the specified direction).
 
void VuoSceneObject_findLights (VuoSceneObject so, VuoColor *ambientColor, float *ambientBrightness, VuoList_VuoSceneObject *pointLights, VuoList_VuoSceneObject *spotLights)
 Finds and returns all the lights in the scene.
 
void VuoSceneObject_visit (VuoSceneObject object, void(^function)(VuoSceneObject currentObject))
 Applies function to object and its child objects, without preserving changes to objects.
 
void VuoSceneObject_apply (VuoSceneObject *object, void(^function)(VuoSceneObject *currentObject, float modelviewMatrix[16]))
 Applies function to object and its child objects, and outputs the modified object.
 
void VuoSceneObject_setFaceCullingMode (VuoSceneObject *object, unsigned int faceCullingMode)
 Sets the faceCullingMode on object and its child objects.
 
void VuoSceneObject_setBlendMode (VuoSceneObject *object, VuoBlendMode blendMode)
 Sets the blendMode on object and its child objects.
 
VuoSceneObject VuoSceneObject_copy (const VuoSceneObject object)
 Makes a deep copy of object.
 
VuoSceneObject VuoSceneObject_makeFromJson (struct json_object *js)
 Decodes the JSON object js to create a new value.
 
struct json_objectVuoSceneObject_getJson (const VuoSceneObject value)
 Encodes value as a JSON object.
 
char * VuoSceneObject_getSummary (const VuoSceneObject value)
 Produces a brief human-readable summary of value.
 
VuoBox VuoSceneObject_bounds (const VuoSceneObject so)
 Get the axis aligned bounding box of this sceneobject and it's children.
 
bool VuoSceneObject_meshBounds (const VuoSceneObject so, VuoBox *bounds, float matrix[16])
 Bounding box of the vertices for this SceneObject (taking into account transform).
 
void VuoSceneObject_normalize (VuoSceneObject *so)
 Change the root sceneobject's transform such that the entire scenegraph renders within a 1x1x1 axis-aligned cube.
 
void VuoSceneObject_center (VuoSceneObject *so)
 Make the bounds center of all vertices == {0,0,0}.
 
void VuoSceneObject_dump (const VuoSceneObject so)
 Outputs information about the sceneobject (and its descendants).
 
unsigned long VuoSceneObject_getVertexCount (const VuoSceneObject value)
 Returns the total number of vertices in the scene object (but not its descendants).
 
VuoSceneObject VuoSceneObject_makeFromString (const char *str)
 Automatically generated function.
 
char * VuoSceneObject_getString (const VuoSceneObject value)
 Automatically generated function.
 
void VuoSceneObject_retain (VuoSceneObject value)
 Automatically generated function.
 
void VuoSceneObject_release (VuoSceneObject value)
 Automatically generated function.
 
#define VuoList_VuoSceneObject_TYPE_DEFINED
 
typedef struct
VuoList_VuoSceneObject_struct
VuoList_VuoSceneObject