Rhino C++ API  6.11
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
CRhRdkMaterial Class Referenceabstract

#include <RhRdkMaterial.h>

Inheritance diagram for CRhRdkMaterial:
CRhRdkCoreContent CRhRdkContent CRhRdkObject IAutoUIExtraRequirements CRhRdkBasicMaterialBase CRhRdkBasicMaterial

Public Types

enum  ChildSlotUsage : unsigned int {
  ChildSlotUsage::None = 0x00, ChildSlotUsage::Diffuse = 0x01, ChildSlotUsage::Transparency = 0x02, ChildSlotUsage::Bump = 0x04,
  ChildSlotUsage::Environment = 0x08, ChildSlotUsage::Any = Diffuse | Transparency | Bump | Environment
}
 
- Public Types inherited from CRhRdkCoreContent
enum  SectionId : int { TextureSummary = 0x8000, NotUsed = 0x8001 }
 
- Public Types inherited from CRhRdkContent
enum  : unsigned int {
  bfTextureSummary = 0x0001, bfQuickPreview = 0x0002, bfPreviewCache = 0x0004, bfLocalTextureMapping = 0x0010,
  bfGraphDisplay = 0x0020, bfAdjustment = 0x0080, bfFields = 0x0100
}
 
enum  {
  pg_unused = 0x00000000, pg_sphere = 0x00000001, pg_cube = 0x00000002, pg_cone = 0x00000004,
  pg_pyramid = 0x00000008, pg_torus = 0x00000010, pg_plane = 0x00000020, pg_cone_sphere = 0x00010000,
  pg_scene = 0x00020000, pg_default_mat = pg_sphere | pg_cube | pg_cone | pg_pyramid | pg_torus | pg_plane | pg_scene, pg_default_env = pg_cone_sphere, pg_default_tex = pg_unused,
  pg_mat_scene = pg_scene, force32bit_pgflags = 0xFFFFFFFF
}
 
enum  {
  pb_unused = 0x00000000, pb_none = 0x00000001, pb_checker = 0x00000002, pb_custom = 0x00000004,
  pb_scene = 0x00000008, pb_default_mat = pb_none | pb_checker | pb_custom | pb_scene, pb_default_env = pb_unused, pb_default_tex = pb_unused,
  force32bit_pbflags = 0xFFFFFFFF
}
 
enum  {
  pl_unused = 0x00000000, pl_simple = 0x00000001, pl_sky = 0x00000002, pl_default_mat = pl_simple | pl_sky,
  pl_default_env = pl_unused, pl_default_tex = pl_unused, force32bit_plflags = 0xFFFFFFFF
}
 
enum  CopyMethods : unsigned int { CopyMethods::Normal, CopyMethods::Transient }
 
enum  CSIContext : unsigned int { CSIContext::All = 0, CSIContext::TextureSummary = 1, CSIContext::Private1 = 2, CSIContext::Private2 = 3 }
 
enum  DynamicIconUsage : unsigned int { DynamicIconUsage::TreeControl = 0, DynamicIconUsage::SubnodeControl = 1, DynamicIconUsage::ContentControl = 2 }
 
enum  EmbedFilesChoice : unsigned int { EmbedFilesChoice::kNeverEmbed, EmbedFilesChoice::kAlwaysEmbed, EmbedFilesChoice::kAskUser }
 
enum  ePreviewSceneType { preview_scene_server = 0, texture_2d_image = 1, force32_bit_sceneType = 0xFFFFFFFF }
 
enum  Harvested : unsigned int { Harvested::None = 0, Harvested::Some = 1, Harvested::All = 2 }
 
enum  Kinds : unsigned int { Kinds::Unset, Kinds::Material, Kinds::Environment, Kinds::Texture }
 
enum  ParamSerialMethod : unsigned int { ParamSerialMethod::GetSet, ParamSerialMethod::XmlStream }
 
enum  ProxyTypes : unsigned int { ProxyTypes::None, ProxyTypes::Single, ProxyTypes::Multi }
 
enum  ReadParamsContext : unsigned int { ReadParamsContext::Serialization = 0, ReadParamsContext::Harvesting = 1, ReadParamsContext::Rendering = 2 }
 
enum  WriteParamsContext : unsigned int { WriteParamsContext::Serialization = 0, WriteParamsContext::Harvesting = 1, WriteParamsContext::Rendering = 2 }
 
- Public Types inherited from IAutoUIExtraRequirements
enum  SetContext : unsigned int { SetContext::UI, SetContext::Drop, SetContext::Program }
 

Public Member Functions

 CRhRdkMaterial ()
 
virtual ~CRhRdkMaterial ()
 
virtual const wchar_t * Category (void) const override
 
virtual bool DynamicIcon (const ON_2iSize &size, CRhinoDib &dibOut, DynamicIconUsage usage) const override
 
virtual void * EVF (const wchar_t *wszFunc, void *pvData) override
 
virtual bool GetTextureChannelInfo (ChildSlotUsage usage, TextureChannelInfo &info) const
 
ON_wString GetTextureChildSlotName (ChildSlotUsage usage) const
 
