Rhino Object that represents text geometry and attributes

Properties

AnnotationGeometry

Get the annotation base geometry for this object
public AnnotationBase AnnotationGeometry { get; }
inherited fromAnnotationObjectBase

Attributes

Gets or sets the object attributes.
public virtual ObjectAttributes Attributes { get; set; }
inherited fromRhinoObject

ComponentStatus

Gets or sets the component status of the model component.
public virtual ComponentStatus ComponentStatus { get; set; }
inherited fromModelComponent

ComponentType

public override ModelComponentType ComponentType { get; }
inherited fromRhinoObject

DeletedName

Gets the name of a component that is deleted.
public string DeletedName { get; }
inherited fromModelComponent

DisplayText

Gets the text that is displayed to users.
public string DisplayText { get; }
inherited fromAnnotationObjectBase

Disposed

Indicates if this object has been disposed or the document it originally belonged to has been disposed.
public bool Disposed { get; }
inherited fromCommonObject

Document

Gets the document that owns this object.
public RhinoDoc Document { get; }
inherited fromRhinoObject

EditPointGripsOn

true when the grips this object has on are edit points, of either kind.
public bool EditPointGripsOn { get; }
inherited fromRhinoObject
Remarks: The read-side companion of RhinoObject.EnableEditPointGrips(). RhinoObject.EnabledGripsId answers the same question for a plug-in's own kind, by comparing the id it registered.

EnabledGripsId

Which kind of grips this object currently has on.
public Guid EnabledGripsId { get; }
inherited fromRhinoObject
Remarks: Guid.Empty both for default grips and for no grips at all. RhinoObject.GripsOn tells those two apart. Record it to replay a grip selection later: handing it back to RhinoObject.EnableGrips(Guid) restores the same kind. From a grip, reach it as GripObject.Owner.RhinoObject.EnabledGripsId.

Geometry

Gets the underlying geometry for this object.

All rhino objects are composed of geometry and attributes.

public virtual GeometryBase Geometry { get; }
inherited fromRhinoObject

GripsOn

Gets or sets the activation state of object default editing grips.
public bool GripsOn { get; set; }
inherited fromRhinoObject

GripsSelected

true if grips are turned on and at least one is selected.
public bool GripsSelected { get; }
inherited fromRhinoObject

GroupCount

Number of groups object belongs to.
public int GroupCount { get; }
inherited fromRhinoObject

HasDynamicTransform

True if the object has a dynamic transformation
public bool HasDynamicTransform { get; }
inherited fromRhinoObject

HasId

Returns a value indicating whether the component has an ID.
public bool HasId { get; }
inherited fromModelComponent

HasIndex

Returns a value indicating whether the component has an Index.
public bool HasIndex { get; }
inherited fromModelComponent

HasMeasurableTextFields

Test if the text in the annotation object contains fields that involve length, area, or volume measurements
public bool HasMeasurableTextFields { get; }
inherited fromAnnotationObjectBase

HasName

Returns a value indicating whether the component has a Name.
public bool HasName { get; }
inherited fromModelComponent

HasSubobjectMaterials

Will be true if the object contains sub object meshes with materials that are different than the top level object.
public bool HasSubobjectMaterials { get; }
inherited fromRhinoObject

HasUserData

Gets true if this class has any custom information attached to it through UserData.
public bool HasUserData { get; }
inherited fromCommonObject

Id

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 override Guid Id { get; set; }
inherited fromRhinoObject

IdIsLocked

Returns a value indicating whether the component ID is already locked.
public bool IdIsLocked { get; }
inherited fromModelComponent

Index

Gets or sets the model component index attribute.
public virtual int Index { get; set; }
inherited fromModelComponent
InvalidOperationExceptionWhen setting the Index failed. This usually happens because the instance Index is already locked.

IndexIsLocked

Returns a value indicating whether the component Index is already locked.
public bool IndexIsLocked { get; }
inherited fromModelComponent

InstanceDefinitionModelSerialNumber

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.
[CLSCompliant(false)] public override uint InstanceDefinitionModelSerialNumber { get; }
inherited fromRhinoObject
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.

IsComponentStatusLocked

The component status itself can be locked. This returns an indication.
public bool IsComponentStatusLocked { get; }
inherited fromModelComponent

IsDeletable

Some objects cannot be deleted, like grips on lights and annotation objects.
public bool IsDeletable { get; protected set; }
inherited fromRhinoObject

IsDeleted

true if the object is deleted. Deleted objects are kept by the document for undo purposes. Call RhinoDoc.UndeleteObject to undelete an object.
public override bool IsDeleted { get; }
inherited fromRhinoObject

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.
public virtual bool IsDocumentControlled { get; }
inherited fromCommonObject

IsHidden

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 bool IsHidden { get; }
inherited fromRhinoObject

IsInstanceDefinitionGeometry

true if the object is used as part of an instance definition.
public bool IsInstanceDefinitionGeometry { get; }
inherited fromRhinoObject

IsLocked

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 bool IsLocked { get; }
inherited fromRhinoObject

IsNormal

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 bool IsNormal { get; }
inherited fromRhinoObject

IsPictureFrame

Returns true if the object is a picture frame. A picture frame object is an object that displays a texture map in all views.
public bool IsPictureFrame { get; }
inherited fromRhinoObject

