NamedViewWidgetObject
RhinoObjectModelComponentCommonObjectProperties
Attributes
ComponentStatus
ComponentType
Disposed
EditPointGripsOn
Geometry
All rhino objects are composed of geometry and attributes.
GripsOn
GripsSelected
HasDynamicTransform
HasSubobjectMaterials
HasUserData
Id
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.
IdIsLocked
| InvalidOperationException | When setting the Index failed. This usually happens because the instance Index is already locked. |
IndexIsLocked
InstanceDefinitionModelSerialNumber
IsComponentStatusLocked
IsDeletable
IsDeleted
IsDocumentControlled
IsInstanceDefinitionGeometry
IsLocked
IsNormal
IsPictureFrame
IsReference
IsSystemComponent
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
ModelSerialNumber
Name
NameIsLocked
ObjectType
ReferenceModelSerialNumber
RenderMaterial
RuntimeSerialNumber
SubobjectMaterialComponents
UsePreviewMesh
UserData
UserDictionary
WorksessionReferenceSerialNumber
Methods
ClearId
| InvalidOperationException | If the ID is locked. |
ClearIndex
| InvalidOperationException | If the index is locked. |
ClearName
| InvalidOperationException | If the name is locked. |
ConstructConstObject
CopyHistoryOnReplace
CreateMeshes
| meshType (MeshType) | type of meshes to create |
| parameters (MeshingParameters) | in parameters that control the quality of the meshes that are created |
| ignoreCustomParameters (bool) | Default should be false. Should the object ignore any custom meshing parameters on the object's attributes |
CreateSections
| plane (Plane) | Intersecting plane. |
| name (string) | Name for section of objects. |
| tolerance (double) | The intersection tolerance. When in doubt, use the document's model absolute tolerance. |
| objectAttributes (out ObjectAttributes[]) | Object attributes, one for each returned geometry item. |
CreateSlices
| centerPlane (Plane) | Intesecting plane. |
| name (string) | Name for section of objects. |
| thickness (double) | Thickness of the slice. If thickness is less than tolerance, a surface will be created instead of a solid slice. |
| tolerance (double) | The intersection tolerance. When in doubt, use the document's model absolute tolerance. |
| objectAttributes (out ObjectAttributes[]) | Object attributes, one for each returned geometry item. |
CustomRenderMeshesBoundingBox
| mt (MeshType) | The mesh type requested (render or analysis). |
| vp (ViewportInfo) | The viewport being rendered |
| flags (ref RenderMeshProvider.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 (PlugIn) | The requesting plug-in (typically the calling plugin) |
| attrs (DisplayPipelineAttributes) | Display attributes for the caller - null if this is a full rendering. |
| boundingBox (out BoundingBox) | The requested bounding box |
DataCRC
| currentRemainder (uint) | The current remainder value. |
DeleteHistoryRecord
Description
| textLog (TextLog) | A text log for collecting the description. |
DestroyMeshes
| meshType (MeshType) | type of meshes to create |
Dispose
Dispose
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.
| disposing (bool) | true if the call comes from the Dispose() method; false if it comes from the Garbage Collector finalizer. |
DuplicateGeometry
EnableCustomGrips
| customGrips (CustomObjectGrips) | The custom object grips. |
EnableEditPointGrips
EnableGrips
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.
| gripsId (Guid) | 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. |
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
| mode (VisualAnalysisMode) | A visual analysis mode. |
| enable (bool) | true if the mode should be activated; false otherwise. |
EnsurePrivateCopy
GetActiveVisualAnalysisModes
GetBoundingBox
| viewport (RhinoViewport) | For objects like labels or lights, the viewport in which the bounding box should be calculated. Otherwise null. |
GetCustomRenderMeshParameter
GetDynamicTransform
| transform (out Transform) |
GetGrips
GetGroupList
GetHighlightedSubObjects
GetMaterial
| frontMaterial (bool) | If true, gets the material used to render the object's front side |
GetMaterial
| componentIndex (ComponentIndex) | Returns the material associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset |
| plugInId (Guid) | The plug-in specific material to look for. |
| attributes (ObjectAttributes) | Optional object attributes used to determine the material source, if null the objects attributes are used. |
GetMaterial
| componentIndex (ComponentIndex) | Returns the material associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset |
| plugInId (Guid) | The plug-in specific material to look for. |
GetMaterial
| componentIndex (ComponentIndex) | Returns the material associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset |
GetMeshes
| meshType (MeshType) |
GetObjectData
| info (SerializationInfo) | The System.Runtime.Serialization.SerializationInfo to populate with data. |
| context (StreamingContext) | The destination (see System.Runtime.Serialization.StreamingContext) for this serialization. |
GetRenderMaterial
| frontMaterial (bool) | 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. |
GetRenderMaterial
| componentIndex (ComponentIndex) | Returns the RenderMaterial associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset |
| plugInId (Guid) | The plug-in specific material to look for. |
| attributes (ObjectAttributes) | Optional object attributes used to determine the material source, if null the objects attributes are used. |
GetRenderMaterial
| componentIndex (ComponentIndex) | Returns the RenderMaterial associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset |
| plugInId (Guid) | The plug-in specific material to look for. |
GetRenderMaterial
| componentIndex (ComponentIndex) | Returns the RenderMaterial associated with the specified sub object or the objects top level material if it is set to ComponentIndex.Unset |
GetRenderMeshParameters
GetRenderMeshParameters
| returnDocumentParametersIfUnset (bool) | 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. |
GetRenderPrimitiveList
| viewport (ViewportInfo) | The viewport being rendered. |
| preview (bool) | 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. |
GetRenderPrimitiveList
| viewport (ViewportInfo) | The viewport being rendered. |
| attrs (DisplayPipelineAttributes) | Attributes for the view mode you are supplying meshes for. Will be null if this is a modal rendering. |
GetSelectedSubObjects
GetSubObjects
GetTextureChannels
GetTextureMapping
GetTextureMapping
| channel (int) |
GetTightBoundingBox
| tightBox (ref BoundingBox) | Beginning and resulting tight box |
| growBox (bool) | 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 (Transform) | If useXform==true, the tight bounding box of the transformed Rhino object is calculated. |
HasCustomRenderMeshes
| mt (MeshType) | The mesh type requested (render or analysis). |
| vp (ViewportInfo) | The viewport being rendered. |
| flags (ref RenderMeshProvider.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 (PlugIn) | The requesting plug-in (typically the calling plugin) |
| attrs (DisplayPipelineAttributes) | Display attributes for the caller - null if this is a full rendering. |
HasTextureMapping
| enable (bool) | true if highlighting should be enabled. |
HighlightSubObject
| componentIndex (ComponentIndex) | A sub-object component index. |
| highlight (bool) | true if the sub-object should be highlighted. |
HistoryChildren
HistoryParents
InVisualAnalysisMode
InVisualAnalysisMode
| mode (VisualAnalysisMode) | The mode to check for. Use null if you want to see if any mode is active. |
IsActiveInViewport
| viewport (RhinoViewport) |
| checkSubObjects (bool) | 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. |
0: object is not highlighted.
1: entire object is highlighted.
3: one or more proper sub-objects are highlighted.
IsMeshable
| meshType (MeshType) |
IsSelectable
| ignoreSelectionState (bool) | If true, then selected objects are selectable. If false, then selected objects are not selectable. |
| ignoreGripsState (bool) | 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 (bool) | If true, then objects on locked layers are selectable. If false, then objects on locked layers are not selectable. |
| ignoreLayerVisibility (bool) | If true, then objects on hidden layers are selectable. If false, then objects on hidden layers are not selectable. |
| checkSubObjects (bool) | (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. |
IsSubObjectHighlighted
| componentIndex (ComponentIndex) | A sub-object component index. |
IsSubObjectSelectable
| componentIndex (ComponentIndex) | index of sub-object to check. |
| ignoreSelectionState (bool) | If true, then selected objects are selectable. If false, then selected objects are not selectable. |
IsSubObjectSelected
| componentIndex (ComponentIndex) | Index of sub-object to check. |
IsValidWithLog
| log (out string) | A textual log. This out parameter is assigned during this call. |
LockId
LockIndex
LockName
MemoryEstimate
MeshCount
| meshType (MeshType) | type of mesh to count |
| parameters (MeshingParameters) | 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. |
NonConstOperation
Defines the necessary implementation to free the instance from being constant.
ObjectFrame
ObjectFrame
| flags (RhinoObject.ObjectFrameFlags) |
OnAddToDocument
| doc (RhinoDoc) |
OnDeleteFromDocument
| doc (RhinoDoc) |
| e (DrawEventArgs) |
OnDuplicate
| source (RhinoObject) |
OnPick
| context (PickContext) |
OnPicked
| context (PickContext) | |
| pickedItems (IEnumerable<ObjRef>) | Items that were picked. This parameter is enumerable because there may have been multiple sub-objects picked |
OnSelectionChanged
OnSpaceMorph
| morph (SpaceMorph) |
OnSwitchToNonConst
OnTransform
| transform (Transform) |
RenderMeshes
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.
| mt (MeshType) | The mesh type requested (render or analysis). |
| vp (ViewportInfo) | The viewport being rendered |
| ancestry (List<InstanceObject>) | The ancestry tree - only used for by-parent object properties assignments. |
| flags (ref RenderMeshProvider.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 (PlugIn) | The requesting plug-in (typically the calling plugin) |
| attrs (DisplayPipelineAttributes) | Display attributes for the caller - null if this is a full rendering. |
flags. Null if the object is not in a document.Select
| on (bool) | The new selection state; true activates selection. |
| syncHighlight (bool) | 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 (bool) | Objects that are persistently selected stay selected when a command terminates. |
| ignoreGripsState (bool) | 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 (bool) | If true, then objects on locked layers can be selected. If false, then objects on locked layers cannot be selected. |
| ignoreLayerVisibility (bool) | If true, then objects on hidden layers can be selectable. If false, then objects on hidden layers cannot be selected. |
0: object is not selected.
1: object is selected.
2: object is selected persistently.
| on (bool) | The new selection state; true activates selection. |
| syncHighlight (bool) | 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. |
0: object is not selected.
1: object is selected.
2: object is selected persistently.
| on (bool) | The new selection state; true activates selection. |
0: object is not selected.
1: object is selected.
2: object is selected persistently.
SelectSubObject
| componentIndex (ComponentIndex) | Index of sub-object to check. |
| select (bool) | The new selection state; true activates selection. |
| syncHighlight (bool) | (default=true) If true, then the object is highlighted if it is selected and unhighlighted if is not selected. |
| persistentSelect (bool) | When true, selection persists even after the current command terminates. |
0: object is not selected
1: object is selected
2: object is selected persistently.
SelectSubObject
| componentIndex (ComponentIndex) | Index of sub-object to check. |
| select (bool) | The new selection state; true activates selection. |
| syncHighlight (bool) | (default=true) If true, then the object is highlighted if it is selected and unhighlighted if is not selected. |
SetCopyHistoryOnReplace
| bCopy (bool) |
SetCustomRenderMeshParameter
SetHistory
| history (HistoryRecord) | The history record. |
| plane (Plane) |
SetObjectFrame
| xform (Transform) |
SetRenderMeshParameters
| mp (MeshingParameters) | 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. |
SetTextureMapping
| channel (int) | |
| tm (TextureMapping) | The TextureMapping to set into this channel, or null to remove a texture mapping from a channel. |
| objectTransform (Transform) | Mapping channel object transform |
SetTextureMapping
| channel (int) | |
| tm (TextureMapping) |
ShortDescription
| plural (bool) | true if the descriptive name should in plural. |
ShortDescriptionWithClosedStatus
SupportsRenderPrimitiveList
| viewport (ViewportInfo) | The viewport being rendered. |
| preview (bool) | 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. |
SupportsRenderPrimitiveList
| viewport (ViewportInfo) | The viewport being rendered. |
| attrs (DisplayPipelineAttributes) | 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. |
ToJSON
| options (SerializationOptions) |
ToString
TryGetGumballFrame
| frame (out GumballFrame) | The gumball frame. |
TryGetGumballFrameForCurrentAlignment
| frame (out GumballFrame) | The gumball frame for the current alignment mode. |
TryGetRenderPrimitiveBoundingBox
| viewport (ViewportInfo) | The viewport being rendered. |
| preview (bool) | 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 (out 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. |
TryGetRenderPrimitiveBoundingBox
| viewport (ViewportInfo) | The viewport being rendered. |
| attrs (DisplayPipelineAttributes) | Attributes for the view mode you are supplying meshes for. Will be null if this is a modal rendering. |
| boundingBox (out 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. |