const CRhRdkContentGetTextureForUsage (ChildSlotUsage) const
 
virtual Harvested HarvestData (const CRhRdkContent &oldContent) override
 
virtual bool Icon (const ON_2iSize &size, CRhinoDib &dibOut) const override
 
virtual bool IsAssociatedWith (const ON_Material &mat) const
 
virtual Kinds Kind (void) const final override
 
virtual const wchar_t * LibraryFileExtension (void) const override
 
virtual CRhRdkPreviewBackgroundNewPreviewBackground (void) const override
 
virtual CRhRdkPreviewGeometryNewPreviewGeometry (void) const override
 
virtual IRhRdkPreviewSceneServerNewPreviewSceneServer (const CRhRdkSSData &data) const override
 
virtual UINT PreviewBackgroundFlags (void) const override
 
virtual UINT PreviewGeometryFlags (void) const override
 
virtual UINT PreviewLightingFlags (void) const override
 
virtual ePreviewSceneType PreviewSceneType (void) const override
 
virtual void SetInstanceName (const wchar_t *wszName) override
 
virtual bool SetSimulation (IRhRdk_XMLSection &section) const override
 
virtual const ON_MaterialSimulatedMaterial (CRhRdkTexture::TextureGeneration tg=CRhRdkTexture::TextureGeneration::Allow, int iSimulatedTextureSize=-1, const CRhinoObject *pObject=nullptr) const
 
bool SmellsLike (const UUID &typeId, bool bIgnoreTextures=false) const
 
bool SmellsLikeGem (void) const
 
bool SmellsLikeGlass (void) const
 
bool SmellsLikeMetal (void) const
 
bool SmellsLikePaint (void) const
 
bool SmellsLikePlaster (void) const
 
bool SmellsLikePlastic (void) const
 
bool SmellsLikeTexturedGem (void) const
 
bool SmellsLikeTexturedGlass (void) const
 
bool SmellsLikeTexturedMetal (void) const
 
bool SmellsLikeTexturedPaint (void) const
 
bool SmellsLikeTexturedPlaster (void) const
 
bool SmellsLikeTexturedPlastic (void) const
 
virtual bool TextureRequiresLinearWorkflowAdjustment (const wchar_t *wszChildSlotName) const
 
virtual bool UpdateDocumentTables (void) const override
 
- Public Member Functions inherited from CRhRdkCoreContent
 CRhRdkCoreContent ()
 
virtual ~CRhRdkCoreContent ()
 
virtual RDK_DEPRECATED bool AddAutomaticUISection (const wchar_t *wszCaption, int id=0)
 
virtual bool AddAutomaticUISection (IRhRdkExpandableContentUI &ui, const wchar_t *wszLocalCaption, const wchar_t *wszEnglishCaption, int id=0)
 
virtual void AddUI (IRhRdkContentUI &ui) const
 
virtual RDK_DEPRECATED void AddUISections (void)
 
virtual void AddUISections (IRhRdkExpandableContentUI &ui)
 
virtual bool CreatePreview (CRhRdkRenderPlugIn &plugIn, const ON_2iSize &sizeImage, RhRdkPreviewQuality qual, const IRhRdkPreviewSceneServer *pSceneServer, IRhRdkPreviewCallbacks *pNotify, CRhinoDib &dibOut) const override
 
virtual IRhRdkContentUICreateUI (IRhRdkContentEditor &e, const UUID &uuidUI, const CRhRdkContentArray &aInitialClients, void *pReserved) override
 
virtual IRhRdkCustomCurveGraphSectionCallbackCustomCurveGraphSectionCallback (void)
 
virtual void GetUIs (ON_SimpleArray< IRhRdkContentUI *> &aOut) const override
 
virtual ParamSerialMethod ParameterSerializationMethod (void) const override
 
virtual bool ReadParametersFromSection (const IRhRdk_XMLSection &section, ReadParamsContext context) override
 
virtual RDK_DEPRECATED bool RecreateTextureSummary (void)
 
virtual void ReleaseAllEditorUIs (const UUID &uuidEditor, bool bIncludeChildren) const override
 
virtual void ReleaseAllUIs (bool bIncludeChildren) const override
 
virtual void TransferUIsFrom (const CRhRdkContent &c)
 
virtual RDK_DEPRECATED IRhRdkExpandableContentUIUI (void) const override
 
virtual bool WriteParametersToSection (IRhRdk_XMLSection &section, WriteParamsContext context) const override
 
- Public Member Functions inherited from CRhRdkContent
 CRhRdkContent ()
 
virtual ~CRhRdkContent ()
 
virtual RDK_DEPRECATED void AddAutoParameters (class IRhRdkParamBlock &paramBlock, int id)
 
virtual void AddAutoParameters (class IRhRdkParamBlock &paramBlock, int id) const
 
virtual RDK_DEPRECATED bool AddChild (CRhRdkContent *pChild, const wchar_t *wszChildSlotName)
 
virtual bool AddToDocumentList (CRhRdkDocument &rdkDoc)
 
virtual const class IRhRdkPreviewAppearanceDefaultsAppearanceDefaults (void) const
 