IsReference

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 override bool IsReference { get; }
inherited fromRhinoObject

IsSolid

Returns true if object is a closed solid, otherwise false.
public bool IsSolid { get; }
inherited fromRhinoObject

IsSystemComponent

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 bool IsSystemComponent { get; }
inherited fromModelComponent

IsValid

Tests an object to see if it is valid.
public virtual bool IsValid { get; }
inherited fromCommonObject

ModelSerialNumber

A value identifying the model that manages this component.
[CLSCompliant(false)] public virtual uint ModelSerialNumber { get; }
inherited fromModelComponent
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.

Name

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 override string Name { get; set; }
inherited fromRhinoObject

NameIsLocked

Returns a value indicating whether the component Name is already locked.
public bool NameIsLocked { get; }
inherited fromModelComponent

ObjectType

Gets the Rhino-based object type.
[CLSCompliant(false)] public ObjectType ObjectType { get; }
inherited fromRhinoObject

ReferenceModelSerialNumber

When a component is in a model for reference, this value identifies the reference model.
[CLSCompliant(false)] public override uint ReferenceModelSerialNumber { get; }
inherited fromRhinoObject
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.

RenderMaterial

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 RenderMaterial RenderMaterial { get; set; }
inherited fromRhinoObject

RuntimeSerialNumber

Gets the objects runtime serial number.
[CLSCompliant(false)] public uint RuntimeSerialNumber { get; }
inherited fromRhinoObject

SubobjectMaterialComponents

public ComponentIndex[] SubobjectMaterialComponents { get; }
inherited fromRhinoObject

TextGeometry

#Since v5.0
Get the text geometry for this object.
public TextEntity TextGeometry { get; }

UsePreviewMesh

True when the display should draw this object's preview mesh instead of its render or analysis mesh.
public bool UsePreviewMesh { get; }
inherited fromRhinoObject
Remarks: Only meaningful while drawing: the meshing worker thread raises this for the objects it is previewing and it is false the rest of the time. A texture or false colour VisualAnalysisMode reads it from SetUpDisplayAttributes to decide whether to show mesh wires, which is what the built-in analysis modes do.

UserData

List of custom information that is attached to this class.
public UserDataList UserData { get; }
inherited fromCommonObject

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.
public ArchivableDictionary UserDictionary { get; }
inherited fromCommonObject

Visible

Gets the object visibility.
public bool Visible { get; }
inherited fromRhinoObject

WorksessionReferenceSerialNumber

Obsolete - use ReferenceModelSerialNumber
[EditorBrowsable(EditorBrowsableState.Never)] [CLSCompliant(false)] public uint WorksessionReferenceSerialNumber { get; }
inherited fromRhinoObject

Methods

ClearId

Resets the HasId property of the model component to false, if possible.
public void ClearId()
inherited fromModelComponent
InvalidOperationExceptionIf the ID is locked.

ClearIndex

Resets the HasIndex property of the model component to false, if possible.
public void ClearIndex()
inherited fromModelComponent
InvalidOperationExceptionIf the index is locked.

ClearName

Resets the HasName property of the model component to false, if possible.
public void ClearName()
inherited fromModelComponent
InvalidOperationExceptionIf the name is locked.

CommitChanges

Moves changes made to this RhinoObject into the RhinoDoc.
public bool CommitChanges()
inherited fromRhinoObject
true if changes were made.

ConstructConstObject

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

CopyHistoryOnReplace

Gets the setting of the CopyOnReplace field in this object's history
public bool CopyHistoryOnReplace()
inherited fromRhinoObject
true if this object has history and the field is set false otherwise

CreateMeshes

Create meshes used to render and analyze surface and polysurface objects.
public virtual int CreateMeshes(
meshType,
type of meshes to create
parameters,
in parameters that control the quality of the meshes that are created
ignoreCustomParameters
Default should be false. Should the object ignore any custom meshing parameters on the object's attributes
)
inherited fromRhinoObject
number of meshes created

CreateSections

Generate section curves by intersecting a plane with an object of type Brep, Extrusion, SubD ,Mesh or Block Instance.
public GeometryBase[] CreateSections(
plane,
Intersecting plane.
name,
Name for section of objects.
tolerance,
The intersection tolerance. When in doubt, use the document's model absolute tolerance.
objectAttributes
Object attributes, one for each returned geometry item.
)
inherited fromRhinoObject
Section geometry in the form of Breps, Extrusions, Meshes, and Curves if successful. An empty array if unsuccessful.

CreateSlices

Generate slices by intersecting a plane with an object of type Brep, Extrusion, SubD , Mesh, or Block Instance.
public GeometryBase[] CreateSlices(
centerPlane,
Intesecting plane.
name,
Name for section of objects.
thickness,
Thickness of the slice. If thickness is less than tolerance, a surface will be created instead of a solid slice.
tolerance,
The intersection tolerance. When in doubt, use the document's model absolute tolerance.
objectAttributes
Object attributes, one for each returned geometry item.
)
inherited fromRhinoObject
Slice geometry in the form of Breps, Extrusions, Meshes, and Curves if successful. An empty array if unsuccessful.

CustomRenderMeshesBoundingBox

