Click or drag to resize

RhinoObject Class

Represents an object in the document.

RhinoObjects should only ever be creatable by the RhinoDoc.

Inheritance Hierarchy
SystemObject
  Rhino.DocObjectsRhinoObject
    More...

Namespace:  Rhino.DocObjects
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
public class RhinoObject

The RhinoObject type exposes the following members.

Properties
  NameDescription
Public propertyAttributes
Gets or sets the object attributes.
Public propertyComponentStatus
Gets or sets the component status of the model component.
(Inherited from ModelComponent.)
Public propertyComponentType
Returns ModelGeometry.
(Overrides ModelComponentComponentType.)
Public propertyDisposed
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
(Inherited from CommonObject.)
Public propertyDocument
Gets the document that owns this object.
Public propertyGeometry
Gets the underlying geometry for this object.

All rhino objects are composed of geometry and attributes.

Public propertyGripsOn
Gets or sets the activation state of object default editing grips.
Public propertyGripsSelected
true if grips are turned on and at least one is selected.
Public propertyGroupCount
Number of groups object belongs to.
Public propertyHasDynamicTransform
True if the object has a dynamic transformation
Public propertyHasId
Returns a value indicating whether the component has an ID.
(Inherited from ModelComponent.)
Public propertyHasIndex
Returns a value indicating whether the component has an Index.
(Inherited from ModelComponent.)
Public propertyHasName
Returns a value indicating whether the component has a Name.
(Inherited from ModelComponent.)
Public propertyHasSubobjectMaterials
Will be true if the object contains sub object meshes with materials that are different than the top level object.
Public propertyHasUserData
Gets true if this class has any custom information attached to it through UserData.
(Inherited from CommonObject.)
Public propertyId
Every object has a Guid (globally unique identifier, also known as UUID, or universally unique identifier). The default value is Guid.Empty.

When an object is added to a model, the value is checked. If the value is Guid.Empty, a new Guid is created. If the value is not null but it is already used by another object in the model, a new Guid is created. If the value is not Guid.Empty and it is not used by another object in the model, then that value persists. When an object is updated, by a move for example, the value of ObjectId persists.

This value is the same as the one returned by this.Attributes.ObjectId.

Public propertyIdIsLocked
Returns a value indicating whether the component ID is already locked.
(Inherited from ModelComponent.)
Public propertyIndex
Gets or sets the model component index attribute.
(Inherited from ModelComponent.)
Public propertyIndexIsLocked
Returns a value indicating whether the component Index is already locked.
(Inherited from ModelComponent.)
Public propertyIsComponentStatusLocked
The component status itself can be locked. This returns an indication.
(Inherited from ModelComponent.)
Public propertyIsDeletable
Some objects cannot be deleted, like grips on lights and annotation objects.
Public propertyIsDeleted
true if the object is deleted. Deleted objects are kept by the document for undo purposes. Call RhinoDoc.UndeleteObject to undelete an object.
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 propertyIsHidden
An object must be in one of three modes: normal, locked or hidden. If an object is in normal mode, then the object's layer controls visibility and selectability. If an object is locked, then the object's layer controls visibility by the object cannot be selected. If the object is hidden, it is not visible and it cannot be selected.
Public propertyIsInstanceDefinitionGeometry
true if the object is used as part of an instance definition.
Public propertyIsLocked
An object must be in one of three modes: normal, locked or hidden. If an object is in normal mode, then the object's layer controls visibility and selectability. If an object is locked, then the object's layer controls visibility by the object cannot be selected. If the object is hidden, it is not visible and it cannot be selected.
Public propertyIsNormal
An object must be in one of three modes: normal, locked or hidden. If an object is in normal mode, then the object's layer controls visibility and selectability. If an object is locked, then the object's layer controls visibility by the object cannot be selected. If the object is hidden, it is not visible and it cannot be selected.
Public propertyIsReference
Gets a value indicating if an object is a reference object. An object from a work session reference model is a reference object and cannot be modified. An object is a reference object if, and only if, it is on a reference layer.
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
(Inherited from ModelComponent.)
Public propertyIsValid
Tests an object to see if its data members are correctly initialized.