virtual bool AttachCustomUserData (ICustomUserData *data)
 
virtual bool AutoDelete (void) const
 
virtual ON_wString AutomaticInstanceName (void) const
 
virtual CRhRdkContentBeginChange (RhRdkChangeContext cc) const
 
virtual unsigned int BitFlags (void) const
 
virtual bool CanBeEdited (void) const
 
virtual bool ChangeChild (CRhRdkContent *pOldChild, CRhRdkContent *pNewChild)
 
virtual RDK_DEPRECATED void Changed (eChangeContext cc)
 
virtual void Changed (void)
 
virtual RDK_DEPRECATED DWORD ChildrenRenderCRC (void) const
 
virtual CRhRdkVariant ChildSlotAmount (const wchar_t *wszChildSlotName) const
 
virtual ON_wString ChildSlotName (void) const
 
virtual ON_wString ChildSlotNameFromParamName (const wchar_t *wszParamName) const
 
virtual CRhRdkVariant ChildSlotOn (const wchar_t *wszChildSlotName) const
 
CRhRdkContentClone (CopyMethods m=CopyMethods::Normal) const
 
virtual bool ContentNameTakenFromFileName (void) const
 
virtual void ConvertMetersToUnits (void)
 
virtual void ConvertUnitsToMeters (void)
 
virtual bool CreatedByLoading (void) const
 
virtual RDK_DEPRECATED HBITMAP CreateLibraryPreview (const class CSize &sizeImage, const IRhRdkPreviewSceneServer *pSceneServer) const
 
virtual bool CreateLibraryPreview (const ON_2iSize &sizeImage, const IRhRdkPreviewSceneServer *pSceneServer, CRhinoDib &dibOut) const
 
virtual RDK_DEPRECATED HBITMAP CreatePreview (class CRhRdkRenderPlugIn &plugIn, const class CSize &sizeImage, eRhRdkRenderQuality qual, const class IRhRdkPreviewSceneServer *pSceneServer) const
 
virtual class IRhRdkContentUICreateUI (class IRhRdkContentEditor &e, const UUID &uuidUI, const class CRhRdkContentArray &aInitialClients, void *pReserved)=0
 
virtual const ICustomUserDataCustomUserData (const UUID &uuidDataId) const
 
virtual RDK_DEPRECATED void DecrementUseCount (void) const
 
virtual void DeleteAllChildren (void)
 
virtual bool DeleteChild (const wchar_t *wszChildSlotName)
 
virtual RDK_DEPRECATED void DestroyChildContent (const UUID &uuidPlugIn)
 
virtual void DestroyChildContent (const UUID &uuidPlugIn) const
 
virtual bool DetachCustomUserData (ICustomUserData *pUD)
 
virtual void DisplayContextHelp (HWND hwndParent) const
 
virtual void DisplayDebugString (const wchar_t *wszTitle=L"") const
 
virtual RDK_DEPRECATED CRhinoDocDocument (void) const
 
virtual const CRhinoDocDocumentAssoc (void) const
 
virtual ON_wString DragText (const UUID &uuidSource) const
 
ON_wString DragTextEx (const UUID &uuidSource, int version, void *) const
 
virtual const CRhRdkContentDuplicate (void) const
 
virtual IAutoUIExtraRequirementsDuplicateExtraRequirementsInterface (void) const
 
virtual bool DuplicationInProgress (void) const
 
virtual CRhRdkContentEdit (void) const
 
virtual ON_wString EmbeddedFiles (void) const
 
virtual ON_wString EmbeddedFilesRecursive (void) const
 
virtual bool EndChange (void)
 
virtual void ExecuteCommand (UUID uuidCommand, void *pvData) const
 
virtual const CRhRdkContentFactoryFactory (void) const
 
virtual CRhRdkContentFastMakeCopy (CopyMethods m) const
 
class CRhRdkContentFieldsFields (void) const
 
virtual const CRhRdkContentFindChild (const wchar_t *wszChildSlotName) const
 
virtual const CRhRdkContentFindInstance (const UUID &uuidInstance) const
 
virtual RDK_DEPRECATED CRhRdkContentFindInstance (const wchar_t *wszName) const
 
virtual void FindInstanceByName (const wchar_t *wszName, bool bCaseSensitive, bool bRecurse, OUT CRhRdkContentArray &aContent) const
 
virtual const CRhRdkContentFirstChild (void) const
 
virtual const CRhRdkContentForDisplay (void) const
 
virtual void GetAutoParameters (const IRhRdkParamBlock &paramBlock, int id)
 
virtual RhRdkChangeContext GetChangeContext (void) const
 
virtual CChildIterator GetChildIterator (void) const
 
virtual ON_wString GetDebugString (const wchar_t *wszSeparator, UINT_PTR reserved) const
 
virtual RDK_DEPRECATED bool GetDefaultsFromUser (HWND)
 
virtual bool GetDefaultsFromUser (void)
 
virtual ON_wString GetEnglishParamName (const wchar_t *wszParamName) const
 
virtual bool GetExtraRequirementParameter (const wchar_t *wszParamName, const wchar_t *wszExtraReqName, CRhRdkVariant &vValueOut) const
 