Returns the bounding box of custom render primitives for this object .
public bool CustomRenderMeshesBoundingBox(
mt,
The mesh type requested (render or analysis).
vp,
The viewport being rendered
ref Flags
flags,
See RenderMeshProvider.Flags. This is an in/out parameter: on return it also carries any status flags, so reset it before each call. See RhinoObject.RenderMeshes(MeshType, ViewportInfo, List<InstanceObject>, RenderMeshProvider.Flags, PlugIn, DisplayPipelineAttributes) for how to wait for an asynchronous provider.
plugin,
The requesting plug-in (typically the calling plugin)
attrs,
Display attributes for the caller - null if this is a full rendering.
boundingBox
The requested bounding box
)
inherited fromRhinoObject
True if the process was a success

DataCRC

Increments the Cyclic Redundancy Check value by this instance.
[CLSCompliant(false)] public uint DataCRC(
currentRemainder
The current remainder value.
)
inherited fromModelComponent
The updated remainder value.

DeleteHistoryRecord

For expert use only. Deletes existing history record
public bool DeleteHistoryRecord()
inherited fromRhinoObject
true if history record was purged

Description

Get a brief description of a object, including it's attributes and geometry.
public void Description(
textLog
A text log for collecting the description.
)
inherited fromRhinoObject

DestroyMeshes

Destroys cached meshes of type meshType
public virtual void DestroyMeshes(
meshType
type of meshes to create
)
inherited fromRhinoObject
number of meshes created

Dispose

Actively reclaims unmanaged resources that this instance uses.
public void Dispose()
inherited fromCommonObject

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.
)
inherited fromCommonObject

DuplicateGeometry

Constructs a deep (full) copy of the geometry.
public GeometryBase DuplicateGeometry()
inherited fromRhinoObject
A copy of the internal geometry.

EnableCustomGrips

Turns on/off the object's editing grips.
public bool EnableCustomGrips(
customGrips
The custom object grips.
)
inherited fromRhinoObject
true if the call succeeded. If you attempt to add custom grips to an object that does not support custom grips, then false is returned.

EnableEditPointGrips

Turns on edit point grips, the ones the EditPtOn command turns on.
public bool EnableEditPointGrips()
inherited fromRhinoObject
Remarks: Curves and SubDs carry separate kinds of edit point grips. This picks the one that suits the object, as EditPtOn does, so a caller does not have to. An object that is neither is left exactly as it was. For a curve or a SubD, what happens to grips already on is described by RhinoObject.EnableGrips(Guid).
true if the object has edit point grips when this returns. false for an object that has none: anything that is not a curve or a SubD, a curve with more than 1000 edit points or too few control points to have any, an empty SubD, and the cases RhinoObject.EnableGrips(Guid) returns false for.

EnableGrips

Turns on grips of one particular kind, replacing grips of any other kind.
public bool EnableGrips(
gripsId
Id of a grips enabler registered with CustomObjectGrips.RegisterGripsEnabler(TurnOnGripsEventHandler, Type). Guid.Empty means no custom grips: the object's own default grips, which is what the PointsOn command turns on. For edit points call RhinoObject.EnableEditPointGrips() rather than naming a kind here; curves and SubDs use different ones and it picks between them.
)
inherited fromRhinoObject
Remarks:

Grips that were on are put back when the requested kind cannot be made, so a false return leaves the object with the grips it had.

Except when the requested kind is already on, the grips are new objects afterwards and a GripObject held across this call is stale.

Grips this turns on are not subject to Automatic Points On. They stay on until something turns them off, as with PointsOn and EditPtOn.

true if the object has grips of the requested kind when this returns. false if nothing is registered for gripsId, if the object has no grips of that kind (a polysurface has no default grips), or if the grips already on refused to turn off, which they do while they are being dragged.

EnableVisualAnalysisMode

Used to turn analysis modes on and off.
public bool EnableVisualAnalysisMode(
mode,
A visual analysis mode.
enable
true if the mode should be activated; false otherwise.
)
inherited fromRhinoObject
true if this object supports the analysis mode.

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.
public void EnsurePrivateCopy()
inherited fromCommonObject

GetActiveVisualAnalysisModes

Gets a list of currently enabled analysis modes for this object.
public VisualAnalysisMode[] GetActiveVisualAnalysisModes()
inherited fromRhinoObject
An array of visual analysis modes. The array can be empty, but not null.

GetBoundingBox

Called when Rhino wants the bounding box of this object. Viewpoert can be null. This is the default base class version that will go through to the C++ base class if it is called from the custom object
protected virtual BoundingBox GetBoundingBox(
viewport
For objects like labels or lights, the viewport in which the bounding box should be calculated. Otherwise null.
)
inherited fromRhinoObject
The bounding box.

GetCustomRenderMeshParameter

Query the object for the value of a given named custom render mesh parameter.
[CLSCompliant(false)] public virtual IConvertible GetCustomRenderMeshParameter(
providerId,
Id of the custom render mesh provider
parameterName
Name of the parameter
)
inherited fromRhinoObject
IConvertible. Note that you can't directly cast from object, instead you have to use the Convert mechanism.

GetDynamicTransform

