Module opengex::structure [] [src]

This module contains all the OpenGEX structures as specified. The module tries to stay as close to the OpenGEX structures as possible.

Some of the documentation might be subjected to copyright by Eric Lengyel. For more detailed documentation, please go to http://opengex.org.

Structs

Animation

The Animation structure contains animation data for a single node in a scene. Each animation structure is directly contained inside a node structure or Texture structure. Each animation structure contains the data needed to modify its sibling Transformation structures or sibling MorphWeight structures over time.

Atten

The Atten structure specifies an attenuation function for a light object.

BoneNode

A BoneNode structure represents a single bone in a scene. The collection of bone nodes forming a complete skeleton for a skinned mesh is referenced by a BoneRefArray structure contained inside a Skeleton structrue.

CameraNode

A CameraNode structure represents a single camera node in a scene.

CameraObject

A CameraObject structure contains data for a camera object.

GeometryNode

A GeometryNode structure represents a single geometry node in a scene. "]

GeometryObject

The GeometryObject structure contains data for a geometry object. Multiple GeometryNode structures may reference a single GeometryObject. This allows a scene to contain multiple instances of the same geometry with different transforms and materials.

LightNode

A LightNode structure represents a single camera node in a scene. "]

LightObject

The LightObject struture contains data for a light object. Multiple LightNode structures may reference a single LightObject. This allows a scene to contain multiple instances of the same light, with different transformations.

Material

The Material structure contains information about a material. Material structures are referenced by geometry nodes through Arc<Material> structures belonging to GeometryNode structures.

Mesh

A Mesh structure cotains data for a single geometric mesh. Each mesh typically contains several arrays of per-vertex data, and one or more index arrays.

Morph

The Morph structure holds information about a morph target belonging to a GeometryObject structure.

MorphWeight

A MorphWeight structure holds a single morph weight for a GeometryNode structure, that references a GeometryObject strucure containing vertex data for multiple morph targets.

Node

A Node structure represents a single generic node in a scene, with no associated object.

Texture

The Texture structure holds information about a single texture map, and how it is accessed with texture coordinates.

Track

The Track structure contains animation key data for a single Transformation or MorphWeight structure.

Transform

The Transform structure holds one or more 4 x 4 transformation matrices. In the cases that a Transform structure is contained inside any type of node structure, a Texture structure, or a Skin structure, it must contain a single matrix. In the case that a Transform structure is contained inside a Skeleton structure, is must contain an array of matrices with one entry for each bone referenced by the skeleton.

Enums

AttenuationCurve

A helper enum representing different kinds of curves for an attenuation function.

AttenuationKind

A helper enum representing different kinds of attenuation functions.

Color

A Color structure must contain an RGB or RGBA color value.

GeometricPrimitive

Helper enum for the Mesh structure, representing different geometric primitives supported by OpenGEX.

LightType

This is an helper-enum representing all different types of lights that a LightObject can emit.

Nodes

Helper enum to represent all different types of Nodes.

Rotation

The Rotation structure represents a rotation along one of several axes.

Scale

The Scale structure represents a scale transformation in one of several possible variants.

Time

The Time structure contains key time data in an animation track.

TrackTarget

Enum wrapping over all possible animation track targets.

Transformation

Helper enum to contain all different kinds of Transformations.

Translation

The Translation structure holds a translation transformation in one of several possible variants.

Value

The Value structure contains key value data in an animation track.

Type Definitions

Name

The Name structure holds the name of a node, morph target, material, or animation clip.

Param

The Param structure contains just a float. While the OpenGEX specification defines a Param as a key-value pair, this is better implemented through a HashMap. See ParamMap.

ParamMap

This is a map of different Param structures, for convenience.