Click or drag to resize

Fusee.Serialization Namespace

The classes in this module are the building blocks for storing FUSEE's scene graph file contents.

All classes and their properties are decorated with attributes to mark them as serializable in the Google Protobuf format (v2). The compiler generates serialization code directly from these classes. This automatically generated serialization code can be found in Fusee.SerializationSerializer.dll.

Serialized FUSEE scenegraphs are stored in *.fus files. The three main building block types for scenegraphs are

  • SceneContainer - Root object of each .fus file. Contains a file header and a list of root nodes.
  • SceneNodeContainer - Instances of this type (called nodes) make up the hierarchy of objects. Each node contains a list of child nodes and a list of components.
  • SceneComponentContainer - Instances of this type (called components) store the scene's payload. Various component types (inherited from SceneComponentContainer) exist to keep the different components a scene is made of.

Public classAddChildEventArgs
Event Arguments for adding a new child to a SceneNodeContainer and set its parent.
Public classAnimationComponent
Contains animation data. Generally, a list of animation tracks
Public classAnimationKeyContainerBase
Base class to hold a single animation key. Derived types specify the type of the value controlled by the keys.
Public classAnimationKeyContainerDouble
Animation key storing double values.
Public classAnimationKeyContainerFloat
Animation key storing float values.
Public classAnimationKeyContainerFloat2
Animation key storing float2 values.
Public classAnimationKeyContainerFloat3
Animation key storing float3 values.
Public classAnimationKeyContainerFloat4
Animation key storing float4 values.
Public classAnimationKeyContainerInt
Animation key storing integer values.
Public classAnimationTrackContainer
Stores data about a single animation track (mainly a list of keyframes)
Public classBoneComponent
Marker component (contains no data). If contained within a node, the node serves as a bone in a bone animation.
Public classBumpChannelContainer
If used, the material shows bumps defined by a normal map (a texture).
Public classCanvasTransformComponent
Building block to set up User Interface hierarchies. Use this as your first element in the Interface hierarchy.
Public classChildList
Collection, which overrides the protected method InsertItem() to customize the behavior of Add() - in this case, to set the parent SceneNodeContainer.
Public classJointWeightColumn
Public classLightComponent
Contains light information. If contained in a node, the node serves as a light object.
Public classMatChannelContainer
Part of the MaterialComponent defining material settings. Used in the different lighting calculation components.
Public classMaterialComponent
Material definition. If contained within a node, the node's (and potentially child node's) geometry is rendered with the speicified material.
Public classMaterialLightComponent
Light definition. If contained within a node, the node's (and potentially child node's) light is rendered with the speicified lightsetup within the ApplyLightString ApplyLight Method.
Public classMaterialPBRComponent
Material definition.If contained within a node, the node's (and potentially child node's) geometry is rendered with the speicified material.
Public classMesh
Provides the abillity to create or interact directly with the point data.
Public classMeshDataEventArgs
EventArgs to propagate changes of a Mesh object's life cycle and property changes.
Public classProjectionComponent
First evolutionary stage of the soon to be camera component. At the moment every scene graph needs to have at least one projection component. It will create the desired projection matrix that will be used for rendering the contents of the branch of the scene graph it is a part of (and only that branch). A transform component in the same node as the projection component will not have any effect at the projection at the moment.
Public classRectTransformComponent
Building block to set up User Interface hierarchies.
Public classRenderPass
This class holds one RenderPass within the ShaderComponent EffectPasses List
Public classSceneComponentContainer
Base class for components. Each node (SceneNodeContainer) contains a list of components of various types.
Public classSceneContainer
The root object of a scene file.
Public classSceneNodeContainer
The building block to create hierarchies.
Public classShaderComponent
This class holds the shader definition. If contained within a node, the node's (and potentially child node's) geometry is rendered with the specified shader.
Public classSimpleType
Public classSpecularChannelContainer
The specular channel definition.
Public classTransformComponent
Transformation (position, orientation and size) of the node.
Public classTypeContainer
Base class to hold all sorts of data type. Derived types specify the type of the value.
Public classTypeContainerBool
TypeContainer storing a bool value.
Public classTypeContainerDouble
TypeContainer storing a double value.
Public classTypeContainerFloat
TypeContainer storing a float value.
Public classTypeContainerFloat2
TypeContainer storing a float2 value.
Public classTypeContainerFloat3
TypeContainer storing a float3 value.
Public classTypeContainerFloat4
TypeContainer storing a float4 value.
Public classTypeContainerInt
TypeContainer storing a int value.
Public classVertexWeightList
A single row of the weight table. Stored in a way respecting sparse data (only few bones control a vertex).
Public classWeightComponent
Defines a weight map. Basically a table with a row for each vertex and a column for each bone controlling the geometry.
Public classXFormComponent
Placeholder for later implemented UI Elements such as buttons, images, slider etc.
Public classXFormTextComponent
Placeholder for later implemented UI Elements such as buttons, images, slider etc.
Public structureSceneHeader
The header of a scene file.
Public structureSuid
Session unique Id.
Public structureVertexWeight
A single entry of a weight table row.
Public enumerationCanvasRenderMode
Public enumerationLerpType
Symbolic value describing the type of Lerp (linear interpolation) to perform.
Public enumerationLightType
Specifies the type of the light.
Public enumerationMeshChangedEnum
Propagates Mesh properties changed status inside MeshDataEventArgs
Public enumerationProjectionMethod
Contains all supported projection methods. Used to tell the Scene Renderer which projection matrix to create.
Public enumerationTypeId
Symbolic value describing the data type of stored values.