While an object is being dynamically transformed (dragged, rotated, ...), the current transformation can be retrieved and used for creating dynamic display.
public bool GetDynamicTransform(
transform
)
inherited fromRhinoObject
True if the object is being edited and its transformation is available. False if the object is not being edited, in which case the identity transform is returned.

GetGrips

Returns grips for this object If grips are enabled. If grips are not enabled, returns null.
public GripObject[] GetGrips()
inherited fromRhinoObject
An array of grip objects; or null if there are no grips.

GetGroupList

Allocates an array of group indices of length GroupCount. If RhinoObject.GroupCount is 0, then this method returns null.
public int[] GetGroupList()
inherited fromRhinoObject
An array of group indices, or null if RhinoObject.GroupCount is 0.

GetHighlightedSubObjects

Gets a list of all highlighted sub-objects.
public ComponentIndex[] GetHighlightedSubObjects()
inherited fromRhinoObject
An array of all highlighted sub-objects; or null is there are none.

GetMaterial

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 Material GetMaterial(
frontMaterial
If true, gets the material used to render the object's front side
)
inherited fromRhinoObject

GetMaterial

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 Material GetMaterial(
componentIndex,
Returns the material associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset
plugInId,
The plug-in specific material to look for.
attributes
Optional object attributes used to determine the material source, if null the objects attributes are used.
)
inherited fromRhinoObject
Returns 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.

GetMaterial

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 Material GetMaterial(
componentIndex,
Returns the material associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset
plugInId
The plug-in specific material to look for.
)
inherited fromRhinoObject
Returns 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.

GetMaterial

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 Material GetMaterial(
componentIndex
Returns the material associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset
)
inherited fromRhinoObject
Returns 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.

GetMeshes

Get existing meshes used to render and analyze surface and polysurface objects.
public virtual Mesh[] GetMeshes(
meshType
)
inherited fromRhinoObject
An array of meshes.

GetObjectData

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.
)
inherited fromCommonObject

GetRenderMaterial

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 RenderMaterial GetRenderMaterial(
frontMaterial
If true, gets the material used to render the object's front side otherwise; gets the material used to render the back side of the object.
)
inherited fromRhinoObject
If there is a RenderMaterial associated with this objects' associated Material then it is returned otherwise; null is returned.

GetRenderMaterial

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 RenderMaterial GetRenderMaterial(
componentIndex,
Returns the RenderMaterial associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset
plugInId,
The plug-in specific material to look for.
attributes
Optional object attributes used to determine the material source, if null the objects attributes are used.
)
inherited fromRhinoObject
Returns the RhinoObject.RenderMaterial associated with the sub object identified by componentIndex if the component index is set to ComponentIndex.Unset then the top level RenderMaterail is returned. If this method returns null it means there is no RenderMaterial associated with the object or sub object so you should may GetMaterial get the objects generic material.

GetRenderMaterial

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 RenderMaterial GetRenderMaterial(
componentIndex,
Returns the RenderMaterial associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset
plugInId
The plug-in specific material to look for.
)
inherited fromRhinoObject
Returns the RhinoObject.RenderMaterial associated with the sub object identified by componentIndex if the component index is set to ComponentIndex.Unset then the top level RenderMaterail is returned. If this method returns null it means there is no RenderMaterial associated with the object or sub object so you should may GetMaterial get the objects generic material.

GetRenderMaterial

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 RenderMaterial GetRenderMaterial(
componentIndex
Returns the RenderMaterial associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset
)
inherited fromRhinoObject
Returns the RhinoObject.RenderMaterial associated with the sub object identified by componentIndex if the component index is set to ComponentIndex.Unset then the top level RenderMaterail is returned. If this method returns null it means there is no RenderMaterial associated with the object or sub object so you should may GetMaterial get the objects generic material.

GetRenderMeshParameters

Returns the meshing parameters that this object uses for generating render meshes. If this object does not have per-object meshing parameters, then the document's meshing parameters are returned.
public MeshingParameters GetRenderMeshParameters()
inherited fromRhinoObject
The render meshing parameters.

GetRenderMeshParameters

Returns the meshing parameters that this object uses for generating render meshes.
public MeshingParameters GetRenderMeshParameters(
returnDocumentParametersIfUnset
If true, then return the per-object meshing parameters for this object. If this object does not have per-object meshing parameters, then the document's meshing parameters are returned. If false, then return the per-object meshing parameters for this object. If this object does not have per-object meshing parameters, then null is returned.
)
inherited fromRhinoObject
The render meshing parameters if successful, null otherwise.

GetRenderPrimitiveList

Build custom render mesh(es) for this object.
public RenderPrimitiveList GetRenderPrimitiveList(
viewport,
The viewport being rendered.
preview
Type of mesh to build, if preview is true then a smaller mesh may be generated in less time, false is meant when actually rendering.
)
obsoleteThis version is obsolete because it returns the obsolete RenderPrimitiveList - ie, the old school custom render meshes. Use CustomRenderMeshes instead.
Obsoleteinherited fromRhinoObject
Returns a RenderPrimitiveList if successful otherwise returns null.

GetRenderPrimitiveList

