Click or drag to resize

ModelComponent Class

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.

Inheritance Hierarchy
SystemObject
  Rhino.RuntimeCommonObject
    Rhino.DocObjectsModelComponent
      More...

Namespace:  Rhino.DocObjects
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
public abstract class ModelComponent : CommonObject

The ModelComponent type exposes the following members.

Properties
  NameDescription
Public propertyComponentStatus
Gets or sets the component status of the model component.
Public propertyComponentType
Gets the ModelComponentType for this object. Useful in switch statements.
Public propertyDeletedName
Gets the name of a component that is deleted.
Public propertyDisposed
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
(Inherited from CommonObject.)
Public propertyHasId
Returns a value indicating whether the component has an ID.
Public propertyHasIndex
Returns a value indicating whether the component has an Index.
Public propertyHasName
Returns a value indicating whether the component has a Name.
Public propertyHasUserData
Gets true if this class has any custom information attached to it through UserData.
(Inherited from CommonObject.)
Public propertyId
Gets or sets the ID of the current instance.
Public propertyIdIsLocked
Returns a value indicating whether the component ID is already locked.
Public propertyIndex
Gets or sets the model component index attribute.
Public propertyIndexIsLocked
Returns a value indicating whether the component Index is already locked.
Public propertyInstanceDefinitionModelSerialNumber
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.
Public propertyIsComponentStatusLocked
The component status itself can be locked. This returns an indication.
Public propertyIsDeleted
true if the component is deleted. Deleted components are kept by the document for undo purposes.
Public propertyIsDocumentControlled
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.
(Inherited from CommonObject.)
Public propertyIsReference
Gets a value indicting whether this component is a referenced component. Referenced components are part of referenced documents.
Public propertyIsSystemComponent
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
Public propertyIsValid
Tests an object to see if it is valid.
(Inherited from CommonObject.)
Public propertyModelSerialNumber
A value identifying the model that manages this component.
Public propertyCode exampleName
Gets or sets the name
Public propertyNameIsLocked
Returns a value indicating whether the component Name is already locked.
Public propertyStatic memberNamePathSeparator
Returns the string "::". This is the string Rhino uses in layer full path names to separate the names of individual layers.
Public propertyReferenceModelSerialNumber
When a component is in a model for reference, this value identifies the reference model.
Public propertyUserData
List of custom information that is attached to this class.
(Inherited from CommonObject.)
Public propertyUserDictionary
Dictionary of custom information attached to this class. The dictionary is actually user data provided as an easy to use shareable set of information.
(Inherited from CommonObject.)
Top
Methods
  NameDescription
Public methodClearId
Resets the HasId property of the model component to false, if possible.
Public methodClearIndex
Resets the HasIndex property of the model component to false, if possible.
Public methodClearName
Resets the HasName property of the model component to false, if possible.
Protected methodConstructConstObject
Assigns a parent object and a sub-object index to this.
(Inherited from CommonObject.)
Public methodDataCRC
Increments the Cyclic Redundancy Check value by this instance.
Public methodDispose
Actively reclaims unmanaged resources that this instance uses.
(Inherited from CommonObject.)
Protected methodDispose(Boolean)
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.

(Inherited from CommonObject.)
Public methodEnsurePrivateCopy
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.
(Inherited from CommonObject.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Inherited from CommonObject.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetObjectData
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
(Inherited from CommonObject.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodStatic memberIsValidComponentName
Tests for a valid model component name.
Public methodIsValidWithLog
Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.
(Inherited from CommonObject.)
Public methodLockId
Locks the component Id property.
Public methodLockIndex
Locks the component Index property.
Public methodLockName
Locks the component Name property.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodStatic memberModelComponentTypeIgnoresCase
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.
Public methodStatic memberModelComponentTypeIncludesParent
Informs the developer if a particular model component type will include the hash of the parent.
Public methodStatic memberModelComponentTypeRequiresUniqueName
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.
Protected methodNonConstOperation
For derived classes implementers.

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

(Inherited from CommonObject.)
Protected methodOnSwitchToNonConst
Is called when a non-constant operation first occurs.
(Inherited from CommonObject.)
Public methodToJSON
Create a JSON string representation of this object
(Inherited from CommonObject.)
Public methodToString
Returns the name of the model component type, and then its name and index.
(Overrides ObjectToString.)
Top
See Also
Inheritance Hierarchy
SystemObject
  Rhino.RuntimeCommonObject
    Rhino.DocObjectsModelComponent
      Rhino.DocObjectsBitmapEntry
      Rhino.DocObjectsDimensionStyle
      Rhino.DocObjectsGroup
      Rhino.DocObjectsHatchPattern
      Rhino.DocObjectsLayer
      Rhino.DocObjectsLinetype
      Rhino.DocObjectsMaterial
      Rhino.DocObjectsRhinoObject
      Rhino.DocObjectsSectionStyle
      Rhino.FileIOFile3dmEmbeddedFile
      Rhino.FileIOFile3dmObject
      Rhino.FileIOFile3dmRenderContent
      Rhino.GeometryInstanceDefinitionGeometry
      Rhino.RenderTextureMapping