Unity <EyE> Transform Storage (TransformStorage.dll,TransformStorage.EditorUnity.dll)

Provides extension functions used to store and optionally detect changes in transforms, or transform hierarchies.

Details

General Description

The StoredTransform struct is the main data component used in the module. It stores 2 vectors and a quaternion, which can be used to represent local or global transforms. The StoredFullTransform struct contains two StoredTransform, to store both local and global transforms of an object. Multiple types of collections are provided, each with different functionality and performance characteristics: TransformAndDecendantStorage, TransformDictionaryStorage, TransformStorageTree, TreeOfLocalTransforms

Classes

interface  IStoreTransformHierarchy
 Interface used to stores a set of unity Transforms, and make them enumerable. Classes that implement this Interface can all be accessed similarly.
 
class  LocalTransformDictionayStorage
 A specific non-generic type of SerializableDictionary. The Key is a Transform reference, and the Value is StoredTransform
 
struct  StoredFullTransform
 Simple data structure used to store a transform's data. Also provides functionality to read, write or compare data to a Transform, with a single line of code. Members two separate StoredTransform structures, one that hold local coordinate, one that hold world coordinates. When dealing with ACTUAL Transforms, all functions in this class will read BOTH world and local transforms, but only WRITE and COMPARE to one (which one, is selectable by parameter).
 
struct  StoredTransform
 Basically a simple data structure used to store a transform's data. Many operators provides functionality to read, write or compare this data to a unity Transform, (or other transformation storage classes provided with this module), using a single line of code. Additional operators allow the actual transformation of vectors using the stored data. Members are specified as localPosition,localRotation and localScale but they COULD in fact be storing world coordinates. They are no more than vectors and Quaternions, that can be used as transformation data.
It is only when dealing with ACTUAL Transforms, that this becomes important, and all such functions within have options to the Transform's local or world coordinates (except the implicit operator, which assume local).
 
class  TransformAndDecendantStorage
 Class used to store the values of any provided transform, and all it's children. While the hierarchy information of the transforms is NOT recorded, the order through which they are iterated IS. Values stored here can be compared against the same or another transform, to see if the values in the transforms, as recorded in their initial order, have changed. This is the primary use intended for this class. Values CAN be restored to the Transform, but only if it's children-hierarchy has not changed. If this is unsuitable, you may choose to, instead of this class, use a TransformTree, which mitigates this somewhat, or a TransformDictionaryStorage structure instead. Since the hierarchy is not actually stored with the TransformAndDecendantStorage, it cannot be used to recreate the hierarchy.
 
class  TransformChildrenDictionaryStorage
 Class is almost identical to a TransformDictonaryStorage, with the exception that Equal's will always check the local values of children transforms, and will only check children transform for equality, Note: this class WILL store and restore the transform of the object as well as the children, it will only CHECK equality against children.
 
class  TransformDictionaryStorage
 TransformDictionaryStorage stores a transform and it's children, and keeps a reference to the transform it is storing. These stored values can be compared with or restored to the transforms they reference. Note: Unlike other IStoreTransformHierarchy containers, the transformToAssignTo parameter of the AssignToTransform function is usually ignored, as the stored values are only restored to the transforms they reference.
 
class  TransformStorageCatDebugSetup
 RunTime Version TransformStorage CataegoricalDeug Setup
 
class  TransformStorageTree
 Stores a transform, and it's descendant transforms as a navigable tree or local transformations. Similar to the TreeOfLocalTransforms it derives from, but also includes and uses the global transform of the root node.
 
class  TreeOfLocalTransforms
 Stores a navigable tree of StoredTransforms. Each StoredTransform contains only local coordinates, not global.
Provides functions to read, write, and compare the store tree with a transform's local transform and those of its descendants.