Build custom render mesh(es) for this object.
public RenderPrimitiveList GetRenderPrimitiveList(
viewport,
The viewport being rendered.
attrs
Attributes for the view mode you are supplying meshes for. Will be null if this is a modal rendering.
)
obsoleteThis version is obsolete because it returns the obsolete RenderPrimitiveList - ie, the old school custom render meshes. Use CustomRenderMeshes instead.
Obsoleteinherited fromRhinoObject
Returns a RenderPrimitiveList if successful otherwise returns null.

GetSelectedSubObjects

Get a list of all selected sub-objects.
public ComponentIndex[] GetSelectedSubObjects()
inherited fromRhinoObject
An array of sub-object indices, or null if there are none.

GetSubObjects

Explodes the object into sub-objects. It is up to the caller to add the returned objects to the document.
public RhinoObject[] GetSubObjects()
inherited fromRhinoObject
An array of Rhino objects, or null if this object cannot be exploded.

GetTextCorners

#Since v7.21
Gets the world 3D corner points of the whole text object.
public Point3d[] GetTextCorners(
viewport
The viewport in which to make the calculation.
)
The four corner points if successful, an empty array on failure.

GetTextureChannels

Get a list of the texture mapping channel Id's associated with object.
public int[] GetTextureChannels()
inherited fromRhinoObject
Returns an array of channel Id's or an empty list if there are not mappings.

GetTextureMapping

Get objects texture mapping
public TextureMapping GetTextureMapping(
channel,
objectTransform
)
inherited fromRhinoObject

GetTextureMapping

public TextureMapping GetTextureMapping(
channel
)
inherited fromRhinoObject

GetTightBoundingBox

Get tight bounding box of this Rhino object. The Rhino object is not modified.
protected virtual bool GetTightBoundingBox(
tightBox,
Beginning and resulting tight box
growBox,
If true and the input tight_bbox is valid, then returned tight_bbox is the union of the input tight_bbox and the tight bounding box of this Rhino object.
xform
If useXform==true, the tight bounding box of the transformed Rhino object is calculated.
)
inherited fromRhinoObject
true if the returned tight_bbox is set to a valid bounding box.

HasCustomRenderMeshes

Returns true if the object will has a set of custom render primitives - ie, CustomRenderMeshes will return non-null.
public bool HasCustomRenderMeshes(
mt,
The mesh type requested (render or analysis).
vp,
The viewport being rendered.
ref Flags
flags,
See RenderMeshProvider.Flags. This is an in/out parameter: on return it also carries any status flags, so reset it before each call. See RhinoObject.RenderMeshes(MeshType, ViewportInfo, List<InstanceObject>, RenderMeshProvider.Flags, PlugIn, DisplayPipelineAttributes) for how to wait for an asynchronous provider.
plugin,
The requesting plug-in (typically the calling plugin)
attrs
Display attributes for the caller - null if this is a full rendering.
)
inherited fromRhinoObject
Returns true if the object will has a set of custom render primitives

HasHistoryRecord

Returns whether this object has a history record
public bool HasHistoryRecord()
inherited fromRhinoObject

HasTextureMapping

Returns true if this object has a texture mapping form any source (pluginId)
public bool HasTextureMapping()
inherited fromRhinoObject

Highlight

Modifies the highlighting of the object.
public bool Highlight(
enable
true if highlighting should be enabled.
)
inherited fromRhinoObject
true if the object is now highlighted.

HighlightSubObject

Highlights a sub-object.
public bool HighlightSubObject(
componentIndex,
A sub-object component index.
highlight
true if the sub-object should be highlighted.
)
inherited fromRhinoObject
true if the sub-object is now highlighted.

HistoryChildren

Gets the ids of the child Rhino objects of this object.
public Guid[] HistoryChildren()
inherited fromRhinoObject
An array of Rhino object ids if successful, an empty array if the object has no children or on error.

HistoryParents

Gets the ids of the parent Rhino objects of this object.
public Guid[] HistoryParents()
inherited fromRhinoObject
An array of Rhino object ids if successful, an empty array if the object has no parents or on error.

InVisualAnalysisMode

Reports if any visual analysis mode is currently active for an object.
public bool InVisualAnalysisMode()
inherited fromRhinoObject
true if an analysis mode is active; otherwise false.

InVisualAnalysisMode

Reports if a visual analysis mode is currently active for an object.
public bool InVisualAnalysisMode(
mode
The mode to check for.

Use null if you want to see if any mode is active.

)
inherited fromRhinoObject
true if the specified analysis mode is active; otherwise false.

IsActiveInViewport

Determine if this object is active in a particular viewport.
public virtual bool IsActiveInViewport(
viewport
)
inherited fromRhinoObject
Remarks: The default implementation tests for space and viewport id. This handles things like testing if a page space object is visible in a modeling view.
True if the object is active in viewport

IsHighlighted

Check highlight state.
public int IsHighlighted(
checkSubObjects
If true and the entire object is not highlighted, and some subset of the object is highlighted, like some edges of a surface, then 3 is returned. If false and the entire object is not highlighted, then zero is returned.
)
inherited fromRhinoObject

0: object is not highlighted.

1: entire object is highlighted.

3: one or more proper sub-objects are highlighted.

IsMeshable

Returns true if the object is capable of having a mesh of the specified type
public virtual bool IsMeshable(
meshType
)
inherited fromRhinoObject

IsSelectable

