Vuo
2.0.2
|
A 3D Object: visible (mesh), or virtual (group, light, camera).
Classes | |
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 | |
bool | VuoSceneObject_get (VuoText sceneURL, VuoSceneObject *scene, bool center, bool fit, bool hasLeftHandedCoordinates) |
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) |
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... | |
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_object * | VuoSceneObject_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... | |
How this scene object should be rendered or how it should affect other scene objects.
Definition at line 42 of file VuoSceneObject.h.
void VuoSceneObject_apply | ( | VuoSceneObject | object, |
void(^)(VuoSceneObject currentObject, float modelviewMatrix[16]) | function | ||
) |
Applies function
to object
and its child objects, and outputs the modified object
.
The value modelviewMatrix
(which VuoSceneObject_apply
passes to function
) is the cumulative transformation matrix (from object
down to the currentObject
).
NULL objects in the tree are ignored (function
is not called).
Definition at line 1061 of file VuoSceneObject.cc.
VuoBox VuoSceneObject_bounds | ( | const VuoSceneObject | so | ) |
Get the axis aligned bounding box of this sceneobject and it's children.
Get the axis aligned bounding box of this sceneobject and it's children.
Definition at line 1881 of file VuoSceneObject.cc.
void VuoSceneObject_center | ( | VuoSceneObject | so | ) |
Make the bounds center of all vertices == {0,0,0}.
Definition at line 1943 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_copy | ( | const VuoSceneObject | object | ) |
Creates a new scene object hierarchy that references the input object's meshes and shaders.
You can change the transforms and replace the meshes and shaders without affecting the original, but you cannot mutate the existing meshes and shaders.
The sceneobject's id is preserved.
Definition at line 1814 of file VuoSceneObject.cc.
void VuoSceneObject_dump | ( | const VuoSceneObject | so | ) |
Outputs information about the sceneobject (and its descendants).
Definition at line 2605 of file VuoSceneObject.cc.
bool VuoSceneObject_find | ( | VuoSceneObject | sceneObject, |
VuoText | nameToMatch, | ||
VuoList_VuoSceneObject | ancestorObjects, | ||
VuoSceneObject * | foundObject | ||
) |
Searches the scenegraph (depth-first) for a scene object with the given name.
sceneObject | The root object of the scenegraph to search. | |
nameToMatch | The name to search for. | |
[out] | ancestorObjects | The ancestors of foundObject, starting with the root of the scenegraph. |
[out] | foundObject | The first matching scene object found. |
Definition at line 604 of file VuoSceneObject.cc.
bool VuoSceneObject_findById | ( | VuoSceneObject | sceneObject, |
uint64_t | idToMatch, | ||
VuoList_VuoSceneObject | ancestorObjects, | ||
VuoSceneObject * | foundObject | ||
) |
Searches the scenegraph (depth-first) for a scene object with the given id.
sceneObject | The root object of the scenegraph to search. | |
idToMatch | The id to search for. | |
[out] | ancestorObjects | The ancestors of foundObject, starting with the root of the scenegraph. |
[out] | foundObject | The first matching scene object found. |
Definition at line 645 of file VuoSceneObject.cc.
bool VuoSceneObject_findCamera | ( | VuoSceneObject | sceneObject, |
VuoText | nameToMatch, | ||
VuoSceneObject * | foundCamera | ||
) |
Performs a depth-first search of the scenegraph.
Returns (via foundCamera
) the first camera whose name contains nameToMatch
(or, if nameToMatch
is emptystring or NULL, just returns the first camera), with its transform altered to incorporate the transforms of its ancestor objects. The returned boolean indicates whether a camera was found. If no camera was found, foundCamera
is unaltered.
Definition at line 727 of file VuoSceneObject.cc.
void VuoSceneObject_findLights | ( | VuoSceneObject | sceneObject, |
VuoColor * | ambientColor, | ||
float * | ambientBrightness, | ||
VuoList_VuoSceneObject * | pointLights, | ||
VuoList_VuoSceneObject * | spotLights | ||
) |
Finds and returns all the lights in the scene, with their transforms applied.
If there are multiple ambient lights, returns the weighted (by alpha) average color and summed brightness.
If there are no lights in the scene, returns some default lights.
Definition at line 899 of file VuoSceneObject.cc.
bool VuoSceneObject_findWithType | ( | VuoSceneObject | sceneObject, |
VuoSceneObjectSubType | typeToMatch, | ||
VuoList_VuoSceneObject | ancestorObjects, | ||
VuoSceneObject * | foundObject | ||
) |
Searches the scenegraph (depth-first) for the first scene object with the specified type.
sceneObject | The root object of the scenegraph to search. | |
typeToMatch | The sub-type to search for. | |
[out] | ancestorObjects | The ancestors of foundObject, starting with the root of the scenegraph. |
[out] | foundObject | The first matching scene object found. |
Definition at line 686 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_flatten | ( | const VuoSceneObject | so | ) |
Combines all meshes (including child objects) together into a single mesh.
Element assembly methods are expanded (e.g., triangle strips become individual triangles).
If so
contains multiple primitive types, a single mesh is created with a submesh for each expanded primitive type.
The last-visited submesh's faceCullingMode
and primitiveSize
are used in the output mesh.
Definition at line 2620 of file VuoSceneObject.cc.
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.
Returns false if the scene could not be loaded.
Definition at line 320 of file VuoSceneObjectGet.c.
VuoBlendMode VuoSceneObject_getBlendMode | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's blend mode.
Definition at line 1153 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraConfocalDistance | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's camera confocal distance (for stereoscopic cameras).
Definition at line 1417 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraDistanceMax | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's depth buffer maximum distance.
Definition at line 1361 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraDistanceMin | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's depth buffer minimum distance.
Definition at line 1347 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraFieldOfView | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's field of view (for perspective cameras).
Definition at line 1319 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraIntraocularDistance | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's camera intraocular distance (for stereoscopic cameras).
Definition at line 1403 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraVignetteSharpness | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's vignette sharpness (for fisheye cameras).
Definition at line 1389 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraVignetteWidth | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's vignette width (for fisheye cameras).
Definition at line 1375 of file VuoSceneObject.cc.
float VuoSceneObject_getCameraWidth | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's camera width (for isometric cameras).
Definition at line 1333 of file VuoSceneObject.cc.
VuoList_VuoSceneObject VuoSceneObject_getChildObjects | ( | VuoSceneObject | object | ) |
Returns the list of this sceneobject's child sceneobjects.
The caller is permitted to modify the returned value (e.g., append items to the list), which will affect this sceneobject.
Definition at line 1136 of file VuoSceneObject.cc.
uint64_t VuoSceneObject_getId | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's identification number (unique among objects in the currently-running composition).
Definition at line 1182 of file VuoSceneObject.cc.
struct json_object* VuoSceneObject_getJson | ( | const VuoSceneObject | value | ) |
Encodes value
as a JSON object.
Definition at line 2190 of file VuoSceneObject.cc.
float VuoSceneObject_getLightBrightness | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's light brightness.
Definition at line 1445 of file VuoSceneObject.cc.
VuoColor VuoSceneObject_getLightColor | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's light color.
Definition at line 1431 of file VuoSceneObject.cc.
float VuoSceneObject_getLightCone | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's light cone angle.
Definition at line 1487 of file VuoSceneObject.cc.
float VuoSceneObject_getLightRange | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's light cone range.
Definition at line 1459 of file VuoSceneObject.cc.
float VuoSceneObject_getLightSharpness | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's light cone sharpness.
Definition at line 1473 of file VuoSceneObject.cc.
VuoMesh VuoSceneObject_getMesh | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's mesh.
The caller is permitted to modify the returned value (e.g., change the mesh's buffers), which will affect this sceneobject.
Definition at line 1247 of file VuoSceneObject.cc.
VuoText VuoSceneObject_getName | ( | VuoSceneObject | object | ) |
Returns the sceneobject's display name.
Definition at line 1119 of file VuoSceneObject.cc.
uint64_t VuoSceneObject_getNextId | ( | void | ) |
Returns a number, unique within this process, for identifying a particlar scene object instance.
Definition at line 110 of file VuoSceneObject.cc.
VuoShader VuoSceneObject_getShader | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's shader.
The caller is permitted to modify the returned value (e.g., change the shader's uniforms), which will affect this sceneobject.
Definition at line 1199 of file VuoSceneObject.cc.
void VuoSceneObject_getStatistics | ( | const VuoSceneObject | sceneObject, |
unsigned long * | descendantCount, | ||
unsigned long * | totalVertexCount, | ||
unsigned long * | totalElementCount | ||
) |
Traverses the specified scenegraph and returns statistics about it.
The caller should initialize the output parameters to 0 before calling this function.
Definition at line 2345 of file VuoSceneObject.cc.
char* VuoSceneObject_getString | ( | const VuoSceneObject | value | ) |
Automatically generated function.
char* VuoSceneObject_getSummary | ( | const VuoSceneObject | value | ) |
Produces a brief human-readable summary of value
.
Definition at line 2390 of file VuoSceneObject.cc.
VuoText VuoSceneObject_getText | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's rendered text.
Definition at line 1261 of file VuoSceneObject.cc.
VuoFont VuoSceneObject_getTextFont | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's font.
Definition at line 1275 of file VuoSceneObject.cc.
float VuoSceneObject_getTextWrapWidth | ( | const VuoSceneObject | object | ) |
Returns the width at which the sceneobject's rendered text should wrap.
Definition at line 1305 of file VuoSceneObject.cc.
VuoTransform VuoSceneObject_getTransform | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's transform.
Definition at line 1501 of file VuoSceneObject.cc.
VuoPoint3d VuoSceneObject_getTranslation | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's transform's translation.
Definition at line 1515 of file VuoSceneObject.cc.
VuoSceneObjectSubType VuoSceneObject_getType | ( | const VuoSceneObject | object | ) |
Returns the sceneobject's type.
Definition at line 1167 of file VuoSceneObject.cc.
unsigned long VuoSceneObject_getVertexCount | ( | const VuoSceneObject | value | ) |
Returns the total number of vertices in the scene object (but not its descendants).
Definition at line 2309 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_intersect | ( | VuoList_VuoSceneObject | objects, |
float | quality | ||
) |
Returns the intersection of objects
.
Definition at line 3081 of file VuoSceneObject.cc.
bool VuoSceneObject_isPopulated | ( | VuoSceneObject | so | ) |
Returns true if the scene object has a non-empty type.
Definition at line 755 of file VuoSceneObject.cc.
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.
Definition at line 1214 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeAmbientLight | ( | VuoColor | color, |
float | brightness | ||
) |
Returns an ambient light with the specified color
and brightness
(typically between 0 and 1).
Definition at line 832 of file VuoSceneObject.cc.
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.
Definition at line 294 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCube1 | ( | VuoTransform | transform, |
VuoShader | shader | ||
) |
Returns a cube scene object with a single shader applied to all 6 sides.
VuoSceneObject_makeCube_Vuo*()
instead.} Definition at line 363 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCube_VuoColor | ( | VuoTransform | transform, |
VuoColor | color | ||
) |
Creates a cube painted on all sides by color
.
Definition at line 393 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCube_VuoCubemap | ( | VuoTransform | transform, |
VuoCubemap | cubemap | ||
) |
Creates a cube painted with a cubemap.
Definition at line 403 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCube_VuoImage | ( | VuoTransform | transform, |
VuoImage | image | ||
) |
Creates a cube painted on all sides by image
.
Definition at line 383 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeCube_VuoShader | ( | VuoTransform | transform, |
VuoShader | shader | ||
) |
Creates a cube painted on all sides by shader
.
Definition at line 373 of file VuoSceneObject.cc.
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.
Definition at line 419 of file VuoSceneObject.cc.
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.
Definition at line 579 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeEmpty | ( | void | ) |
Creates a new, empty scene object.
Definition at line 142 of file VuoSceneObject.cc.
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).
Definition at line 558 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeFromJson | ( | json_object * | js | ) |
Decodes the JSON object js
to create a new value.
Definition at line 1998 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeFromString | ( | const char * | str | ) |
Automatically generated function.
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.
Definition at line 165 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeImage | ( | VuoImage | image, |
VuoPoint3d | center, | ||
VuoPoint3d | rotation, | ||
VuoReal | width, | ||
VuoReal | alpha | ||
) |
Returns an unlit scene object with the specified image
.
This function may be called from any thread. (However, the caller is responsible for ensuring that the GL context is not used simultaneously on multiple threads.)
Definition at line 256 of file VuoSceneObject.cc.
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
.
This function may be called from any thread. (However, the caller is responsible for ensuring that the GL context is not used simultaneously on multiple threads.)
Definition at line 277 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeMesh | ( | VuoMesh | mesh, |
VuoShader | shader, | ||
VuoTransform | transform | ||
) |
Creates a visible (mesh) scene object.
Definition at line 181 of file VuoSceneObject.cc.
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).
Definition at line 543 of file VuoSceneObject.cc.
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).
Definition at line 511 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makePointLight | ( | VuoColor | color, |
float | brightness, | ||
VuoPoint3d | position, | ||
float | range, | ||
float | sharpness | ||
) |
Returns a point light (uniform emission in all directions).
color | The light's color. |
brightness | The light's brightness multiplier (typically between 0 and 1). |
position | The light's position. |
range | The distance (in local coordinates) the light reaches. |
sharpness | The sharpness of the light's distance falloff. 0 means the light starts fading at distance 0 and ends at 2*lightRange. 1 means the falloff is instant. |
Definition at line 852 of file VuoSceneObject.cc.
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.
The quad does not include normals, tangents, or bitangents.
shader | The shader used to render the object. |
center | The object's center, specified in scene coordinates. |
rotation | The object's rotation, specified in degrees. |
width | The object's width, specified in scene coordinates. |
height | The object's height, specified in scene coordinates. |
This function may be called from any thread. (However, the caller is responsible for ensuring that the GL context is not used simultaneously on multiple threads.)
Definition at line 213 of file VuoSceneObject.cc.
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.
The quad includes normals, tangents, or bitangents.
shader | The shader used to render the object. |
center | The object's center, specified in scene coordinates. |
rotation | The object's rotation, specified in degrees. |
width | The object's width, specified in scene coordinates. |
height | The object's height, specified in scene coordinates. |
This function may be called from any thread. (However, the caller is responsible for ensuring that the GL context is not used simultaneously on multiple threads.)
Definition at line 239 of file VuoSceneObject.cc.
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).
color | The light's color. |
brightness | The light's brightness multiplier (typically between 0 and 1). |
transform | The position and direction of the light. (The transform's scale is ignored.) |
cone | Width (in radians) of the light's cone. |
range | The distance (in local coordinates) the light reaches. |
sharpness | The sharpness of the light's distance/cone falloff. 0 means the light starts fading at distance/angle 0 and ends at 2*range or 2*cone. 1 means the falloff is instant. |
Definition at line 877 of file VuoSceneObject.cc.
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).
Definition at line 526 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_makeText | ( | VuoText | text, |
VuoFont | font, | ||
VuoBoolean | scaleWithScene, | ||
float | wrapWidth | ||
) |
Returns a scene object representing deferred-rendered text.
The caller is responsible for providing the sceneobject's mesh (e.g., VuoMesh_makeQuadWithoutNormals).
This function may be called from any thread.
scaleWithScene
, wrapWidth
arguments. Definition at line 497 of file VuoSceneObject.cc.
bool VuoSceneObject_meshBounds | ( | const VuoSceneObject | so, |
VuoBox * | bounds, | ||
float | matrix[16] | ||
) |
Bounding box of the vertices for this SceneObject (taking into account transform).
Definition at line 1909 of file VuoSceneObject.cc.
void VuoSceneObject_normalize | ( | VuoSceneObject | sceneObject | ) |
Change the root sceneobject's transform such that the entire scenegraph renders within a 1x1x1 axis-aligned cube.
If the scenegraph has zero size (e.g., if it is empty, or if it consists entirely of Real Size Layers), the transform is left unchanged.
Definition at line 1958 of file VuoSceneObject.cc.
void VuoSceneObject_release | ( | VuoSceneObject | value | ) |
Automatically generated function.
void VuoSceneObject_retain | ( | VuoSceneObject | value | ) |
Automatically generated function.
void VuoSceneObject_scale | ( | VuoSceneObject | object, |
VuoPoint3d | scale | ||
) |
Scales the sceneobject in 3D space.
Definition at line 1105 of file VuoSceneObject.cc.
void VuoSceneObject_setBlendMode | ( | VuoSceneObject | object, |
VuoBlendMode | blendMode | ||
) |
Sets the blendMode
on object
and its child objects.
Only the following VuoBlendModes are supported:
Definition at line 1689 of file VuoSceneObject.cc.
void VuoSceneObject_setCameraDistanceMax | ( | VuoSceneObject | object, |
float | distanceMax | ||
) |
Changes the sceneobject's depth buffer maximum distance.
Definition at line 1795 of file VuoSceneObject.cc.
void VuoSceneObject_setCameraDistanceMin | ( | VuoSceneObject | object, |
float | distanceMin | ||
) |
Changes the sceneobject's depth buffer minimum distance.
Definition at line 1781 of file VuoSceneObject.cc.
void VuoSceneObject_setCameraFieldOfView | ( | VuoSceneObject | object, |
float | fieldOfView | ||
) |
Changes the sceneobject's camera field of view (for perspective cameras).
Definition at line 1767 of file VuoSceneObject.cc.
void VuoSceneObject_setChildObjects | ( | VuoSceneObject | object, |
VuoList_VuoSceneObject | childObjects | ||
) |
Changes the sceneobject's list of child objects.
Definition at line 1574 of file VuoSceneObject.cc.
void VuoSceneObject_setFaceCulling | ( | VuoSceneObject | object, |
VuoMesh_FaceCulling | faceCullingMode | ||
) |
Sets the faceCulling
on object
and its child objects.
Definition at line 1665 of file VuoSceneObject.cc.
void VuoSceneObject_setId | ( | VuoSceneObject | object, |
uint64_t | id | ||
) |
Changes the sceneobject's identification number (should be unique among objects in the currently-running composition).
Definition at line 1544 of file VuoSceneObject.cc.
void VuoSceneObject_setMesh | ( | VuoSceneObject | object, |
VuoMesh | mesh | ||
) |
Changes the sceneobject's mesh.
Definition at line 1593 of file VuoSceneObject.cc.
void VuoSceneObject_setName | ( | VuoSceneObject | object, |
VuoText | name | ||
) |
Changes the sceneobject's display name.
Definition at line 1558 of file VuoSceneObject.cc.
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.
Definition at line 1721 of file VuoSceneObject.cc.
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.
Definition at line 1706 of file VuoSceneObject.cc.
void VuoSceneObject_setScale | ( | VuoSceneObject | object, |
VuoPoint3d | scale | ||
) |
Changes the sceneobject's transform's scale.
Definition at line 1637 of file VuoSceneObject.cc.
void VuoSceneObject_setShader | ( | VuoSceneObject | object, |
VuoShader | shader | ||
) |
Changes the sceneobject's shader.
Definition at line 1651 of file VuoSceneObject.cc.
void VuoSceneObject_setText | ( | VuoSceneObject | object, |
VuoText | text | ||
) |
Changes the sceneobject's rendered text.
Definition at line 1735 of file VuoSceneObject.cc.
void VuoSceneObject_setTextFont | ( | VuoSceneObject | object, |
VuoFont | font | ||
) |
Changes the sceneobject's font for rendered text.
Definition at line 1751 of file VuoSceneObject.cc.
void VuoSceneObject_setTransform | ( | VuoSceneObject | object, |
VuoTransform | transform | ||
) |
Changes the sceneobject's transform.
Definition at line 1609 of file VuoSceneObject.cc.
void VuoSceneObject_setTranslation | ( | VuoSceneObject | object, |
VuoPoint3d | translation | ||
) |
Changes the sceneobject's transform's translation.
Definition at line 1623 of file VuoSceneObject.cc.
void VuoSceneObject_setType | ( | VuoSceneObject | object, |
VuoSceneObjectSubType | type | ||
) |
Changes the sceneobject's type.
Definition at line 1529 of file VuoSceneObject.cc.
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.
Returns false if the texture should always be rendered 1:1.
Definition at line 1230 of file VuoSceneObject.cc.
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.
Definition at line 1291 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_subtract | ( | const VuoSceneObject | a, |
const VuoSceneObject | b, | ||
float | quality | ||
) |
Returns the boolean difference of a
minus b
.
Definition at line 3057 of file VuoSceneObject.cc.
void VuoSceneObject_transform | ( | VuoSceneObject | object, |
VuoTransform | transform | ||
) |
Applies a transformation to the sceneobject (combining it with its previous transform).
Definition at line 1077 of file VuoSceneObject.cc.
void VuoSceneObject_translate | ( | VuoSceneObject | object, |
VuoPoint3d | translation | ||
) |
Moves the sceneobject in 3D space.
Definition at line 1091 of file VuoSceneObject.cc.
VuoSceneObject VuoSceneObject_union | ( | VuoList_VuoSceneObject | objects, |
float | quality | ||
) |
Returns the union of objects
.
Definition at line 3026 of file VuoSceneObject.cc.
void VuoSceneObject_visit | ( | const VuoSceneObject | object, |
bool(^)(const VuoSceneObject currentObject, float modelviewMatrix[16]) | function | ||
) |
Applies function
to object
and its child objects, without preserving changes to objects.
If function
returns false, visiting will stop immediately (possibly before all objects have been visited).
The value modelviewMatrix
(which VuoSceneObject_visit
passes to function
) is the cumulative transformation matrix (from object
down to the currentObject
).
NULL objects in the tree are ignored (function
is not called).
Definition at line 976 of file VuoSceneObject.cc.