virtual void GetInstanceIdsRecursive (class CRhRdkInstanceIdArray &aOut) const
 
virtual ON_wString GetLocalizedParamName (const wchar_t *wszParamName) const
 
virtual CRhRdkVariant GetParameter (const wchar_t *wszName) const
 
virtual RDK_DEPRECATED bool GetParameters (const class IRhRdk_XMLSection &section, eGetParamsContext context)
 
virtual void * GetShader (const UUID &uuidRenderEngine, void *pvData) const
 
virtual bool GetSimulation (const IRhRdk_XMLSection &section)
 
virtual bool GlobalRegister (bool bRegister=true)
 
virtual const UUID & GroupId (void) const
 
virtual RDK_DEPRECATED HICON Icon (void) const
 
CImpl & Imp (void) const
 
virtual RDK_DEPRECATED void IncrementUseCount (void) const
 
virtual bool Initialize (void)
 
virtual const UUID & InstanceId (void) const
 
virtual ON_wString InstanceName (void) const
 
virtual void InternalChanged (RhRdkChangeContext, const CRhRdkContent *)
 
virtual ON_wString InternalName (void) const =0
 
virtual bool IsBasicType (void) const
 
virtual bool IsBuiltIn (void) const
 
virtual bool IsCompatible (const UUID &uuidRenderEngine) const
 
virtual bool IsContentTypeAcceptableAsChild (const UUID &uuidType, const wchar_t *wszChildSlotName) const
 
virtual RDK_DEPRECATED bool IsCRCCached (void) const
 
virtual bool IsDefaultInstance (void) const
 
virtual RDK_DEPRECATED bool IsFactoryProductAcceptableAsChild (const class CRhRdkContentFactory *pFactory, const wchar_t *wszChildSlotName) const
 
virtual bool IsFactoryProductAcceptableAsChild (const class CRhRdkContentFactory &f, const wchar_t *wszChildSlotName) const
 
virtual bool IsHidden (void) const
 
virtual bool IsHiddenByAutoDelete (void) const
 
virtual RDK_DEPRECATED bool IsInDocument (void) const
 
virtual bool IsKind (CRhRdkContent::Kinds kind) const
 
virtual bool IsLocked (void) const
 
virtual bool IsOwnedByDocument (void) const
 
virtual bool IsPerObject (void) const
 
virtual bool IsPrivate (void) const
 
virtual bool IsReference (void) const
 
virtual bool IsRhinoObjectSelected (void) const
 
virtual bool IsSurrogate (void) const
 
virtual bool IsTopLevel (void) const
 
virtual bool IsUniversal (void) const
 
virtual bool IsV4Material (void) const
 
virtual ON_wString LibraryFileName (void) const
 
virtual CRhRdkContentMakeCopy (CopyMethods m=CopyMethods::Normal) const
 
virtual RDK_DEPRECATED CRhRdkContentMakeGroupInstance (void)
 
virtual CRhRdkContentMakeGroupInstance (void) const
 
virtual CChildSlotIteratorNewChildSlotIterator (CSIContext context) const
 
virtual class IRhRdkPreviewSceneServerNewPreviewSceneServer (const class CRhRdkSSData &data) const =0
 
virtual const CRhRdkContentNextSibling (void) const
 
virtual ON_wString Notes (void) const
 
virtual bool OnChildChanging (const CRhRdkContent *pOldChild, const CRhRdkContent *pNewChild) const
 
virtual bool OnChildSlotChanged (const wchar_t *wszChildSlotName) const
 
virtual bool OnChildSlotChanging (const wchar_t *wszChildSlotName) const
 
virtual void OnDocumentRegister (void) const
 
virtual void OnDocumentUnregister (void) const
 
virtual bool OnExtraRequirementButtonClicked (const wchar_t *wszParamName, const wchar_t *wszButtonName)
 
virtual void OnFieldChanged (const class CRhRdkContentField &field, const CRhRdkVariant &vOldValue, RhRdkChangeContext cc, void *pReserved)
 
virtual bool OpenInMainEditor (void) const
 
virtual RDK_DEPRECATED bool OpenInModalEditor (UINT uFlags=0)
 
virtual ON_wString ParamNameFromChildSlotName (const wchar_t *wszChildSlotName) const
 
virtual const CRhRdkContentParent (void) const
 
virtual UUID PlugInId (void) const =0
 
virtual int PreviewUpdateDelay (void) const
 
void Promote (void)
 
virtual ProxyTypes ProxyType (void) const
 
virtual const CRhRdkDocumentRdkDocumentAssoc (void) const
 
virtual UUID RdkDocumentId (void) const
 
virtual const CRhRdkDocumentRdkDocumentOwner (void) const
 
virtual const CRhRdkDocumentRdkDocumentRegistered (void) const
 
virtual RDK_DEPRECATED bool ReadParameterXMLStream (const wchar_t *wszStream, eGetParamsContext context)
 
virtual bool ReadParameterXMLStream (const wchar_t *wszStream, ReadParamsContext context)
 
