Skip to content

GH_Archive

Public Class

This is the base archive class which takes care of all (de)serialization and messaging.

Inheritance Hierarchy

System.Object
GH_IO.Serialization.GH_Archive

Namespace: GH_IO.Serialization

Assembly: GH_IO (in GH_IO.dll)

Syntax

public class GH_Archive

The GH_Archive type exposes the following members.

Constructors

Name

Description


Public Method

Initializes a new instance of the GH_Archive class


Properties

Name

Description


Public Property

Gets the filename (without extension) of the currently loaded data tree. If the path field has not been set, “unnamed” is returned.


Public Property

Gets the root node of this archive. Typically you do not need to modify the Root. Use functions like CreateTopLevelNode(), AppendObject() and ExtractObject() instead. If you modify the Root node, you may corrupt the archive.


Public Property
Static Member

Gets the version number of the current GH_IO build.


Public Property
Static Member

Gets the file extension (including the dot) associated with Grasshopper® Binary data.


Public Property
Static Member

Gets the file extension (including the dot) associated with Grasshopper® User Object file.


Public Property
Static Member

Gets the file extension (including the dot) associated with Grasshopper® XML data.


Public Property

Gets a value that indicates whether the Path field points to a Binary Grasshopper file.


Public Property

Gets a value that indicates whether or not the path field has been set.


Public Property

Gets a value that indicates whether the Path field points to an Xml Grasshopper file.


Public Property

Gets the internal list of messages.


Public Property

Gets the path to the file from which this archive was read and/or written to. If the archive hasn’t been read or written yet, this field will be null.


Public Property

Gets the worst case message type. If the record contains at least 1 error, the worst case is GH_Message_Type.error. If the record contains no errors, but at least 1 warning, the worst case is GH_Message_Type.warning. If the record contains no messages or only infos, the worst case type is GH_Message_Type.info.


Methods

Name

Description


Public Method

Add a new message to the record.


Public Method

Add a new message to the record.


Public Method
Code Example

Appends a target object into the root node of this archive tree. If the root doesn’t exist yet, it will be created. Existing objects at the root scope will not be affected.


Public Method

Remove all messages from the log.


Public Method

Discards the current data tree and instantiates a new root node. This root node contains some comments, a version value containing the current version of GH_IO.dll and a DateTime value containing the current date and time.


Public Method

Creates and returns a new root node for this archive in the form of a GH_IWriter instance. Typically you do not call this method. If you want to add an object to the archive, use AppendObject() instead.


Public Method

Deserializes an array of bytes.


Public Method

Deserializes an Xml string.


Public Method

Extract a target object from the data tree.


Public Method

Gets the number of messages recorded since the most recent IO operation began.


Public Method

Gets the number of messages recorded since the most recent IO operation began. Message count can be filtered by message type.


Public Method
Static Member

Displays a standard OpenFileDialog with all the fields set to cater for Grasshopper files.


Public Method

Reads a new archive tree from a file.


Public Method
Static Member

Displays a standard SaveFileDialog with all the fields set to cater for Grasshopper files.


Public Method

Serializes the data tree into a Binary byte array.


Public Method

Serializes the data tree into an Xml string.


Public Method

Displays the message log viewer. You should typically only display the viewer if the WorstCaseMessageType equals GH_Message_Type.warning or GH_Message_Type.error


Public Method

Writes the current tree to a file.