Reports if an object can be selected.
public bool IsSelectable()
inherited fromRhinoObject
Remarks: Objects that are locked, hidden, or on locked or hidden layers cannot be selected. If IsSelectableWithGripsOn() returns false, then an that object is not selectable if it has grips turned on.
true if object is capable of being selected.

IsSelectable

Reports if an object can be selected.
public bool IsSelectable(
ignoreSelectionState,
If true, then selected objects are selectable. If false, then selected objects are not selectable.
ignoreGripsState,
If true, then objects with grips on can be selected. If false, then the value returned by the object's IsSelectableWithGripsOn() function decides if the object can be selected.
ignoreLayerLocking,
If true, then objects on locked layers are selectable. If false, then objects on locked layers are not selectable.
ignoreLayerVisibility
If true, then objects on hidden layers are selectable. If false, then objects on hidden layers are not selectable.
)
inherited fromRhinoObject
Remarks: Objects that are locked, hidden, or on locked or hidden layers cannot be selected. If IsSelectableWithGripsOn() returns false, then an that object is not selectable if it has grips turned on.
true if object is capable of being selected.

IsSelected

Check selection state.
public int IsSelected(
checkSubObjects
(false is good default) If true and the entire object is not selected, and some subset of the object is selected, like some edges of a surface, then 3 is returned. If false and the entire object is not selected, then zero is returned.
)
inherited fromRhinoObject
0 = object is not selected. 1 = object is selected. 2 = entire object is selected persistently. 3 = one or more proper sub-objects are selected.

IsSubObjectHighlighted

Determines if a sub-object is highlighted.
public bool IsSubObjectHighlighted(
componentIndex
A sub-object component index.
)
inherited fromRhinoObject
true if the sub-object is highlighted.

IsSubObjectSelectable

Reports if a sub-object can be selected.
public bool IsSubObjectSelectable(
componentIndex,
index of sub-object to check.
ignoreSelectionState
If true, then selected objects are selectable. If false, then selected objects are not selectable.
)
inherited fromRhinoObject
Remarks: Objects that are locked, hidden, or on locked or hidden layers cannot be selected. If IsSelectableWithGripsOn() returns false, then that object is not selectable if it has grips turned on.
true if the specified sub-object can be selected.

IsSubObjectSelected

Check sub-object selection state.
public bool IsSubObjectSelected(
componentIndex
Index of sub-object to check.
)
inherited fromRhinoObject
Remarks: A sub-object cannot be persistently selected.
true if the sub-object is selected.

IsValidWithLog

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.
)
inherited fromCommonObject
true if this object is valid; false otherwise.

LockId

Locks the component Id property.
public void LockId()
inherited fromModelComponent

LockIndex

Locks the component Index property.
public void LockIndex()
inherited fromModelComponent

LockName

Locks the component Name property.
public void LockName()
inherited fromModelComponent

MemoryEstimate

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.
[CLSCompliant(false)] public uint MemoryEstimate()
inherited fromRhinoObject
The estimated number of bytes this object occupies in memory.

MeshCount

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 virtual int MeshCount(
meshType,
type of mesh to count
parameters
if not null and if the object can change its mesh (like a brep), then only meshes that were created with these mesh parameters are counted.
)
inherited fromRhinoObject
number of meshes

NonConstOperation

For derived classes implementers.

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

protected virtual void NonConstOperation()
inherited fromCommonObject

ObjectFrame

public Plane ObjectFrame()
inherited fromRhinoObject

ObjectFrame

public Plane ObjectFrame(
ObjectFrameFlags
flags
)
inherited fromRhinoObject

OnAddToDocument

This call informs an object it is about to be added to the list of active objects in the document.
protected virtual void OnAddToDocument()
inherited fromRhinoObject

OnDeleteFromDocument

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 virtual void OnDeleteFromDocument()
inherited fromRhinoObject

OnDraw

Called when Rhino wants to draw this object
protected virtual void OnDraw()
inherited fromRhinoObject

OnDuplicate

Called when this a new instance of this object is created and copied from an existing object
protected virtual void OnDuplicate()
inherited fromRhinoObject

OnPick

Called to determine if this object or some sub-portion of this object should be picked given a pick context.
protected virtual IEnumerable<ObjRef> OnPick(
context
)
inherited fromRhinoObject

OnPicked

Called when this object has been picked
protected virtual void OnPicked(
context,
pickedItems
Items that were picked. This parameter is enumerable because there may have been multiple sub-objects picked
)
inherited fromRhinoObject

OnSelectionChanged

Called when the selection state of this object has changed
protected virtual void OnSelectionChanged()
inherited fromRhinoObject

OnSpaceMorph

Called when a space morph has been applied to the geometry. Currently this only works for CustomMeshObject instances
protected virtual void OnSpaceMorph()
inherited fromRhinoObject

OnSwitchToNonConst

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

OnTransform

Called when a transformation has been applied to the geometry
protected virtual void OnTransform(
transform
)
inherited fromRhinoObject

RenderMeshes

Returns a set of custom render primitives for this object.

Some providers - Displacement in particular - compute their meshes asynchronously. Until that work finishes, this method returns the object's ordinary render mesh instead of the custom one and reports that by setting RenderMeshProvider.Flags.Incomplete in flags. That mesh is valid geometry but does not yet reflect the provider, so a caller that measures it will see the object as it was beforehand. Test for the flag rather than trusting the first result.

