CommonObject

References
Base class for .NET classes that wrap C++ unmanaged Rhino classes.

Constructors

CommonObject

#
Allows construction from inheriting classes.
protected CommonObject()

CommonObject

#
Protected constructor for internal use.
protected CommonObject(
info,
Serialization data.
context
Serialization stream.
)

Finalizer

~CommonObject

#
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
~CommonObject()

Properties

Disposed

#Since v6.0
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
public bool Disposed { get; }

HasUserData

#Since v5.0
Gets true if this class has any custom information attached to it through UserData.
public bool HasUserData { get; }

IsDocumentControlled

#Since v5.0
If true this object may not be modified. Any properties or functions that attempt to modify this object when it is set to "IsReadOnly" will throw a NotSupportedException.
public virtual bool IsDocumentControlled { get; }

IsValid

#Since v5.0
Tests an object to see if it is valid.
public virtual bool IsValid { get; }

PerformCorruptionTesting

#Since v6.10
Used to test ON_Object* pointers to see if they are a brep or mesh that is corrupt enough to crash Rhino.
public static bool PerformCorruptionTesting { get; set; }

UserData

#Since v5.0
List of custom information that is attached to this class.
public UserDataList UserData { get; }

UserDictionary

#Since v5.0
Dictionary of custom information attached to this class. The dictionary is actually user data provided as an easy to use shareable set of information.
public ArchivableDictionary UserDictionary { get; }

Methods

ComputeMemoryEstimate

#Since v9.0
Computes an estimate of the number of bytes that this object is using in memory.
[CLSCompliant(false)] [ConstOperation] public static uint ComputeMemoryEstimate()
Remarks: This is the same as calling GeometryBase.MemoryEstimate, but works for all CommonObject derived classes.
An estimated memory footprint.

ConstructConstObject

#
Assigns a parent object and a sub-object index to this.
protected void ConstructConstObject(
parentObject,
The parent object.
subobjectIndex
The sub-object index.
)

Dispose

#Since v5.0
Actively reclaims unmanaged resources that this instance uses.
public void Dispose()

Dispose

#
For derived class implementers.

This method is called with argument true when class user calls Dispose(), while with argument false when the Garbage Collector invokes the finalizer, or Finalize() method.

You must reclaim all used unmanaged resources in both cases, and can use this chance to call Dispose on disposable fields if the argument is true.

Also, you must call the base virtual method within your overriding method.

protected virtual void Dispose(
disposing
true if the call comes from the Dispose() method; false if it comes from the Garbage Collector finalizer.
)

EnsurePrivateCopy

#Since v5.0
If you want to keep a copy of this class around by holding onto it in a variable after a command completes, call EnsurePrivateCopy to make sure that this class is not tied to the document. You can call this function as many times as you want.
public void EnsurePrivateCopy()

FromBase64String

#Since v7.0
Create a CommonObject instance from a Base64 encoded string. This is typically the values used when passing common objects around as JSON data
public static CommonObject FromBase64String(
archive3dm,
opennurbs,
base64Data
)

FromJSON

#Since v7.0
Create a CommonObject instance from a JSON dictionary
public static CommonObject FromJSON(
jsonDictionary
)

FromJSON

#Since v7.5
Create a CommonObject instance from a JSON string
public static CommonObject FromJSON(
json
)

GetObjectData

#Since v5.0
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)] public virtual void GetObjectData(
info,
The System.Runtime.Serialization.SerializationInfo to populate with data.
context
The destination (see System.Runtime.Serialization.StreamingContext) for this serialization.
)

IsValidWithLog

#Since v5.0
Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.
public bool IsValidWithLog(
out string
log
A textual log. This out parameter is assigned during this call.
)
true if this object is valid; false otherwise.

NonConstOperation

#
For derived classes implementers.

Defines the necessary implementation to free the instance from being constant.

protected virtual void NonConstOperation()

OnSwitchToNonConst

#
Is called when a non-constant operation first occurs.
protected virtual void OnSwitchToNonConst()

ToJSON

#Since v7.0
Create a JSON string representation of this object
public string ToJSON()