RenderMaterial
Inheritance Hierarchy
System.Object
Rhino.Render.RenderContent
Rhino.Render.RenderMaterial
Namespace: Rhino.Render
Assembly: RhinoCommon (in RhinoCommon.dll)
Syntax
public abstract class RenderMaterial : RenderContent
The RenderMaterial type exposes the following members.
Constructors
Name
Description
Protected Method
RenderMaterial
Initializes a new instance of the RenderMaterial class
Properties
Name
Description
Public Property
CanBeEdited
Determines if the content can be edited.
(Inherited from RenderContent.)
Public Property
Category
Category for this content.
(Inherited from RenderContent.)
Public Property
ChildSlotDisplayName
Returns the localized display name of the child slot name
(Inherited from RenderContent.)
Public Property
ChildSlotName
(Inherited from RenderContent.)
Public Property
CppPointer
(Inherited from RenderContent.)
Public Property
DefaultPreviewBackgroundType
Set or get the default scene background for the image that appears in preview panes
Public Property
DefaultPreviewGeometryType
Set or get the default geometry that appears in preview panes
Public Property
DefaultPreviewSize
The default preview geometry size
Public Property
DisplayName
Display name for this content.
(Inherited from RenderContent.)
Public Property
Document
Obsolete.
Obsolete. Do not use. You should use DocumentOwner instead.
(Inherited from RenderContent.)
Public Property
DocumentAssoc
If this render content is associated with a document in any way, the document will be returned. This includes copies of render contents that were attached to a document when the copy was made. Otherwise returns null.
(Inherited from RenderContent.)
Public Property
DocumentOwner
If this render content is owned by a document, the document will be returned. This is the same as getting the document the render content is attached to. Otherwise returns null.
(Inherited from RenderContent.)
Public Property
DocumentRegistered
Obsolete.
Obsolete. Do not use. You should use DocumentOwner instead.
(Inherited from RenderContent.)
Public Property
Fields
Rhino.Render.Fields FieldDictionary which provides access to setting and retrieving field values.
(Inherited from RenderContent.)
Public Property
Filename
If the content is file based, this function can be overridden to deal with setting/getting the filename. Corresponds to IRhRdkFileBasedContent in the C++ SDK
(Inherited from RenderContent.)
Public Property
FilesToEmbed
A string array of full paths to files used by the content that may be embedded in .3dm files and library files (.rmtl, .renv, .rtex). The default implementation returns an empty string list. Override this to return the file name or file names used by your content. This is typically used by textures that reference files containing the texture imagery.
(Inherited from RenderContent.)
Public Property
FirstChild
Return First child of this content or null if none.
(Inherited from RenderContent.)
Public Property
Static Member
GemMaterialGuid
Public Property
Static Member
GlassMaterialGuid
Public Property
GroupId
Group ID of the content
(Inherited from RenderContent.)
Public Property
Hidden
Gets or sets the render content’s ‘hidden’ state. This feature only works for top-level render contents because it hides the entire hierarchy. It is normally used for ‘implementation detail’ render contents. For expert use only. Hidden render contents are never shown in the UI, with the exception of the Object (or Layer) Material Properties UI which always shows whatever is assigned to the object (or layer). In the Object (or Layer) Material Properties UI, if the user drops down the list, hidden render contents are not listed. Hidden render contents, being part of the document content list, will be listed by any scripts or other code that iterates over the document render content list. It is recommended that you set IsHidden once when you create your render content and leave it on to prevent flicker or slow performance.
(Inherited from RenderContent.)
Public Property
Id
Instance identifier for this content.
(Inherited from RenderContent.)
Public Property
IsDefaultInstance
Checks if render content is default instance.
(Inherited from RenderContent.)
Public Property
IsHiddenByAutoDelete
Contents can be created as ‘auto-delete’ by certain commands such as ‘Picture’. These contents are automatically hidden from the user when the associated Rhino object is deleted. They are later deleted when the document is saved.
(Inherited from RenderContent.)
Public Property
IsLocked
Set this property to true prior to adding content to the document to lock the content browser editing UI methods. Setting this to true will keep the browser from allowing things like deleting, renaming or changing content. This is useful for custom child content that you want to be editable but persistent. Setting this after adding content to the document will cause an exception to be thrown.
(Inherited from RenderContent.)
Public Property
Static Member
MetalMaterialGuid
Public Property
Name
Instance ‘raw’ name for this content.
(Inherited from RenderContent.)
Public Property
NextSibling
Return First sibling of this content or null if none.
(Inherited from RenderContent.)
Public Property
Notes
Notes for this content.
(Inherited from RenderContent.)
Public Property
Static Member
PaintMaterialGuid
Public Property
Parent
Returns the top content in this parent/child chain.
(Inherited from RenderContent.)
Public Property
Static Member
PictureMaterialGuid
Public Property
Static Member
PlasterMaterialGuid
Public Property
Static Member
PlasticMaterialGuid
Public Property
ProxyType
Gets the proxy type of the render content
(Inherited from RenderContent.)
Public Property
RenderHash
Render hash for the content hierarchy. It iterates over children and includes a caching mechanism which means the hash value can be retrieved quickly if it hasn’t changed. The cache is invalidated when Changed() is called. You can override the
CalculateRenderHash(UInt64)
method to provide a custom hash value.(Inherited from RenderContent.)
Public Property
SmellsLikeGem
Public Property
SmellsLikeGlass
Public Property
SmellsLikeMetal
Public Property
SmellsLikePaint
Public Property
SmellsLikePlaster
Public Property
SmellsLikePlastic
Public Property
SmellsLikeTexturedGem
Public Property
SmellsLikeTexturedGlass
Public Property
SmellsLikeTexturedMetal
Public Property
SmellsLikeTexturedPaint
Public Property
SmellsLikeTexturedPlaster
Public Property
SmellsLikeTexturedPlastic
Public Property
Styles
(Inherited from RenderContent.)
Public Property
Tags
Tags for this content.
(Inherited from RenderContent.)
Public Property
TopLevel
Returns true if this content has no parent, false if it is the child of another content.
(Inherited from RenderContent.)
Public Property
TopLevelParent
Returns the top content in this parent/child chain.
(Inherited from RenderContent.)
Public Property
TypeDescription
Description for your content type. i.e., “Procedural checker pattern”
(Inherited from RenderContent.)
Public Property
TypeId
Type identifier for this content
(Inherited from RenderContent.)
Public Property
TypeName
Name for your content type. i.e., “My .net Texture”
(Inherited from RenderContent.)
Public Property
Xml
(Inherited from RenderContent.)
Methods
Name
Description
Public Method
AddAutomaticUserInterfaceSection
Add a new automatic user interface section, Field values which include prompts will be automatically added to this section.
(Inherited from RenderContent.)
Public Method
AddChild(RenderContent)
Obsolete. (Inherited from RenderContent.)
Public Method
AddChild(RenderContent, String)
Obsolete. (Inherited from RenderContent.)
Public Method
AddUserInterfaceSection(ICollapsibleSection)
(Inherited from RenderContent.)
Public Method
AddUserInterfaceSection(Type, String, Boolean, Boolean)
Obsolete.
Add a new .NET control to an content expandable tab section, the height of the createExpanded tabs client area will be the initial height of the specified control.
(Inherited from RenderContent.)
Public Method
AssignTo(ObjRef)
Public Method
AssignTo(IEnumerable.ObjRef., RenderMaterial.AssignToSubFaceChoices, RenderMaterial.AssignToBlockChoices, Boolean)
Public Method
BeginChange
Begins a change or batch of changes. It may also make a copy of the content state allowing
EndChange.
to send an event with the old and new contents. Calls to this method are counted; you must call EndChange() once for every call to BeginChange(). Note: If Changed() was called between the calls to BeginChange() and EndChange(), the last call to EndChange() may cause the ContentChanged event to be sent.(Inherited from RenderContent.)
Public Method
BeginCreateDynamicFields
Automatic Dynamic Field support. Dynamic fields are typically created in the constructor of RenderContent and they are therefore created automatically whenever the content is created. However, some advanced users require the fields to be created in response to some user action which occurs much later. This creates the problem that the fields do not exist by default and therefore cannot be loaded when the document is loaded. These methods are provided to solve that problem by making it possible to automatically create the dynamic fields on loading if they don’t already exist. Dynamic fields that have this auto-create-on-load behavior are referred to as automatic dynamic fields. Dynamic fields that do not require the advanced automatic feature can still be created by using these methods (recommended), or they can be created manually (legacy usage). You must call this before creating any dynamic fields. Calls to this method are counted; you must call EndCreateDynamicFields() once for every call to BeginCreateDynamicFields().
(Inherited from RenderContent.)
Public Method
BindParameterToField(String, Field, RenderContent.ChangeContexts)
Use bindings to automatically wire parameters to fields
(Inherited from RenderContent.)
Public Method
BindParameterToField(String, String, Field, RenderContent.ChangeContexts)
Use bindings to automatically wire parameters to fields
(Inherited from RenderContent.)
Protected Method
CalculateRenderHash
Obsolete.
Override this method to calculate the render hash of the state that affects how the content is rendered. Does not include children or perform any caching. Render hash values are now automatically cached by the content framework and you do not have to worry about caching. You also do not have to worry about iterating into children. This method is now only called internally by the framework, use the RenderHash property to get the current hash value.
(Inherited from RenderContent.)
Protected Method
CalculateRenderHash2
(Inherited from RenderContent.)
Public Method
ChangeChild
Obsolete. (Inherited from RenderContent.)
Public Method
ChildSlotAmount
Gets the amount property for the texture in the specified child slot.
(Inherited from RenderContent.)
Public Method
ChildSlotNameFromParamName
A “child slot” is the specific “slot” that a child (usually a texture) occupies. This is generally the “use” of the child - in other words, the thing the child operates on. Some examples are “color”, “transparency”.
(Inherited from RenderContent.)
Public Method
ChildSlotOn
Gets the on-ness property for the texture in the specified child slot.
(Inherited from RenderContent.)
Public Method
ConvertToPhysicallyBased
Returns a material that is the best approximation of the original, but as a physically based material.
Public Method
ConvertUnits
Modify your content so that it is converted from meters into the units of the unit system. No need to call the base class when you override this, and no need to recurse into children.
(Inherited from RenderContent.)
Public Method
Static Member
CreateBasicMaterial(Material)
Obsolete.
Constructs a new basic material from a Material.
Public Method
Static Member
CreateBasicMaterial(Material, RhinoDoc)
Public Method
CreateDynamicField
Create a dynamic field with an initial value and min and max limits.
(Inherited from RenderContent.)
Public Method
Static Member
CreateImportedMaterial
Public Method
DeleteAllChildren
(Inherited from RenderContent.)
Public Method
DeleteChild
(Inherited from RenderContent.)
Public Method
Dispose.
(Inherited from RenderContent.)
Protected Method
Dispose(Boolean)
Dispose
(Inherited from RenderContent.)
Public Method
DynamicIcon
(Inherited from RenderContent.)
Public Method
Edit
This method allows a render content hierarchy to be edited using a modal (AKA ‘pop-up’) editor. If the original render content is in a document, it will remain there, and the edited one will be ‘free-floating’. Therefore it is the caller’s responsibility to do any replacement in the document if required. The returned new content will be owned by the caller.
(Inherited from RenderContent.)
Public Method
EndChange
Ends a change or batch of changes. Calls to this method are counted; you must call this method once for every call to
BeginChange(RenderContent.ChangeContexts)
. Note: IfBeginChange(RenderContent.ChangeContexts)
was called with ChangeContexts.UI, ChangeContexts.Program, ChangeContexts.Drop or ChangeContexts.UI.Tree and Changed() was called between the calls toBeginChange(RenderContent.ChangeContexts)
and EndChange(), the last call to EndChange() will raise theContentChanged
event.(Inherited from RenderContent.)
Public Method
EndCreateDynamicFields
You must call this after creating dynamic fields. Calls to this method are counted; you must call BeginCreateDynamicFields() once for every call to EndCreateDynamicFields().
(Inherited from RenderContent.)
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public Method
Factory
(Inherited from RenderContent.)
Protected Method
Finalize
Finalizer
(Inherited from RenderContent.)
Public Method
FindChild
(Inherited from RenderContent.)
Public Method
ForDisplay
**** This method is for proxies and will be marked obsolete in the future **** The only place a single proxy can be displayed is in the New Content Control main thumbnail. All other attempts to use a single proxy in a UI require it to be replaced with the corresponding multi proxy. Single proxies override this to find the corresponding multi proxy.
(Inherited from RenderContent.)
Public Method
Static Member
FromMaterial
Constructs a new material from a Material.
Public Method
GetChildSlotParameter
Extra requirements are a way of specifying extra functionality on parameters in the automatic UI. Override this function to specify additional functionality for automatic UI sections or the texture summary. See IAutoUIExtraRequirements.h in the C++ RDK SDK for string definitions for the parameter names. Call the base class from your override if you do not support the extra requirement parameter. Please do not call this function. It is only retained for backward compatibility. You should instead call GetExtraRequirementParameter().
(Inherited from RenderContent.)
Public Method
GetEmbeddedFilesList
(Inherited from RenderContent.)
Public Method
GetExtraRequirementParameter
Extra requirements are a way of specifying extra functionality on parameters in the automatic UI. See IAutoUIExtraRequirements.h in the C++ RDK SDK for string definitions for the parameter names.
(Inherited from RenderContent.)
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public Method
GetParameter
Query the content instance for the value of a given named parameter. If you do not support this parameter, call the base class.
(Inherited from RenderContent.)
Public Method
GetTextureAmountFromUsage
Public Method
GetTextureFromUsage
Public Method
GetTextureOnFromUsage
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public Method
GetUiHash
This allows a content to have more than one UI for the same content type.
(Inherited from RenderContent.)
Public Method
GetUnderlyingInstances
(Inherited from RenderContent.)
Public Method
HandleTexturedValue.T.
Handle a textured content field. Values will be read into an instance of TexturedColor
Public Method
Icon
(Inherited from RenderContent.)
Public Method
Static Member
ImportMaterialAndAssignToLayers
Imports a material file (.RMTL) and assigns the imported material to one or more layers.
Public Method
Initialize
Obsolete. (Inherited from RenderContent.)
Public Method
IsCompatible
(Inherited from RenderContent.)
Public Method
IsContentTypeAcceptableAsChild
(Inherited from RenderContent.)
Public Method
IsFactoryProductAcceptableAsChild(ContentFactory, String)
(Inherited from RenderContent.)
Public Method
IsFactoryProductAcceptableAsChild(Guid, String, String)
Override this method to restrict the type of acceptable child content. The default implementation of this method returns true if the factory kind is ‘texture’.
(Inherited from RenderContent.)
Public Method
IsReference
Query whether or not the content or any of its ancestors is a reference content.
(Inherited from RenderContent.)
Public Method
IsRenderHashCached
Obsolete.
This method is deprecated and no longer called. For more information see
CalculateRenderHash(UInt64)
(Inherited from RenderContent.)
Public Method
MakeCopy
Create a copy of the render content. All content is the same, except for the instance Id.
(Inherited from RenderContent.)
Public Method
MakeGroupInstance
Create an ‘instance’ of the content hierarchy and group the new hierarchy with this hierarchy. If the instance is subsequently attached to the same document, the state of all members of the group will be kept synchronized. With the exception of the instance ids, all state is exactly preserved in the new instance hierarchy. \note The grouping will have no effect until the new instance is attached to the same document.
(Inherited from RenderContent.)
Public Method
MatchData
Implement to transfer data from another content to this content during creation.
(Inherited from RenderContent.)
Protected Method
MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected Method
ModifyRenderContentStyles
ModifyRenderContentStyles
(Inherited from RenderContent.)
Public Method
NewPreviewSceneServer
Gets the PreviewSceneServer of the content
(Inherited from RenderContent.)
Protected Method
OnAddUserInterfaceSections
Override to provide UI sections to display in the editor.
(Inherited from RenderContent.)
Protected Method
OnGetDefaultsInteractive
Override this method to prompt user for information necessary to create a new content object. For example, if you are created a textured material you may prompt the user for a bitmap file name prior to creating the textured material.
(Inherited from RenderContent.)
Protected Method
OnMakeCopy
Override this function to supplement the standard copying behavour for your RenderContent.
(Inherited from RenderContent.)
Public Method
OpenInEditor
Call this method to open the content in the relevant thumbnail editor and select it for editing by the user. The content must be in the document or the call will fail.
(Inherited from RenderContent.)
Public Method
OpenInModalEditor
Obsolete.
Call this method to open the content in the a modal version of the editor. The content must be in the document or the call will fail.
(Inherited from RenderContent.)
Public Method
ParamNameFromChildSlotName
A “child slot” is the specific “slot” that a child (usually a texture) occupies. This is generally the “use” of the child - in other words, the thing the child operates on. Some examples are “color”, “transparency”.
(Inherited from RenderContent.)
Public Method
RenderHashExclude(CrcRenderHashFlags, String)
As RenderHash, but allows you to specify flags and exclude specific parameters.
(Inherited from RenderContent.)
Public Method
RenderHashExclude(TextureRenderHashFlags, String)
This method is deprecated in favor of the one that takes CrcRenderHashFlags.
(Inherited from RenderContent.)
Public Method
RenderHashExclude(CrcRenderHashFlags, String, LinearWorkflow)
As RenderHash, but allows you to specify flags and exclude specific parameters. Use this version of the function to calculate a render hash when you have the linear workflow information and you are not running on the main thread. Access to LinearWorkflow data requires document access. CrcRenderHashFlags.ExcludeLinearWorkflow must be specified.
(Inherited from RenderContent.)
Public Method
Replace
(Inherited from RenderContent.)
Public Method
SaveToFile
Saves content to a file - RMTL, RENV or RTEX.
(Inherited from RenderContent.)
Public Method
SetChild(RenderContent, String)
Set another content as a child of this content. This content may or may not be attached to a document. If this content already has a child with the specified child slot name, that child will be deleted. If this content is not attached to a document, the child will be added without sending any events. If this content is attached to a document, the necessary events will be sent to update the UI. Note: Do not call this method to add children in your constructor. If you want to add default children, you should override Initialize() and add them there.
(Inherited from RenderContent.)
Public Method
SetChild(RenderContent, String, RenderContent.ChangeContexts)
Obsolete.
Set another content as a child of this content. This content may or may not be attached to a document. If this content already has a child with the specified child slot name, that child will be deleted. If this content is not attached to a document, the child will be added without sending any events. If this content is attached to a document, the necessary events will be sent to update the UI. Note: Do not call this method to add children in your constructor. If you want to add default children, you should override Initialize() and add them there.
(Inherited from RenderContent.)
Public Method
SetChildSlotAmount
Sets the amount property for the texture in the specified child slot.
(Inherited from RenderContent.)
Public Method
SetChildSlotOn
Sets the on-ness property for the texture in the specified child slot.
(Inherited from RenderContent.)
Public Method
SetChildSlotParameter
Extra requirements are a way of specifying extra functionality on parameters in the automatic UI. Override this function to support values being set from automatic UI sections or the texture summary. See IAutoUIExtraRequirements.h in the C++ RDK SDK for string definitions for the parameter names. Call the base class from your override if you do not support the extra requirement parameter. Please do not call this function. It is only retained for backward compatibility. You should instead call SetExtraRequirementParameter().
(Inherited from RenderContent.)
Public Method
SetExtraRequirementParameter
Extra requirements are a way of specifying extra functionality on parameters in the automatic UI. See IAutoUIExtraRequirements.h in the C++ RDK SDK for string definitions for the parameter names.
(Inherited from RenderContent.)
Public Method
SetIsRenderHashRecursive
By default, RenderHash recurses into children when computing the render hash. However, some applications may require children to be excluded from the render hash calculation. Call this method to enable or disable recursing into children. see
RenderHash
(Inherited from RenderContent.)
Public Method
SetName
Set instance name for this content
(Inherited from RenderContent.)
Public Method
SetParameter(String, Object)
Set the named parameter value for this content instance. If you do not support this parameter, call the base class.
(Inherited from RenderContent.)
Public Method
SetParameter(String, Object, RenderContent.ChangeContexts)
Obsolete.
Set the named parameter value for this content instance. If you do not support this parameter, call the base class.
(Inherited from RenderContent.)
Public Method
SetRenderHash
Obsolete.
This method is deprecated and no longer called. For more information see
CalculateRenderHash(UInt64)
(Inherited from RenderContent.)
Public Method
SimulatedMaterial
Obsolete.
Public Method
SimulateMaterial(Boolean)
Obsolete.
Call this function to receive the simulation for a RenderMaterial used by the display and other rendering engines.
Public Method
SimulateMaterial(Material., RenderTexture.TextureGeneration)
Override this function to provide a Rhino.DocObjects.Material definition for this material to be used by other rendering engines including the display.
Public Method
SimulateMaterial(Material., Boolean)
Obsolete.
Override this function to provide a Rhino.DocObjects.Material definition for this material to be used by other rendering engines including the display.
Public Method
Static Member
SlotFromTextureType
Public Method
SmartUngroupRecursive
Remove this content and all its children from any instance groups they may be a member of. If any content in the same document is left alone in the group, that content is also ungrouped. Records undo and sends events OnContentChanged and OnContentGroupIdChanged. \note This method is designed to be called from a content UI and is intended for RDK internal use but may be used as an expert user override.
(Inherited from RenderContent.)
Public Method
TextureChildSlotName
Override this function to provide information about which texture is used for the standard (ie - defined in ON_Texture) texture channels.
Public Method
Static Member
TextureTypeFromSlot
Public Method
ToMaterial
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object.)
Public Method
Ungroup
Remove this content from any instance group it may be a member of. Does not record undo but does send the OnContentGroupIdChanged event.
(Inherited from RenderContent.)
Public Method
UngroupRecursive
Remove this content and all its children from any instance groups they may be a member of. Does not record undo but does send the OnContentGroupIdChanged event.
(Inherited from RenderContent.)
Public Method
Uninitialize
Obsolete. (Inherited from RenderContent.)
Public Method
UseCount
UseCount returns how many times the content is used
(Inherited from RenderContent.)
Public Method
VirtualIcon
Icon to display in the content browser, this bitmap needs to be valid for the life of this content object, the content object that returns the bitmap is responsible for disposing of the bitmap.
(Inherited from RenderContent.)