public RenderMeshes RenderMeshes(
mt,
The mesh type requested (render or analysis).
vp,
The viewport being rendered
ancestry,
The ancestry tree - only used for by-parent object properties assignments.
ref Flags
flags,
On input, the options to apply; on return, the same value with any status flags added. Reset it before each call rather than passing the returned value back in. To wait for an asynchronous provider, call again while RenderMeshProvider.Flags.Incomplete remains set, calling RhinoApp.Wait() in between: the provider needs the main thread's message queue pumped before it can publish its result, so a retry loop that does not pump will never see the flag clear.
plugin,
The requesting plug-in (typically the calling plugin)
attrs
Display attributes for the caller - null if this is a full rendering.
)
inherited fromRhinoObject
A set of custom render primitives for this object, or the object's ordinary render mesh if an asynchronous provider has not finished - see flags. Null if the object is not in a document.

Select

Selects an object.
public int Select(
on,
The new selection state; true activates selection.
syncHighlight,
If true, then the object is highlighted if it is selected and unhighlighted if is not selected.

Highlighting can be and stay out of sync, as its specification is independent.

persistentSelect,
Objects that are persistently selected stay selected when a command terminates.
ignoreGripsState,
If true, then objects with grips on can be selected. If false, then the value returned by the object's IsSelectableWithGripsOn() function decides if the object can be selected when it has grips turned on.
ignoreLayerLocking,
If true, then objects on locked layers can be selected. If false, then objects on locked layers cannot be selected.
ignoreLayerVisibility
If true, then objects on hidden layers can be selectable. If false, then objects on hidden layers cannot be selected.
)
inherited fromRhinoObject
Remarks: Objects that are locked, hidden, or on locked or hidden layers cannot be selected. If IsSelectableWithGripsOn() returns false, then an that object is not selectable if it has grips turned on.

0: object is not selected.

1: object is selected.

2: object is selected persistently.

Select

Selects an object.
public int Select(
on,
The new selection state; true activates selection.
syncHighlight
If true, then the object is highlighted if it is selected and not highlighted if is not selected.

Highlighting can be and stay out of sync, as its specification is independent.

)
inherited fromRhinoObject
Remarks: Objects that are locked, hidden, or on locked or hidden layers cannot be selected. If IsSelectableWithGripsOn() returns false, then an that object is not selectable if it has grips turned on.

0: object is not selected.

1: object is selected.

2: object is selected persistently.

Select

Selects an object.
public int Select(
on
The new selection state; true activates selection.
)
inherited fromRhinoObject
Remarks: Objects that are locked, hidden, or on locked or hidden layers cannot be selected. If IsSelectableWithGripsOn() returns false, then an that object is not selectable if it has grips turned on.

0: object is not selected.

1: object is selected.

2: object is selected persistently.

SelectSubObject

Reports if an object can be selected.
public int SelectSubObject(
componentIndex,
Index of sub-object to check.
select,
The new selection state; true activates selection.
syncHighlight,
(default=true) If true, then the object is highlighted if it is selected and unhighlighted if is not selected.
persistentSelect
When true, selection persists even after the current command terminates.
)
inherited fromRhinoObject
Remarks: Objects that are locked, hidden, or on locked or hidden layers cannot be selected. If IsSelectableWithGripsOn() returns false, then an that object is not selectable if it has grips turned on.

0: object is not selected

1: object is selected

2: object is selected persistently.

SelectSubObject

Reports if an object can be selected.
public int SelectSubObject(
componentIndex,
Index of sub-object to check.
select,
The new selection state; true activates selection.
syncHighlight
(default=true) If true, then the object is highlighted if it is selected and unhighlighted if is not selected.
)
inherited fromRhinoObject
Remarks: Objects that are locked, hidden, or on locked or hidden layers cannot be selected. If IsSelectableWithGripsOn() returns false, then an that object is not selectable if it has grips turned on.
0: object is not selected 1: object is selected 2: object is selected persistently.

SetCopyHistoryOnReplace

If this object has a history record, the CopyOnReplace field is set When an object is replaced in a document and the old object has a history record with this field set, the history record is copied and attached to the new object. That allows a descendant object to continue the history linkage after it is edited.
public void SetCopyHistoryOnReplace(
bCopy
)
inherited fromRhinoObject

SetCustomRenderMeshParameter

Set the named custom render mesh parameter value for this object.
public virtual void SetCustomRenderMeshParameter(
providerId,
Id of the custom render mesh provider
parameterName,
value
)
inherited fromRhinoObject

SetHistory

For expert use only. Sets the history record that describes how this object was created. This information is used to update this object when Rhino history is enabled and an input object changes.
public bool SetHistory(
history
The history record.
)
inherited fromRhinoObject
true if successful, otherwise false.

SetObjectFrame

public void SetObjectFrame(
plane
)
obsoleteUse Attributes.SetObjectFrame instead
Obsoleteinherited fromRhinoObject

SetObjectFrame

public void SetObjectFrame(
xform
)
obsoleteUse Attributes.SetObjectFrame instead
Obsoleteinherited fromRhinoObject

