Vuo  2.0.0
Classes | Enumerations | Functions
VuoSceneObject.h File Reference

Description

VuoSceneObject C type definition.

Definition in file VuoSceneObject.h.

Go to the source code of this file.

Classes

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

Enumerations

enum  VuoSceneObjectSubType {
  VuoSceneObjectSubType_Empty, VuoSceneObjectSubType_Group, VuoSceneObjectSubType_Mesh, VuoSceneObjectSubType_PerspectiveCamera,
  VuoSceneObjectSubType_StereoCamera, VuoSceneObjectSubType_OrthographicCamera, VuoSceneObjectSubType_FisheyeCamera, VuoSceneObjectSubType_AmbientLight,
  VuoSceneObjectSubType_PointLight, VuoSceneObjectSubType_Spotlight, VuoSceneObjectSubType_Text
}
 How this scene object should be rendered or how it should affect other scene objects. More...
 

Functions

uint64_t VuoSceneObject_getNextId (void)
 Returns a number, unique within this process, for identifying a particlar scene object instance. More...
 
VuoSceneObject VuoSceneObject_makeEmpty (void)
 Creates a new, empty scene object. More...
 
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. More...
 
VuoSceneObject VuoSceneObject_makeMesh (VuoMesh mesh, VuoShader shader, VuoTransform transform)
 Creates a visible (mesh) scene object. More...
 
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. More...
 
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. More...
 
VuoSceneObject VuoSceneObject_makeImage (VuoImage image, VuoPoint3d center, VuoPoint3d rotation, VuoReal width, VuoReal alpha)
 Returns an unlit scene object with the specified image. More...
 
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. More...
 
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. More...
 
VuoSceneObject VuoSceneObject_makeCube1 (VuoTransform transform, VuoShader shader)
 Returns a cube scene object with a single shader applied to all 6 sides. More...
 
VuoSceneObject VuoSceneObject_makeCube_VuoShader (VuoTransform transform, VuoShader shader)
 Creates a cube painted on all sides by shader. More...
 
VuoSceneObject VuoSceneObject_makeCube_VuoImage (VuoTransform transform, VuoImage image)
 Creates a cube painted on all sides by image. More...
 
VuoSceneObject VuoSceneObject_makeCube_VuoColor (VuoTransform transform, VuoColor color)
 Creates a cube painted on all sides by color. More...
 
VuoSceneObject VuoSceneObject_makeCube_VuoCubemap (VuoTransform transform, VuoCubemap cubemap)
 Creates a cube painted with a cubemap. More...
 
VuoSceneObject VuoSceneObject_makeCubeMulti (VuoTransform transform, VuoInteger columns, VuoInteger rows, VuoInteger slices, VuoShader front, VuoShader left, VuoShader right, VuoShader back, VuoShader top, VuoShader bottom)
 Creates a cube with subdivided faces and multiple shaders. More...
 
VuoSceneObject VuoSceneObject_makeText (VuoText text, VuoFont font, VuoBoolean scaleWithScene, float wrapWidth)
 Returns a scene object representing deferred-rendered text. More...
 
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). More...
 
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). More...
 
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). More...
 
VuoSceneObject VuoSceneObject_makeFisheyeCamera (VuoText name, VuoTransform transform, VuoReal fieldOfView, VuoReal vignetteWidth, VuoReal vignetteSharpness)
 Returns a fisheye camera having the position and negative-rotation specified by transform (its scale is ignored). More...
 
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. More...
 
VuoSceneObject VuoSceneObject_makeAmbientLight (VuoColor color, float brightness)
 
VuoSceneObject VuoSceneObject_makePointLight (VuoColor color, float brightness, VuoPoint3d position, float range, float sharpness)
 
VuoSceneObject VuoSceneObject_makeSpotlight (VuoColor color, float brightness, VuoTransform transform, float cone, float range, float sharpness)
 
bool VuoSceneObject_find (VuoSceneObject so, VuoText nameToMatch, VuoList_VuoSceneObject parentObjects, VuoSceneObject *foundObject) VuoWarnUnusedResult
 Searches the scenegraph (depth-first) for a scene object with the given name. More...
 
