Skip to content

DiGi.Rhino.Core.Interfaces

github-actions[bot] edited this page Jul 15, 2026 · 2 revisions

DiGi.Rhino.Core.Interfaces Namespace

Interfaces

IComponent Interface

Defines the contract for components within the DiGi Rhino framework, extending the base Grasshopper.Kernel.IGH_Component.

public interface IComponent

IGooObject Interface

Defines the base interface for all Goo objects within the DiGi Rhino core, extending Grasshopper's Grasshopper.Kernel.Types.IGH_Goo.

public interface IGooObject

Derived
GooEnum<T>
GooObject<TObject>
GooSerializableObject<TSerializableObject>
GooType
IGooObject<TObject>
IGooSerializableObject
IGooSerializableObject<TSerializableObject>

IGooObject<TObject> Interface

Defines a generic Goo object that wraps a value of type TObject.

public interface IGooObject<TObject> : DiGi.Rhino.Core.Interfaces.IGooObject

Type parameters

TObject

The type of the underlying data wrapped by the Goo object.

Derived
GooObject<TObject>
GooSerializableObject<TSerializableObject>
GooType
IGooSerializableObject<TSerializableObject>

Implements IGooObject

Properties

IGooObject<TObject>.Value Property

Gets the underlying value contained within the Goo object.

TObject? Value { get; }

Property Value

TObject

Methods

IGooObject<TObject>.GetValue<XObject>() Method

Retrieves the underlying value cast to a specific type XObject.

XObject? GetValue<XObject>()
    where XObject : TObject;

Type parameters

XObject

The target type to retrieve the value as, which must derive from TObject.

Returns

XObject
The value cast to XObject, or null if the cast is not possible or the value is null.

IGooSerializableObject Interface

Defines a contract for an object that is both a Goo object and serializable.

public interface IGooSerializableObject : DiGi.Rhino.Core.Interfaces.IGooObject

Derived
GooSerializableObject<TSerializableObject>
IGooSerializableObject<TSerializableObject>

Implements IGooObject

IGooSerializableObject<TSerializableObject> Interface

Defines a generic contract for an object that is both a Goo object and serializable, associated with a specific serializable object type.

public interface IGooSerializableObject<TSerializableObject> : DiGi.Rhino.Core.Interfaces.IGooSerializableObject, DiGi.Rhino.Core.Interfaces.IGooObject, DiGi.Rhino.Core.Interfaces.IGooObject<TSerializableObject?>
    where TSerializableObject : DiGi.Core.Interfaces.ISerializableObject

Type parameters

TSerializableObject

The type of the serializable object. Must implement DiGi.Core.Interfaces.ISerializableObject.

Derived
GooSerializableObject<TSerializableObject>

Implements IGooSerializableObject, IGooObject, DiGi.Rhino.Core.Interfaces.IGooObject<TSerializableObject>

Clone this wiki locally