SetRenderMeshParameters

Sets the per-object meshing parameters for this object. When set, this object will use these meshing parameters when generating a render mesh, instead of those provided by the document.
public bool SetRenderMeshParameters(
mp
The per-object meshing parameters. Note: if null, then the per-object meshing parameters will be removed, and this object will revert to using the meshing parameters provided by the document.
)
inherited fromRhinoObject
True if successful, false otherwise.

SetTextureMapping

Sets texture mapping and mapping object transform for a channel
public int SetTextureMapping(
channel,
tm,
The TextureMapping to set into this channel, or null to remove a texture mapping from a channel.
objectTransform
Mapping channel object transform
)
inherited fromRhinoObject

SetTextureMapping

public int SetTextureMapping(
channel,
tm
)
inherited fromRhinoObject

ShortDescription

Gets a localized short descriptive name of the object.
public virtual string ShortDescription(
plural
true if the descriptive name should in plural.
)
inherited fromRhinoObject
A string with the short localized descriptive name.

ShortDescriptionWithClosedStatus

Gets a localized short descriptive name of the object, along with it's open/closed status.
public string ShortDescriptionWithClosedStatus(
prepend,
true if "open" or "closed" should be prepended to the descriptive name.
plural,
true if the descriptive name should in plural.
out int
status
The open/closed status, where: 0 = undefined, 1 = open, 2 = closed.
)
inherited fromRhinoObject
A string with the short localized descriptive name.

SupportsRenderPrimitiveList

Determines if custom render meshes will be built for a particular object.
public bool SupportsRenderPrimitiveList(
viewport,
The viewport being rendered.
preview
Type of mesh to build. If attributes is non-null then a smaller mesh may be generated in less time, false is meant when actually rendering.
)
obsoleteUse HasCustomRenderPrimitives instead
Obsoleteinherited fromRhinoObject
Returns true if custom render mesh(es) will get built for this object.

SupportsRenderPrimitiveList

Determines if custom render meshes will be built for a particular object.
public bool SupportsRenderPrimitiveList(
viewport,
The viewport being rendered.
attrs
Type of mesh to build. If attributes is non-null then a smaller mesh may be generated in less time, false is meant when actually rendering.
)
obsoleteUse HasCustomRenderPrimitives instead
Obsoleteinherited fromRhinoObject
Returns true if custom render mesh(es) will get built for this object.

ToJSON

Create a JSON string representation of this object
public string ToJSON()
inherited fromCommonObject

ToString

Returns the name of the model component type, and then its name and index.
public override string ToString()
inherited fromModelComponent
Remarks: This is provided as a visual aid. Do not rely on this for serialization.
Object.ToString

TryGetGumballFrame

If a Rhino object has been manipulated by Rhino's gumball, and the gumball is not in its default position, then the object's repositioned gumball frame is returned.
public bool TryGetGumballFrame(
frame
The gumball frame.
)
inherited fromRhinoObject
true if the object has a gumball frame, otherwise false.

TryGetGumballFrameForCurrentAlignment

Gets the gumball frame for this object under the current gumball alignment mode (Object / World / CPlane). For Object mode the frame always reflects the object's orientation (including any user relocation in that mode). For World and CPlane mode the frame is only returned when the user has manually repositioned the gumball for this object; if it has never been moved in that mode, the method returns false. Sub-object selections are not taken into account; this is a whole-object helper.
public bool TryGetGumballFrameForCurrentAlignment(
frame
The gumball frame for the current alignment mode.
)
inherited fromRhinoObject
true if a frame is available for the current alignment mode; false when the gumball has not been repositioned in the active World or CPlane mode.

TryGetRenderPrimitiveBoundingBox

Get the bounding box for the custom render meshes associated with this object.
public bool TryGetRenderPrimitiveBoundingBox(
viewport,
The viewport being rendered.
preview,
Type of mesh to build, if preview is true then a smaller mesh may be generated in less time, false is meant when actually rendering.
boundingBox
This will be set to BoundingBox.Unset on failure otherwise it will be the bounding box for the custom render meshes associated with this object.
)
obsoleteUse CustomRenderMeshesBoundingBox instead
Obsoleteinherited fromRhinoObject
Returns true if the bounding box was successfully calculated otherwise returns false on error.

TryGetRenderPrimitiveBoundingBox

Get the bounding box for the custom render meshes associated with this object.
public bool TryGetRenderPrimitiveBoundingBox(
viewport,
The viewport being rendered.
attrs,
Attributes for the view mode you are supplying meshes for. Will be null if this is a modal rendering.
boundingBox
This will be set to BoundingBox.Unset on failure otherwise it will be the bounding box for the custom render meshes associated with this object.
)
obsoleteUse CustomRenderMeshesBoundingBox instead
Obsoleteinherited fromRhinoObject
Returns true if the bounding box was successfully calculated otherwise returns false on error.

UnhighlightAllSubObjects

Removes highlighting from all sub-objects.
public int UnhighlightAllSubObjects()
inherited fromRhinoObject
The number of changed sub-objects.

UnselectAllSubObjects

Removes selection from all sub-objects.
public int UnselectAllSubObjects()
inherited fromRhinoObject
The number of unselected sub-objects.