Nothing matches.
Base class for all components in a model (document) and manages the index, id and other information common to this type of objects.
This class parallels the C++ ON_ModelComponent.
Properties
Gets or sets the component status of the model component.
Gets the ModelComponentType for this object. Useful in switch statements.
Gets the name of a component that is deleted.
Disposed
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
Returns a value indicating whether the component has an ID.
Returns a value indicating whether the component has an Index.
Returns a value indicating whether the component has a Name.
HasUserData
Gets true if this class has any custom information attached to it through UserData.
Gets or sets the ID of the current instance.
Exceptions:
| InvalidOperationException | When setting the ID failed. This usually happened because the instance ID is already locked. |
Returns a value indicating whether the component ID is already locked.
Gets or sets the model component index attribute.
Exceptions:
| InvalidOperationException | When setting the Index failed. This usually happens because the instance Index is already locked. |
Returns a value indicating whether the component Index is already locked.
When a component is in a model as part of the information required for a linked instance definition, this value identifies the linked instance definition reference model.
Remarks: Reference components are not saved in .3dm archives. Typically this value is set and locked by the code that adds a component to a model. This value is not saved in .3dm archives.
The component status itself can be locked. This returns an indication.
true if the component is deleted. Deleted components are kept by the document for undo purposes.
IsDocumentControlled
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.
Gets a value indicting whether this component is a referenced component. Referenced components are part of referenced documents.
True if this model component is a system constant.
An incomplete list of system constant model components is below:
- ON_ModelComponent::Unset
- ON_InstanceDefinition::Empty
- ON_Linetype::Unset
- ON_Linetype::Continuous
- ON_Linetype::ByLayer
- ON_Linetype::ByParent
- ON_Layer::Unset
- ON_Layer::Default
- ON_TextStyle::Unset
- ON_TextStyle::Default
- ON_TextStyle::ByLayer
- ON_TextStyle::ByParent
- ON_DimStyle::Unset
- ON_DimStyle::Default
- ON_DimStyle::DefaultInchDecimal
- ON_DimStyle::DefaultInchFractional
- ON_DimStyle::DefaultFootInchArchitecture
- ON_DimStyle::DefaultMillimeterSmall
- ON_DimStyle::DefaultMillimeterLarge
- ON_DimStyle::DefaultMillimeterArchitecture
A value identifying the model that manages this component.
Remarks: If the component is being managed by a model, this value identifies the model. In Rhino, this value is the document runtime serial number. Typically this value is set and locked by the code that adds a component to a model. This value is not saved in .3dm archives.
Gets or sets the name
Exceptions:
| InvalidOperationException | When setting the Name failed. This usually happens because the instance Name is already locked. |
Returns a value indicating whether the component Name is already locked.
Returns the string "::". This is the string Rhino uses in layer full path names to separate the names of individual layers.
When a component is in a model for reference, this value identifies the reference model.
Remarks: Reference components are not saved in .3dm archives. Typically this value is set and locked by the code that adds a component to a model. This value is not saved in .3dm archives.
UserData
List of custom information that is attached to this class.
UserDictionary
Dictionary of custom information attached to this class. The dictionary is actually user data provided as an easy to use shareable set of information.
Methods
public void ClearId()
Resets the HasId property of the model component to false, if possible.
Exceptions:
| InvalidOperationException | If the ID is locked. |
public void ClearIndex()
Resets the HasIndex property of the model component to false, if possible.
Exceptions:
| InvalidOperationException | If the index is locked. |
public void ClearName()
Resets the HasName property of the model component to false, if possible.
Exceptions:
| InvalidOperationException | If the name is locked. |
ConstructConstObject
Assigns a parent object and a sub-object index to this.
Increments the Cyclic Redundancy Check value by this instance.
Parameters:
| currentRemainder (uint) | The current remainder value. |
Returns: The updated remainder value.
Dispose
public void Dispose()
Actively reclaims unmanaged resources that this instance uses.
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.
Parameters:
| disposing (bool) | true if the call comes from the Dispose() method; false if it comes from the Garbage Collector finalizer. |
EnsurePrivateCopy
public void EnsurePrivateCopy()
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.
GetObjectData
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
Parameters:
| info (SerializationInfo) | The System.Runtime.Serialization.SerializationInfo to populate with data. |
| context (StreamingContext) | The destination (see System.Runtime.Serialization.StreamingContext) for this serialization. |
Tests for a valid model component name.
Parameters:
| name (string) | The string to validate. |
Returns: true if the string is a valid model component name, false otherwise.
IsValidWithLog
Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.
Parameters:
| log (out string) | A textual log. This out parameter is assigned during this call. |
Returns: true if this object is valid; false otherwise.
Informs the developer if a particular model component type will require case-ignoring searching within a document. This is currently true with groups; false otherwise.
Parameters:
| type (ModelComponentType) | True if the component ignores case. |
Informs the developer if a particular model component type will include the hash of the parent.
Parameters:
| type (ModelComponentType) | True if the component includes parent hash. |
Informs the developer if a particular model component type will require uniqueness within a document. This is currently true with render materials and model geometry; false otherwise.
Parameters:
| type (ModelComponentType) | The type to check. |
Returns: true with render materials and model geometry; false otherwise.
NonConstOperation
protected virtual void NonConstOperation()
For derived classes implementers.
Defines the necessary implementation to free the instance from being constant.
OnSwitchToNonConst
protected virtual void OnSwitchToNonConst()
Is called when a non-constant operation first occurs.
ToJSON
Create a JSON string representation of this object
Parameters:
| options (SerializationOptions) |
ToString
#Returns the name of the model component type, and then its name and index.
Remarks: This is provided as a visual aid. Do not rely on this for serialization.
Overrides: Object.ToString