bool VuoSceneObject_findById (VuoSceneObject so, uint64_t idToMatch, VuoList_VuoSceneObject parentObjects, VuoSceneObject *foundObject) VuoWarnUnusedResult
 Searches the scenegraph (depth-first) for a scene object with the given id. More...
 
bool VuoSceneObject_findWithType (VuoSceneObject so, VuoSceneObjectSubType typeToMatch, VuoList_VuoSceneObject parentObjects, VuoSceneObject *foundObject) VuoWarnUnusedResult
 Searches the scenegraph (depth-first) for the first scene object with the specified type. More...
 
bool VuoSceneObject_findCamera (VuoSceneObject so, VuoText nameToMatch, VuoSceneObject *foundCamera) VuoWarnUnusedResult
 Performs a depth-first search of the scenegraph. More...
 
void VuoSceneObject_findLights (VuoSceneObject so, VuoColor *ambientColor, float *ambientBrightness, VuoList_VuoSceneObject *pointLights, VuoList_VuoSceneObject *spotLights)
 Finds and returns all the lights in the scene, with their transforms applied. More...
 
bool VuoSceneObject_isPopulated (VuoSceneObject so)
 Returns true if the scene object has a non-empty type. More...
 
void VuoSceneObject_visit (const VuoSceneObject object, bool(^function)(const VuoSceneObject currentObject, float modelviewMatrix[16]))
 Applies function to object and its child objects, without preserving changes to objects. More...
 
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. More...
 
void VuoSceneObject_normalize (VuoSceneObject so)
 Change the root sceneobject's transform such that the entire scenegraph renders within a 1x1x1 axis-aligned cube. More...
 
void VuoSceneObject_center (VuoSceneObject so)
 Make the bounds center of all vertices == {0,0,0}. More...
 
void VuoSceneObject_transform (VuoSceneObject object, VuoTransform transform)
 Applies a transformation to the sceneobject (combining it with its previous transform). More...
 
void VuoSceneObject_translate (VuoSceneObject object, VuoPoint3d translation)
 Moves the sceneobject in 3D space. More...
 
void VuoSceneObject_scale (VuoSceneObject object, VuoPoint3d scale)
 Scales the sceneobject in 3D space. More...
 
VuoSceneObjectSubType VuoSceneObject_getType (const VuoSceneObject object)
 Returns the sceneobject's type. More...
 
uint64_t VuoSceneObject_getId (const VuoSceneObject object)
 Returns the sceneobject's identification number (unique among objects in the currently-running composition). More...
 
VuoText VuoSceneObject_getName (const VuoSceneObject object)
 Returns the sceneobject's display name. More...
 
VuoList_VuoSceneObject VuoSceneObject_getChildObjects (const VuoSceneObject object)
 Returns the list of this sceneobject's child sceneobjects. More...
 
VuoBlendMode VuoSceneObject_getBlendMode (const VuoSceneObject object)
 Returns the sceneobject's blend mode. More...
 
VuoMesh VuoSceneObject_getMesh (const VuoSceneObject object)
 Returns the sceneobject's mesh. More...
 
VuoTransform VuoSceneObject_getTransform (const VuoSceneObject object)
 Returns the sceneobject's transform. More...
 
VuoPoint3d VuoSceneObject_getTranslation (const VuoSceneObject object)
 Returns the sceneobject's transform's translation. More...
 
VuoShader VuoSceneObject_getShader (const VuoSceneObject object)
 Returns the sceneobject's shader. More...
 
bool VuoSceneObject_isRealSize (const VuoSceneObject object)
 Returns true if the sceneobject should ignore rotations and scales, and be sized to match the shader's first image. More...
 
bool VuoSceneObject_shouldPreservePhysicalSize (const VuoSceneObject object)
 Returns true if the sceneobject should use the texture's scaleFactor and the backingScaleFactor to determine the rendered size. More...
 
VuoText VuoSceneObject_getText (const VuoSceneObject object)
 Returns the sceneobject's rendered text. More...
 
