GrasshopperIO.DataBasenamespace

Types

GrasshopperIO.DataBase.IBinary
Interface to enforce support for binary (de)serialization. Do not implement this interface as a 3rd party developer. If you want to read and write your data to and from a GH archive, implement IStorable instead.
GrasshopperIO.DataBase.ISml
Interface to enforce support for Sml (de)serialization. Do not implement this interface as a 3rd party developer.
GrasshopperIO.DataBase.Archive
This class represents a complete file. Grasshopper2 files are essentially zip-archives containing a mixture of textual, binary and node-based entries.
GrasshopperIO.DataBase.Compression
Enumerates the possible levels of compression.
GrasshopperIO.DataBase.DataMethod
Method used for operating on Byte data inside an archive.
GrasshopperIO.DataBase.DataType
Enumerates all the possible types that can be stored in a GrasshopperIO.dll archive.
GrasshopperIO.DataBase.Difference
A single difference between two nodes.
GrasshopperIO.DataBase.Differences
A collection of differences.
GrasshopperIO.DataBase.DifferenceType
Enumerates all possible differences.
GrasshopperIO.DataBase.EqualityLevel
Enumerates the possible levels to which node and item equality can be tested.
GrasshopperIO.DataBase.Item
Represents a single data entry in an archive. An entry is an immutable combination of name, index and data.
GrasshopperIO.DataBase.ItemMethod
Method used for operating on items inside an archive.
GrasshopperIO.DataBase.NamedList<T>
An immutable list of values which have names. Note that eventhrough the collection itself is immutable, the values it contains may not be.
GrasshopperIO.DataBase.Node
Nodes are the main organising entities in Grasshopper IO hierarchical dictionaries. Nodes may contain any number of uniquely named items, as well as any number of uniquely named child nodes. Nodes explicitly implement the IWriter and IReader interfaces, which is how nodes are most commonly exposed to client code.

Nodes are not thread-safe, not even for reading, since lookups and the inflation of serialised child nodes modify internal state.

GrasshopperIO.DataBase.NodeMatcher
A class used for finding matching child-chunks. Use this if you do not wish to merely compare all chunks in an archive using their Locations.
GrasshopperIO.DataBase.NodeMethod
Method used for operating on nodes inside an archive.
GrasshopperIO.DataBase.ReadContext
Shared contextual information to use used during deserialisation processes.
GrasshopperIO.DataBase.RootMethod
Method used for operating on root nodes inside an archive.
GrasshopperIO.DataBase.SimpleImmutableList<T>
A cheap and quick immutable list optimised for the most common use case in GrasshopperIO. Adding and indexing values is fast, removing values is slow, as is adding values to a list which in the past already had values added to it.
GrasshopperIO.DataBase.SmlWriter
A basic utility class for writing SML compliant text.
GrasshopperIO.DataBase.SmlWriter.SmlAttribute
A disposable attribute object. The object must be disposed when the block ends to ensure SML compliant text.
GrasshopperIO.DataBase.SmlWriter.SmlElement
A disposable element object. The object must be disposed when the block ends to ensure SML compliant text.
GrasshopperIO.DataBase.TextMethod
Method used for operating on Text data inside an archive.
GrasshopperIO.DataBase.Value
Represents a single immutable value in an archive.
GrasshopperIO.DataBase.WriteContext
Shared contextual information to use used during serialisation processes.