In Rhino for Windows 6.0 BETA, this member is inherited from CommonObjectIsValid.
Public propertyName
Rhino objects have optional text names. More than one object in a model can have the same name and some objects may have no name.
Public propertyNameIsLocked
Returns a value indicating whether the component Name is already locked.
(Inherited from ModelComponent.)
Public propertyStatic memberNextRuntimeSerialNumber
Gets the runtime serial number that will be assigned to the next Rhino Object that is created.
Public propertyObjectType
Gets the Rhino-based object type.
Public propertyRenderMaterial
Gets the render material associated with this object or null if there is none. This does not pay attention to the material source and will not check parent objects or layers for a RenderMaterial.
Public propertyRuntimeSerialNumber
Gets the objects runtime serial number.
Public propertySubobjectMaterialComponents
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 sharable set of information.
(Inherited from CommonObject.)
Public propertyVisible
Gets the object visibility.
Top
Methods
  NameDescription
Public methodClearId
Resets the HasId property of the model component to false, if possible.
(Inherited from ModelComponent.)
Public methodClearIndex
Resets the HasIndex property of the model component to false, if possible.
(Inherited from ModelComponent.)
Public methodClearName
Resets the HasName property of the model component to false, if possible.
(Inherited from ModelComponent.)
Public methodCode exampleCommitChanges
Moves changes made to this RhinoObject into the RhinoDoc.
Protected methodConstructConstObject
Assigns a parent object and a subobject index to this.
(Inherited from CommonObject.)
Public methodCreateMeshes
Create meshes used to render and analyze surface and polysrf objects.
Public methodDataCRC
Increments the Cyclic Redundancy Check value by this instance.
(Inherited from ModelComponent.)
Public methodDescription
Get a brief description of a object, including it's attributes and geometry.
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 methodCode exampleDuplicateGeometry
Constructs a deep (full) copy of the geometry.
Public methodEnableCustomGrips
Turns on/off the object's editing grips.
Public methodEnableVisualAnalysisMode
Used to turn analysis modes on and off.
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 (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Protected methodFinalize
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Inherited from CommonObject.)
Public methodStatic memberFromRuntimeSerialNumber
Get a Rhino object for a unique runtime serial number
Public methodGetActiveVisualAnalysisModes
Gets a list of currently enabled analysis modes for this object.
Public methodGetCustomRenderMeshParameter
Query the object for the value of a given named custom render mesh parameter.
Public methodGetDynamicTransform
While an object is being dynamically tranformed (dragged, rotated, ...), the current transformation can be retrieved and used for creating dynamic display.
Public methodGetGrips
Returns grips for this object If grips are enabled. If grips are not enabled, returns null.
Public methodGetGroupList
Allocates an array of group indices of length GroupCount. If GroupCount is 0, then this method returns null.
Public methodGetHashCode (Inherited from Object.)
Public methodGetHighlightedSubObjects
Gets a list of all highlighted subobjects.
Public methodGetMaterial(Boolean)
Gets material that this object uses based on it's attributes and the document that the object is associated with. In the rare case that a document is not associated with this object, null will be returned.
Public methodGetMaterial(ComponentIndex)
Get the Material associated with the sub object identified by componentIndex if the component index is set to ComponentIndex.Unset then the top level material is returned.
Public methodGetMaterial(ComponentIndex, Guid)
Get the Material associated with the sub object identified by componentIndex if the component index is set to ComponentIndex.Unset then the top level material is returned.
Public methodGetMaterial(ComponentIndex, Guid, ObjectAttributes)
Get the Material associated with the sub object identified by componentIndex if the component index is set to ComponentIndex.Unset then the top level material is returned.
Public methodGetMeshes
Get existing meshes used to render and analyze surface and polysrf objects.
Public methodGetObjectData
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
(Inherited from CommonObject.)
Public methodGetRenderMaterial(Boolean)
Gets the RenderMaterial that this object uses based on it's attributes and the document that the object is associated with. If there is no RenderMaterial associated with this object then null is returned. If null is returned you should call GetMaterial to get the material used to render this object.
Public methodGetRenderMaterial(ComponentIndex)
Gets the RenderMaterial associated with this object if there is one. If there is no RenderMaterial associated with this object then null is returned. If null is returned you should call GetMaterial to get the material used to render this object.
Public methodGetRenderMaterial(ComponentIndex, Guid)
Gets the RenderMaterial associated with this object if there is one. If there is no RenderMaterial associated with this object then null is returned. If null is returned you should call GetMaterial to get the material used to render this object.
Public methodGetRenderMaterial(ComponentIndex, Guid, ObjectAttributes)
Gets the RenderMaterial associated with this object if there is one. If there is no RenderMaterial associated with this object then null is returned. If null is returned you should call GetMaterial to get the material used to render this object.
Public methodStatic memberGetRenderMeshes
Gets the render meshes of some objects.
Public methodGetRenderMeshParameters
Meshing parameters that this object uses for generating render meshes. If the object's attributes do not have custom meshing parameters, then the document's meshing parameters are used.
Public methodGetRenderPrimitiveList(ViewportInfo, DisplayPipelineAttributes)
Build custom render mesh(es) for this object.
Public methodGetRenderPrimitiveList(ViewportInfo, Boolean) Obsolete.
Build custom render mesh(es) for this object.
Public methodGetSelectedSubObjects
Get a list of all selected sub-objects.
Public methodGetSubObjects
Gets an array of sub-objects.
Public methodGetTextureChannels
Get a list of the texture mapping channel Id's associated with object.
Public methodGetTextureMapping(Int32)
Public methodGetTextureMapping(Int32, Transform)
Get objects texture mapping
Public methodGetType (Inherited from Object.)
Public methodHasTextureMapping
Returns true if this object has a texture mapping form any source (pluginId)
Public methodHighlight
Modifies the highlighting of the object.
Public methodHighlightSubObject
Highlights a subobject.
Public methodInVisualAnalysisMode
Reports if any visual analysis mode is currently active for an object.
Public methodInVisualAnalysisMode(VisualAnalysisMode)
Reports if a visual analysis mode is currently active for an object.
Public methodIsActiveInViewport
Determine if this object is active in a particular viewport.
Public methodIsHighlighted
Check highlight state.
Public methodIsMeshable
Returns true if the object is capable of having a mesh of the specified type
Public methodIsSelectable
Reports if an object can be selected.
Public methodIsSelectable(Boolean, Boolean, Boolean, Boolean)
Reports if an object can be selected.
Public methodIsSelected
Check selection state.
Public methodIsSubObjectHighlighted
Determines if a subobject is highlighted.
Public methodIsSubObjectSelectable
Reports if a subobject can be selected.
Public methodIsSubObjectSelected
Check sub-object selection state.
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.
(Inherited from ModelComponent.)
Public methodLockIndex
Locks the component Index property.
(Inherited from ModelComponent.)
Public methodLockName
Locks the component Name property.
(Inherited from ModelComponent.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodMemoryEstimate
Computes an estimate of the number of bytes that this object is using in memory. Note that this is a runtime memory estimate and does not directly compare to the amount of space take up by the object when saved to a file.
Public methodMeshCount
RhinoObjects can have several different types of meshes and different numbers of meshes. A b-rep can have a render and an analysis mesh on each face. A mesh object has a single render mesh and no analysis mesh. Curve, point, and annotation objects have no meshes.
Public methodStatic memberMeshObjects(IEnumerableRhinoObject, MeshingParameters, Mesh, ObjectAttributes)
Mesh Rhino Objects
Public methodStatic memberMeshObjects(IEnumerableRhinoObject, MeshingParameters, Boolean, Mesh, ObjectAttributes)
Mesh Rhino Objects
Public methodStatic memberMeshObjects(IEnumerableRhinoObject, MeshingParameters, Int32, Transform, Mesh, ObjectAttributes)
Mesh Rhino Objects
Protected methodNonConstOperation
For derived classes implementers.

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

(Inherited from CommonObject.)
Protected methodOnAddToDocument
This call informs an object it is about to be added to the list of active objects in the document.
Protected methodOnDeleteFromDocument
This call informs an object it is about to be deleted. Some objects, like clipping planes, need to do a little extra cleanup before they are deleted.
Protected methodOnDraw
Called when Rhino wants to draw this object
Protected methodOnDuplicate
Called when this a new instance of this object is created and copied from an existing object
Protected methodOnPick
Called to determine if this object or some sub-portion of this object should be picked given a pick context.
Protected methodOnPicked
Called when this object has been picked
Protected methodOnSelectionChanged
Called when the selection state of this object has changed
Protected methodOnSpaceMorph
Called when a space morph has been applied to the geometry. Currently this only works for CustomMeshObject instances
Protected methodOnSwitchToNonConst
Is called when a non-const operation first occurs.
(Inherited from CommonObject.)
Protected methodOnTransform
Called when a transformation has been applied to the geometry
Public methodCode exampleSelect(Boolean)
Selects an object.
Public methodSelect(Boolean, Boolean)
Selects an object.
Public methodSelect(Boolean, Boolean, Boolean, Boolean, Boolean, Boolean)
Selects an object.
Public methodSelectSubObject(ComponentIndex, Boolean, Boolean)
Reports if an object can be selected.
Public methodSelectSubObject(ComponentIndex, Boolean, Boolean, Boolean)
Reports if an object can be selected.
Public methodSetCustomRenderMeshParameter
Set the named custom render mesh parameter value for this object.
Public methodSetTextureMapping
Public methodShortDescription
Gets a localized short descriptive name of the object.
Public methodSupportsRenderPrimitiveList(ViewportInfo, DisplayPipelineAttributes)
Determines if custom render meshes will be built for a particular object.
Public methodSupportsRenderPrimitiveList(ViewportInfo, Boolean) Obsolete.
Determines if custom render meshes will be built for a particular object.
Public methodToString (Inherited from Object.)
Public methodToString
Returns the name of the model component type, and then its name and index.
(Inherited from ModelComponent.)
Public methodTryGetRenderPrimitiveBoundingBox(ViewportInfo, DisplayPipelineAttributes, BoundingBox)
Get the bounding box for the custom render meshes associated with this object.
Public methodTryGetRenderPrimitiveBoundingBox(ViewportInfo, Boolean, BoundingBox) Obsolete.
Get the bounding box for the custom render meshes associated with this object.
Public methodUnhighlightAllSubObjects
Removes highlighting from all subobjects.
Public methodUnselectAllSubObjects
Removes selection from all subobjects.
Top
Version Information

Rhino for Mac

Supported in: 5.4 WIP

Rhino for Windows

Supported in: 6.0 BETA
See Also
Inheritance Hierarchy
SystemObject
  Rhino.DocObjectsRhinoObject
    Rhino.DocObjectsAnnotationObjectBase
    Rhino.DocObjectsBrepObject
    Rhino.DocObjectsClippingPlaneObject
    Rhino.DocObjectsCurveObject
    Rhino.DocObjectsDetailViewObject
    Rhino.DocObjectsExtrusionObject
    Rhino.DocObjectsGripObject
    Rhino.DocObjectsHatchObject
    Rhino.DocObjectsInstanceObject
    Rhino.DocObjectsLightObject
    Rhino.DocObjectsMeshObject
    Rhino.DocObjectsMorphControlObject
    Rhino.DocObjectsPointCloudObject
    Rhino.DocObjectsPointObject
    Rhino.DocObjectsSurfaceObject
    Rhino.DocObjectsTextDotObject