ChangeQueue
Base class for ChangeQueue. Generally used by render plugins to build interactive updating of scenes that are being rendered.
Inheritance Hierarchy
System.Object
Rhino.Render.ChangeQueue.ChangeQueue
Namespace: Rhino.Render.ChangeQueue
Assembly: RhinoCommon (in RhinoCommon.dll)
Syntax
public abstract class ChangeQueue : IDisposable
The ChangeQueue type exposes the following members.
Constructors
Name
Description
Protected Method
ChangeQueue(Guid, CreatePreviewEventArgs)
Construct a new ChangeQueue using the given CreatePreviewEventArgs. The preview scene for these args will be used to populate the world.
Protected Method
ChangeQueue(Guid, UInt32, ViewInfo, Boolean)
Obsolete.
Construct a new ChangeQueue from the given document
Protected Method
ChangeQueue(Guid, UInt32, ViewInfo, DisplayPipelineAttributes, Boolean, Boolean)
Construct a new ChangeQueue from the given document, using given display pipeline attributes.
Properties
Name
Description
Public Property
DisplayPipelineAttributes
Get the DisplayPipelineAttributes if available, null otherwise
Public Property
IsPreview
Return true if this ChangeQueue is created for preview rendering. No view was set for preview rendering.
Public Property
ViewId
Return view ID for a RhinoDoc based ChangeQueue. Returns Guid.Empty if no view was associated with the changequeue, i.e. preview rendering.
Methods
Name
Description
Protected Method
ApplyClippingPlaneChanges
Override this when you want to handle clippingplane changes
Protected Method
ApplyDisplayPipelineAttributesChanges
Override if you need to react to display attribute changes. This function is needed to be able to react to different sample settings for i.e. capture preview rendering.
Protected Method
ApplyDynamicClippingPlaneChanges
Override this when you want to handle dynamicclippingplane changes
Protected Method
ApplyDynamicLightChanges
Handle dynamic light changes
Protected Method
ApplyDynamicObjectTransforms
Handle dynamic object transforms
Protected Method
ApplyEnvironmentChanges
Override this when you want to handle environment changes
Protected Method
ApplyGroundPlaneChanges
Override this when you want to handle groundplane changes
Protected Method
ApplyLightChanges
Override this when you want to handle light changes
Protected Method
ApplyLinearWorkflowChanges
Override this when you want to handle linear workflow changes
Protected Method
ApplyMaterialChanges
Override when you want to handle material changes
Protected Method
ApplyMeshChanges
Override this when you want to handle mesh changes.
Protected Method
ApplyMeshInstanceChanges
Override this when you want to handle mesh instance changes (block instances and first-time added new meshes)
Protected Method
ApplyRenderSettingsChanges(DisplayRenderSettings)
Override this when you want to handle render setting changes. These are for the viewport settings.
Protected Method
ApplyRenderSettingsChanges(RenderSettings)
Override this when you need to handle background changes (through RenderSettings)
Protected Method
ApplySkylightChanges
Override this when you want to handle skylight changes
Protected Method
ApplySunChanges
Override this when you want to handle sun changes
Protected Method
ApplyViewChange
Override ApplyViewChange when you want to receive changes to the view/camera
Public Method
AreViewsEqual
Compare to ViewInfo instances and decide whether they are equal or not. If you need to change the way the comparison is done you can override this function and implement your custom comparison.
Protected Method
BakeFor
Override this if you need to control baking behavior for textures. By default bake everything.
Protected Method
BakingSize
Override this if you need to control the size of the baked bitmaps for textures. By default the value returned is 2048.
Protected Method
ContentRenderHash
Override this if you need to modify the way render hashes are calcuated in the change queue. This will alter the way materials are grouped.
Public Method
Static Member
ConvertCameraBasedLightToWorld
Convert given (camera-based) light to a world-based light (in-place)
Public Method
Static Member
CrcFromGuid
Helper function to get a CRC from a Guid.
Public Method
CreateWorld.
Calls CreateWorld with true passed.
Public Method
CreateWorld(Boolean)
Signal the queue to do the initialisation of the queue, seeding it with the content currently available.
Public Method
Dispose.
Dispose our ChangeQueue
Protected Method
Dispose(Boolean)
Dispose our ChangeQueue. Disposes unmanaged memory.
Public Method
EnvironmentForid
Get RenderEnvironment for given RenderHash. Can return null.
Public Method
EnvironmentFromOriginalInstanceId
Get the RenderEnvironment from the ChangeQueue content cache from the original instance id
Public Method
EnvironmentIdForUsage
Get RenderEnvironment RenderHash for given usage.
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected Method
Finalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public Method
Flush
Tell the ChangeQueue to flush all collected events. This can trigger a host of Apply* calls. The following is the order in which those calls get made if there are changes for that specific data type: ApplyViewChange ApplyLinearWorkflowChanges ApplyDynamicObjectTransforms ApplyDynamicLightChanges ApplyRenderSettingsChanges ApplyEnvironmentChanges (background) ApplyEnvironmentChanges (refl) ApplyEnvironmentChanges (sky) ApplySkylightChanges ApplySunChanges ApplyLightChanges ApplyMaterialChanges ApplyMeshChanges ApplyMeshInstanceChanges ApplyGroundPlaneChanges ApplyClippingPlaneChanges
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public Method
GetQueueGroundPlane
Get groundplane known to the queue at the time of the Flush
Public Method
GetQueueRenderSettings
Get render settings known to the queue at the time of the Flush
Public Method
GetQueueSceneBoundingBox
Get the scene bounding box
Public Method
GetQueueSkylight
Get skylight known to the queue at the time of the Flush
Public Method
GetQueueSun
Get sun known to the queue at the time of the Flush
Public Method
GetQueueView
Get view known to the queue at the time of the Flush
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public Method
MaterialFromId
Get the RenderMaterial from the ChangeQueue material cache based on RenderHash
Public Method
MaterialFromOriginalInstanceId
Get the RenderMaterial from the ChangeQueue material cache from the original instance id
Protected Method
MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected Method
NotifyBeginUpdates
Override this when you want to be notified of begin of changes
Protected Method
NotifyDynamicUpdatesAreAvailable
Override this when you want to be notified dynamic updates are available
Protected Method
NotifyEndUpdates
Override this when you want to be notified when change notifications have ended.
Public Method
OneShot
Call Flush() once, after that automatically dispose the queue.
Protected Method
ProvideOriginalObject
Override ProvideOriginalObject and return true if you want original objects supplied with ChangeQueue.Mesh. This will then also allow access to the Attributes.UserData of the original object from which the Mesh was generated.
Public Method
TextureForId
Get RenderTexture for given RenderHash. Can return null.
Public Method
TextureFromOriginalInstanceId
Get the RenderTexture from the ChangeQueue content cache from the original instance id
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object.)