virtual bool ReadSimulationXMLStream (wchar_t *wszStream)
 
RDK_DEPRECATED bool ReadXMLStream (const wchar_t *wszStream)
 
virtual bool ReadXMLStream (const wchar_t *wszStream, const CRhinoFileReadOptions *pOptions)
 
virtual bool RemoveFromDocumentList (CRhRdkDocument &rdkDoc)
 
virtual bool RemoveRdkDocumentAssoc (void)
 
virtual unsigned int RenderCRC (const CRenderCRCFlags &rcrcFlags) const
 
virtual UUID RenderEngineId (void) const =0
 
virtual void ResetParametersToDefaults (const ON_ClassArray< ON_wString > &aParams)
 
virtual RDK_DEPRECATED void ResetUseCount (void) const
 
virtual void ResolveRelativePaths (const wchar_t *wszPathToFile)
 
virtual void ResolveURLPaths (bool bForceDownload=false)
 
virtual RDK_DEPRECATED bool SaveToLibraryFile (const ON_wString &sFullPath, const IRhRdkPreviewSceneServer *pSceneServer) const
 
virtual bool SaveToLibraryFile (const ON_wString &sFullPath, const IRhRdkPreviewSceneServer *pSceneServer, EmbedFilesChoice c) const
 
virtual bool SaveToLibraryFile_Internal (const wchar_t *wszFullPath, const IRhRdkPreviewSceneServer *pSceneServer, bool bEmbedFiles) const
 
virtual void SetAutoDelete (bool bAutoDelete)
 
virtual bool SetChild (const CRhRdkContent *pChild, const wchar_t *wszChildSlotName)
 
virtual bool SetChildSlotAmount (const wchar_t *wszChildSlotName, double dPercent)
 
virtual void SetChildSlotName (const wchar_t *wszChildSlotName)
 
virtual bool SetChildSlotOn (const wchar_t *wszChildSlotName, bool bOn)
 
virtual RDK_DEPRECATED void SetCRCCache (DWORD dwCRC) const
 
virtual bool SetDocumentAssoc (const CRhinoDoc &doc) const
 
virtual bool SetExtraRequirementParameter (const wchar_t *wszParamName, const wchar_t *wszExtraReqName, const CRhRdkVariant &vValue, SetContext sc)
 
virtual void SetGroupId (const UUID &uuidGroup) const
 
RDK_DEPRECATED void SetHidden (bool bHidden, eChangeContext cc)
 
virtual void SetHidden (bool bHidden)
 
virtual void SetInstanceId (UUID uuidInstance)
 
virtual void SetInstanceNameImpl (const wchar_t *wszName, bool bRenameEvents)
 
virtual RDK_DEPRECATED void SetIsReference (bool b)
 
virtual void SetIsRhinoObjectSelected (bool bSelected) const
 
virtual void SetLocked (void)
 
RDK_DEPRECATED void SetNotes (const wchar_t *wszNotes, bool bSendEvents)
 
virtual void SetNotes (const wchar_t *wszNotes)
 
virtual RDK_DEPRECATED bool SetParameter (const wchar_t *wszName, const CRhRdkVariant &vValue, eChangeContext cc)
 
virtual bool SetParameter (const wchar_t *wszName, const CRhRdkVariant &vValue)
 
virtual RDK_DEPRECATED bool SetParameters (class IRhRdk_XMLSection &section, eSetParamsContext context) const
 
virtual bool SetRdkDocumentAssoc (const CRhRdkDocument &rdkDoc)
 
virtual bool SetRdkDocumentOwner (CRhRdkDocument *pRdkDoc)
 
virtual void SetTags (const wchar_t *wszTags, bool bSendEvents=true)
 
virtual bool SmartUngroupRecursive (void)
 
virtual bool SupportsCommand (UUID uuidCommand) const
 
virtual bool SupportsContextHelp (void) const
 
virtual ON_wString Tags (void) const
 
virtual const CRhRdkContentTopLevel (void) const
 
virtual CRhRdkContentTopLevel (void)
 
virtual const CRhRdkContentTopLevelParent (void) const
 
virtual CRhRdkContentTopLevelParent (void)
 
virtual ON_wString TypeDescription (void) const =0
 
virtual UUID TypeId (void) const =0
 
virtual ON_wString TypeName (void) const =0
 
virtual RDK_DEPRECATED bool Ungroup (void)
 
virtual bool Ungroup (void) const
 
virtual RDK_DEPRECATED bool UngroupRecursive (void)
 
virtual bool UngroupRecursive (void) const
 
virtual void Uninitialize (void)
 
virtual void UpdatePreview (void) const
 
virtual RDK_DEPRECATED void UpdateUI (void) const
 
virtual int UseCount (void) const
 
virtual void VerifyCopy (const CRhRdkContent *pCopy) const
 
virtual RDK_DEPRECATED const class IRhRdkThumbViewDefaultsViewDefaults (void) const
 
virtual RDK_DEPRECATED DWORD WriteParameterXMLStream (wchar_t *wszStream, DWORD dwMaxChars, eSetParamsContext context) const
 