VuoFont VuoSceneObject_getTextFont (const VuoSceneObject object)
 Returns the sceneobject's font. More...
 
bool VuoSceneObject_shouldTextScaleWithScene (const VuoSceneObject object)
 Returns true if the sceneobject's text should change depending on the scene's rendering destination, or false if it should maintain its nominal size. More...
 
float VuoSceneObject_getTextWrapWidth (const VuoSceneObject object)
 Returns the width at which the sceneobject's rendered text should wrap. More...
 
float VuoSceneObject_getCameraFieldOfView (const VuoSceneObject object)
 Returns the sceneobject's field of view (for perspective cameras). More...
 
float VuoSceneObject_getCameraWidth (const VuoSceneObject object)
 Returns the sceneobject's camera width (for isometric cameras). More...
 
float VuoSceneObject_getCameraDistanceMin (const VuoSceneObject object)
 Returns the sceneobject's depth buffer minimum distance. More...
 
float VuoSceneObject_getCameraDistanceMax (const VuoSceneObject object)
 Returns the sceneobject's depth buffer maximum distance. More...
 
float VuoSceneObject_getCameraVignetteWidth (const VuoSceneObject object)
 Returns the sceneobject's vignette width (for fisheye cameras). More...
 
float VuoSceneObject_getCameraVignetteSharpness (const VuoSceneObject object)
 Returns the sceneobject's vignette sharpness (for fisheye cameras). More...
 
float VuoSceneObject_getCameraIntraocularDistance (const VuoSceneObject object)
 Returns the sceneobject's camera intraocular distance (for stereoscopic cameras). More...
 
float VuoSceneObject_getCameraConfocalDistance (const VuoSceneObject object)
 Returns the sceneobject's camera confocal distance (for stereoscopic cameras). More...
 
VuoColor VuoSceneObject_getLightColor (const VuoSceneObject object)
 Returns the sceneobject's light color. More...
 
float VuoSceneObject_getLightBrightness (const VuoSceneObject object)
 Returns the sceneobject's light brightness. More...
 
float VuoSceneObject_getLightRange (const VuoSceneObject object)
 Returns the sceneobject's light cone range. More...
 
float VuoSceneObject_getLightSharpness (const VuoSceneObject object)
 Returns the sceneobject's light cone sharpness. More...
 
float VuoSceneObject_getLightCone (const VuoSceneObject object)
 Returns the sceneobject's light cone angle. More...
 
void VuoSceneObject_setType (VuoSceneObject object, VuoSceneObjectSubType type)
 Changes the sceneobject's type. More...
 
void VuoSceneObject_setId (VuoSceneObject object, uint64_t id)
 Changes the sceneobject's identification number (should be unique among objects in the currently-running composition). More...
 
void VuoSceneObject_setName (VuoSceneObject object, VuoText name)
 Changes the sceneobject's display name. More...
 
void VuoSceneObject_setChildObjects (VuoSceneObject object, VuoList_VuoSceneObject childObjects)
 Changes the sceneobject's list of child objects. More...
 
void VuoSceneObject_setMesh (VuoSceneObject object, VuoMesh mesh)
 Changes the sceneobject's mesh. More...
 
void VuoSceneObject_setTransform (VuoSceneObject object, VuoTransform transform)
 Changes the sceneobject's transform. More...
 
void VuoSceneObject_setTranslation (VuoSceneObject object, VuoPoint3d translation)
 Changes the sceneobject's transform's translation. More...
 
void VuoSceneObject_setScale (VuoSceneObject object, VuoPoint3d scale)
 Changes the sceneobject's transform's scale. More...
 
void VuoSceneObject_setShader (VuoSceneObject object, VuoShader shader)
 Changes the sceneobject's shader. More...
 
void VuoSceneObject_setFaceCulling (VuoSceneObject object, VuoMesh_FaceCulling faceCullingMode)
 Sets the faceCulling on object and its child objects. More...
 
void VuoSceneObject_setBlendMode (VuoSceneObject object, VuoBlendMode blendMode)
 Sets the blendMode on object and its child objects. More...
 