virtual size_t WriteParameterXMLStream (wchar_t *wszStream, size_t maxChars, WriteParamsContext context) const
 
virtual size_t WriteSimulationXMLStream (wchar_t *wszStream, size_t maxChars) const
 
virtual RDK_DEPRECATED DWORD WriteXMLStream (wchar_t *wszStream, DWORD dwMaxChars, eSetParamsContext context) const
 
virtual size_t WriteXMLStream (wchar_t *wszStream, size_t maxChars, WriteParamsContext context, const CRhinoFileWriteOptions *pOptions) const
 
- Public Member Functions inherited from CRhRdkObject
 CRhRdkObject ()
 
virtual ~CRhRdkObject ()
 
void operator delete (void *buf)
 
void operator delete[] (void *buf)
 
void * operator new (size_t size)
 
void * operator new[] (size_t size)
 
- Public Member Functions inherited from IAutoUIExtraRequirements
virtual ~IAutoUIExtraRequirements ()
 

Static Public Member Functions

static ON_Texture::TYPE TextureTypeFromUsage (ChildSlotUsage u)
 
static ChildSlotUsage UsageFromTextureType (ON_Texture::TYPE type)
 
- Static Public Member Functions inherited from CRhRdkContent
static RhRdkChangeContext ChangeContextFromSetContext (SetContext sc)
 
static RDK_DEPRECATED CRhRdkContentCreateObjectFromType (UUID uuidType)
 
static RDK_DEPRECATED CRhRdkContentFromXMLStream (const wchar_t *wszXML)
 
static CRhRdkContentFromXMLStream (const wchar_t *wszXML, const CRhinoDoc *pDocAssoc)
 
static bool IsChangeContextUIBased (RhRdkChangeContext cc)
 
static SetContext SetContextFromChangeContext (RhRdkChangeContext cc)
 
- Static Public Member Functions inherited from CRhRdkObject
static void CheckMemory (void)
 

Protected Member Functions

virtual RDK_DEPRECATED ON_wString BumpTextureChildSlotName (void) const
 
virtual RDK_DEPRECATED ON_wString DiffuseTextureChildSlotName (void) const
 
virtual RDK_DEPRECATED ON_wString EnvironmentTextureChildSlotName (void) const
 
virtual RDK_DEPRECATED void SimulateMaterial (ON_Material &matOut, bool bForDataOnly, const CRhinoObject *pObject=nullptr) const
 
virtual void SimulateMaterial (ON_Material &matOut, CRhRdkTexture::TextureGeneration tg=CRhRdkTexture::TextureGeneration::Allow, int iSimulatedTextureSize=-1, const CRhinoObject *pObject=nullptr) const =0
 
virtual ON_wString TextureChildSlotName (ChildSlotUsage usage) const
 
virtual RDK_DEPRECATED ON_wString TransparencyTextureChildSlotName (void) const
 
- Protected Member Functions inherited from CRhRdkContent
virtual unsigned int ComputeRenderCRC (const CRenderCRCFlags &rcrcFlags) const
 

Detailed Description

This is an abstract base class for all kinds of materials.

Member Enumeration Documentation

◆ ChildSlotUsage

enum CRhRdkMaterial::ChildSlotUsage : unsigned int
strong
Enumerator
None 
Diffuse 
Transparency 
Bump 
Environment 
Any 

Constructor & Destructor Documentation

◆ CRhRdkMaterial()

CRhRdkMaterial::CRhRdkMaterial ( )

◆ ~CRhRdkMaterial()

virtual CRhRdkMaterial::~CRhRdkMaterial ( )
virtual

Member Function Documentation

◆ BumpTextureChildSlotName()

virtual RDK_DEPRECATED ON_wString CRhRdkMaterial::BumpTextureChildSlotName ( void  ) const
protectedvirtual

This method is deprecated in favor of TextureChildSlotName().

◆ Category()

virtual const wchar_t* CRhRdkMaterial::Category ( void  ) const
inlineoverridevirtual
Returns
The category of the content.

Implements CRhRdkContent.

Reimplemented in CRhRdkBasicMaterial.

◆ DiffuseTextureChildSlotName()

virtual RDK_DEPRECATED ON_wString CRhRdkMaterial::DiffuseTextureChildSlotName ( void  ) const
protectedvirtual

This method is deprecated in favor of TextureChildSlotName().

◆ DynamicIcon()

virtual bool CRhRdkMaterial::DynamicIcon ( const ON_2iSize size,
CRhinoDib dibOut,
DynamicIconUsage  usage 
) const
overridevirtual

Creates imagery (AKA an 'icon') to represent the content's appearance. This imagery is dynamic, i.e., it changes depending on the content's state (parameters). It is similar to a quick preview and may be implemented in a similar way to CreatePreview().

Parameters
sizeis the desired physical size of the imagery, in pixels.
dibOutis a DIB that accepts the created imagery.
usagespecifies how the icon will be used.
Returns
true if successful, else false.

Implements CRhRdkContent.

◆ EnvironmentTextureChildSlotName()

virtual RDK_DEPRECATED ON_wString CRhRdkMaterial::EnvironmentTextureChildSlotName ( void  ) const
protectedvirtual

This method is deprecated in favor of TextureChildSlotName().

◆ EVF()

virtual void* CRhRdkMaterial::EVF ( const wchar_t *  wszFunc,
void *  pvData 
)
overridevirtual

Emergency virtual function for future expansion. If you override this method, you must call the base class.

Reimplemented from CRhRdkContent.

◆ GetTextureChannelInfo()

virtual bool CRhRdkMaterial::GetTextureChannelInfo ( ChildSlotUsage  usage,
TextureChannelInfo info 
) const
virtual

Used by the framework instead of TextureChildSlotName() when simply asking for the texture. Transparency color should vary from white (fully transparent) to black (opaque) if supported. Bump and environment default colors are black. Default implementation calls TextureChildSlotName().

◆ GetTextureChildSlotName()

ON_wString CRhRdkMaterial::GetTextureChildSlotName ( ChildSlotUsage  usage) const

Do not use to determine that texture for a usage - use GetChannelTextureInfo instead. Only use this function for specifically determining the child slot name for use in SetChild, SetChildSlotOn etc.

◆ GetTextureForUsage()

const CRhRdkContent* CRhRdkMaterial::GetTextureForUsage ( ChildSlotUsage  ) const

Helper function- implemened using GetTextureChannelInfo.

◆ HarvestData()

virtual Harvested CRhRdkMaterial::HarvestData ( const CRhRdkContent oldContent)
overridevirtual

Implement this to transfer data from another content to this content during creation.

Parameters
oldContentis an old content from which the implementation may harvest data.

Implements CRhRdkContent.

Reimplemented in CRhRdkBasicMaterial.

◆ Icon()

virtual bool CRhRdkMaterial::Icon ( const ON_2iSize size,
CRhinoDib dibOut 
) const
overridevirtual

Creates imagery (AKA an 'icon') to represent the content's type. This imagery is static, i.e., it does not change.

Parameters
sizeis the desired physical size of the imagery, in pixels.
dibOutis a DIB that accepts the created imagery.
Returns
true if successful, else false.

Implements CRhRdkContent.

Reimplemented in CRhRdkBasicMaterial.

◆ IsAssociatedWith()

virtual bool CRhRdkMaterial::IsAssociatedWith ( const ON_Material mat) const
virtual
Returns
true if the material is associated with 'mat'. The default behavior is to check if the material's instance id is assigned to the ON_Material.

◆ Kind()

virtual Kinds CRhRdkMaterial::Kind ( void  ) const
finaloverridevirtual
Returns
The kind of the content.

Implements CRhRdkContent.

◆ LibraryFileExtension()

virtual const wchar_t* CRhRdkMaterial::LibraryFileExtension ( void  ) const
overridevirtual
Returns
A pointer to a fixed string giving the library file extension of the content.

Implements CRhRdkContent.

◆ NewPreviewBackground()

virtual CRhRdkPreviewBackground* CRhRdkMaterial::NewPreviewBackground ( void  ) const
overridevirtual

Reimplemented from CRhRdkCoreContent.

◆ NewPreviewGeometry()

virtual CRhRdkPreviewGeometry* CRhRdkMaterial::NewPreviewGeometry ( void  ) const
overridevirtual

Reimplemented from CRhRdkCoreContent.

◆ NewPreviewSceneServer()

virtual IRhRdkPreviewSceneServer* CRhRdkMaterial::NewPreviewSceneServer ( const CRhRdkSSData data) const
overridevirtual

◆ PreviewBackgroundFlags()

virtual UINT CRhRdkMaterial::PreviewBackgroundFlags ( void  ) const
overridevirtual
Returns
Bit-flags denoting supported preview background types.

Implements CRhRdkContent.

◆ PreviewGeometryFlags()

virtual UINT CRhRdkMaterial::PreviewGeometryFlags ( void  ) const
overridevirtual
Returns
Bit-flags denoting supported preview geometry types.

Implements CRhRdkContent.

◆ PreviewLightingFlags()

virtual UINT CRhRdkMaterial::PreviewLightingFlags ( void  ) const
overridevirtual
Returns
Bit-flags denoting supported preview lighting types.

Implements CRhRdkContent.

◆ PreviewSceneType()

virtual ePreviewSceneType CRhRdkMaterial::PreviewSceneType ( void  ) const
inlineoverridevirtual

This is an advanced method which you can override in exceptional circumstances.

Returns
texture_2d_image if you want RDK to produce a texture preview from the texture evaluator or preview_scene_server to cause RDK to call NewPreviewSceneServer().

Implements CRhRdkContent.

◆ SetInstanceName()

virtual void CRhRdkMaterial::SetInstanceName ( const wchar_t *  wszName)
overridevirtual

Set the content's name. If the content is attached to a document, all necessary UI will be updated. This method also creates an undo record and sends the events OnContentRenaming and OnContentRenamed.

Parameters
wszNameis the new name. If you override this method, please be sure to call the base class.

Reimplemented from CRhRdkContent.

◆ SetSimulation()