void VuoSceneObject_setRealSize (VuoSceneObject object, bool isRealSize)
 Changes whether the sceneobject should ignore rotations and scales and be sized to match the shader's first image. More...
 
void VuoSceneObject_setPreservePhysicalSize (VuoSceneObject object, bool shouldPreservePhysicalSize)
 Changes whether the sceneobject should use the texture's scaleFactor and the backingScaleFactor to determine the rendered size. More...
 
void VuoSceneObject_setText (VuoSceneObject object, VuoText text)
 Changes the sceneobject's rendered text. More...
 
void VuoSceneObject_setTextFont (VuoSceneObject object, VuoFont font)
 Changes the sceneobject's font for rendered text. More...
 
void VuoSceneObject_setCameraFieldOfView (VuoSceneObject object, float fieldOfView)
 Changes the sceneobject's camera field of view (for perspective cameras). More...
 
void VuoSceneObject_setCameraDistanceMin (VuoSceneObject object, float distanceMin)
 Changes the sceneobject's depth buffer minimum distance. More...
 
void VuoSceneObject_setCameraDistanceMax (VuoSceneObject object, float distanceMax)
 Changes the sceneobject's depth buffer maximum distance. More...
 
VuoSceneObject VuoSceneObject_copy (const VuoSceneObject object)
 Creates a new scene object hierarchy that references the input object's meshes and shaders. More...
 
VuoSceneObject VuoSceneObject_makeFromJson (struct json_object *js)
 Decodes the JSON object js to create a new value. More...
 
struct json_objectVuoSceneObject_getJson (const VuoSceneObject value)
 Encodes value as a JSON object. More...
 
char * VuoSceneObject_getSummary (const VuoSceneObject value)
 Produces a brief human-readable summary of value. More...
 
void VuoSceneObject_getStatistics (const VuoSceneObject value, unsigned long *descendantCount, unsigned long *totalVertexCount, unsigned long *totalElementCount)
 Traverses the specified scenegraph and returns statistics about it. More...
 
VuoBox VuoSceneObject_bounds (const VuoSceneObject so)
 Get the axis aligned bounding box of this sceneobject and it's children. More...
 
bool VuoSceneObject_meshBounds (const VuoSceneObject so, VuoBox *bounds, float matrix[16])
 Bounding box of the vertices for this SceneObject (taking into account transform). More...
 
void VuoSceneObject_dump (const VuoSceneObject so)
 Outputs information about the sceneobject (and its descendants). More...
 
unsigned long VuoSceneObject_getVertexCount (const VuoSceneObject value)
 Returns the total number of vertices in the scene object (but not its descendants). More...
 
VuoSceneObject VuoSceneObject_flatten (const VuoSceneObject so)
 Combines all meshes (including child objects) together into a single mesh. More...
 
VuoSceneObject VuoSceneObject_union (VuoList_VuoSceneObject objects, float quality)
 Returns the union of objects. More...
 
VuoSceneObject VuoSceneObject_subtract (const VuoSceneObject a, const VuoSceneObject b, float quality)
 Returns the boolean difference of a minus b. More...
 
VuoSceneObject VuoSceneObject_intersect (VuoList_VuoSceneObject objects, float quality)
 Returns the intersection of objects. More...
 
VuoSceneObject VuoSceneObject_makeFromString (const char *str)
 Automatically generated function. More...
 
char * VuoSceneObject_getString (const VuoSceneObject value)
 Automatically generated function. More...
 
void VuoSceneObject_retain (VuoSceneObject value)
 Automatically generated function. More...
 
void VuoSceneObject_release (VuoSceneObject value)
 Automatically generated function. More...
 
#define VuoList_VuoSceneObject_TYPE_DEFINED
 List type. More...
 
typedef const struct VuoList_VuoSceneObject_structVuoList_VuoSceneObject
 List type. More...
 

Macro Definition Documentation

◆ VuoList_VuoSceneObject_TYPE_DEFINED

#define VuoList_VuoSceneObject_TYPE_DEFINED

List type.

Definition at line 28 of file VuoSceneObject.h.

Typedef Documentation

◆ VuoList_VuoSceneObject

List type.