virtual bool CRhRdkMaterial::SetSimulation ( IRhRdk_XMLSection section) const
overridevirtual

Optionally override this method to add the content's simulation to an XML section. This is needed if you want to avoid having to use WriteSimulationXMLStream() for serialization. For this to work you must return true. The default implementation is a no-op that returns false. This is the easiest and preferred way to serialize the simulation.

Reimplemented from CRhRdkContent.

Reimplemented in CRhRdkBasicMaterial.

◆ SimulatedMaterial()

virtual const ON_Material& CRhRdkMaterial::SimulatedMaterial ( CRhRdkTexture::TextureGeneration  tg = CRhRdkTexture::TextureGeneration::Allow,
int  iSimulatedTextureSize = -1,
const CRhinoObject pObject = nullptr 
) const
virtual

Get the material as an ON_Material. Calls SimulateMaterial() if something relevant has changed since the last call.

◆ SimulateMaterial() [1/2]

virtual RDK_DEPRECATED void CRhRdkMaterial::SimulateMaterial ( ON_Material matOut,
bool  bForDataOnly,
const CRhinoObject pObject = nullptr 
) const
protectedvirtual

This method is deprecated in favor of the one below. bForDataOnly becomes true=CRhRdkTexture::TextureGeneration::Disallow, false=CRhRdkTexture::TextureGeneration::Allow

◆ SimulateMaterial() [2/2]

virtual void CRhRdkMaterial::SimulateMaterial ( ON_Material matOut,
CRhRdkTexture::TextureGeneration  tg = CRhRdkTexture::TextureGeneration::Allow,
int  iSimulatedTextureSize = -1,
const CRhinoObject pObject = nullptr 
) const
protectedpure virtual

Implement this method to modify an ON_Material to simulate this material as best you can. Callers should call SimulatedMaterial() instead which is optimized to only do the simulation if something has changed. IMPORTANT NOTE: Since V6, this function is both pure and implemented, so you should call it from your implementation. The base class version (this one) implements support for setting up the standard texture slots.

Implemented in CRhRdkBasicMaterial.

◆ SmellsLike()

bool CRhRdkMaterial::SmellsLike ( const UUID &  typeId,
bool  bIgnoreTextures = false 
) const

◆ SmellsLikeGem()

bool CRhRdkMaterial::SmellsLikeGem ( void  ) const

◆ SmellsLikeGlass()

bool CRhRdkMaterial::SmellsLikeGlass ( void  ) const

◆ SmellsLikeMetal()

bool CRhRdkMaterial::SmellsLikeMetal ( void  ) const

◆ SmellsLikePaint()

bool CRhRdkMaterial::SmellsLikePaint ( void  ) const

◆ SmellsLikePlaster()

bool CRhRdkMaterial::SmellsLikePlaster ( void  ) const

◆ SmellsLikePlastic()

bool CRhRdkMaterial::SmellsLikePlastic ( void  ) const

◆ SmellsLikeTexturedGem()

bool CRhRdkMaterial::SmellsLikeTexturedGem ( void  ) const

◆ SmellsLikeTexturedGlass()

bool CRhRdkMaterial::SmellsLikeTexturedGlass ( void  ) const

◆ SmellsLikeTexturedMetal()

bool CRhRdkMaterial::SmellsLikeTexturedMetal ( void  ) const

◆ SmellsLikeTexturedPaint()

bool CRhRdkMaterial::SmellsLikeTexturedPaint ( void  ) const

◆ SmellsLikeTexturedPlaster()

bool CRhRdkMaterial::SmellsLikeTexturedPlaster ( void  ) const

◆ SmellsLikeTexturedPlastic()

bool CRhRdkMaterial::SmellsLikeTexturedPlastic ( void  ) const

◆ TextureChildSlotName()

virtual ON_wString CRhRdkMaterial::TextureChildSlotName ( ChildSlotUsage  usage) const
protectedvirtual

Reimplemented in CRhRdkBasicMaterial.

◆ TextureRequiresLinearWorkflowAdjustment()

virtual bool CRhRdkMaterial::TextureRequiresLinearWorkflowAdjustment ( const wchar_t *  wszChildSlotName) const
virtual

The default implementation returns false if the wszChildSlotName is the same as is returned by BumpTextureChildSlotName, otherwise true. See CRhRdkTexture::IsLinear for more information.

◆ TextureTypeFromUsage()

static ON_Texture::TYPE CRhRdkMaterial::TextureTypeFromUsage ( ChildSlotUsage  u)
static

◆ TransparencyTextureChildSlotName()

virtual RDK_DEPRECATED ON_wString CRhRdkMaterial::TransparencyTextureChildSlotName ( void  ) const
protectedvirtual

This method is deprecated in favor of TextureChildSlotName().

◆ UpdateDocumentTables()

virtual bool CRhRdkMaterial::UpdateDocumentTables ( void  ) const
overridevirtual

Called by Changed() to update Rhino document tables.

Returns
true if successful, else false.

Implements CRhRdkContent.

◆ UsageFromTextureType()

static ChildSlotUsage CRhRdkMaterial::UsageFromTextureType ( ON_Texture::TYPE  type)
static