Rhino C++ API
8.14
|
#include <RhRdk_RCE_Queue2.h>
Classes | |
class | ClippingPlane |
class | DynamicObject |
class | GroundPlane |
class | Light |
class | MappingChannel |
class | MappingChannels |
class | Material |
class | Mesh |
class | MeshInstance |
class | Skylight |
Public Member Functions | |
ChangeQueue (const ChangeQueue &)=delete | |
ChangeQueue (const CRhinoDoc &doc, const UUID &uuidPlugInId, const ON_3dmView &view, const CDisplayPipelineAttributes *pAttributes, bool bRespectDisplayAttributes, bool bNotifyChanges) | |
ChangeQueue (const IRhRdkPreviewSceneServer &ss, const UUID &uuidPlugInId) | |
virtual | ~ChangeQueue (void) |
virtual ON__UINT32 | AddContentReference (const CRhRdkContent &content) |
virtual ON__UINT32 | AddMaterialReference (const CRhinoDoc *pDocAssoc, const ON_Material &pMaterial) |
virtual ON__UINT32 | AddMaterialReference (const CRhRdkMaterial &material) |
virtual bool | AddObjectReference (const CRhinoObject &object) |
virtual void | ApplyClippingPlaneChanges (const ON_SimpleArray< const UUID * > &deleted, const ON_SimpleArray< const ClippingPlane * > &addedOrModifiedClippingPlanes) const |
virtual void | ApplyDisplayAttributesChanges (const CDisplayPipelineAttributes *pAttributes) const |
virtual void | ApplyDynamicClippingPlaneChanges (const ON_SimpleArray< const ClippingPlane * > &adpc) const |
virtual void | ApplyDynamicLightChanges (const ON_SimpleArray< const ON_Light * > &lights) const |
virtual void | ApplyDynamicObjectTransforms (const ON_SimpleArray< const DynamicObject * > &dynamicTransforms) const |
virtual void | ApplyEnvironmentChanges (IRhRdkCurrentEnvironment::Usage usage) const |
virtual void | ApplyGroundPlaneChanges (const GroundPlane &gp) const |
virtual void | ApplyLightChanges (const ON_SimpleArray< const Light * > &lights) const |
virtual void | ApplyLinearWorkflowChanges (const IRhRdkLinearWorkflow &lw) const |
virtual void | ApplyMaterialChanges (const ON_SimpleArray< const Material * > &materials) const |
virtual void | ApplyMeshChanges (const ON_SimpleArray< const UUID * > &deleted, const ON_SimpleArray< const Mesh * > &addedOrChanged) const |
virtual void | ApplyMeshInstanceChanges (const ON_SimpleArray< ON__UINT32 > &deleted, const ON_SimpleArray< const MeshInstance * > &addedOrChanged) const |
virtual void | ApplyRenderSettingsChanges (const ON_3dmRenderSettings &rs) const |
virtual void | ApplySkylightChanges (const Skylight &skylight) const |
virtual void | ApplySunChanges (const ON_Light &sun) const |
virtual void | ApplyViewChange (const ON_3dmView &view) const |
virtual bool | AreViewsEqual (const ON_3dmView &oldView, const ON_3dmView &newView) const |
virtual eRhRdkBakingFunctions | BakeFor (void) const |
virtual int | BakingSize (const CRhinoObject &object, const CRhRdkMaterial &material, ON_Texture::TYPE channel) const |
virtual unsigned int | ContentRenderCRC (const CRhRdkContent &content, const CRhRdkContent::CRenderCRCFlags &flags, const IRhRdkLinearWorkflow *pLW=nullptr) const |
virtual bool | ConvertCameraBasedLightToWorld (ON_Light &light, const ON_Viewport &vp) |
virtual void | CreateWorld (bool bFlushWhenFinished=true) |
virtual const CRhRdkEnvironment * | EnvironmentFromId (ON__UINT32 id) const |
const CRhRdkEnvironment * | EnvironmentFromOriginalInstanceId (const ON_UUID &id) const |
virtual ON__UINT32 | EnvironmentIdForUsage (IRhRdkCurrentEnvironment::Usage usage) const |
virtual void | Flush (bool bApplyChanges=true) |
virtual bool | HasViewChanged (const ON_UUID &viewportId) |
virtual bool | HasViewChanged (void) |
virtual void | Lock () |
virtual void | Lock () const |
virtual const CRhRdkMaterial * | MaterialFromId (ON__UINT32 id) const |
const CRhRdkMaterial * | MaterialFromOriginalInstanceId (const ON_UUID &id) const |
virtual bool | NeedsBakingOnAnyChannel (const CRhinoDoc &doc, const CRhinoObject &, const CInstanceAncestry *pOptionalAncestry=nullptr, const CRhRdkMaterial *pOptionalMaterial=nullptr) const |
virtual void | NotifyBeginUpdates () const |
virtual void | NotifyDynamicUpdatesAreAvailable (void) const |
virtual void | NotifyEndUpdates () const |
virtual const CRhinoObject * | ObjectFromId (const ON_UUID &id) const |
const ChangeQueue & | operator= (const ChangeQueue &)=delete |
class IQueuePoster & | Post (void) |
virtual bool | ProvideOriginalObject (void) const |
const CDisplayPipelineAttributes * | QueueDisplayAttributes (void) const |
virtual const GroundPlane * | QueueGroundPlane (void) const |
virtual const ON_3dmRenderSettings * | QueueRenderSettings (void) const |
virtual const ON_BoundingBox * | QueueSceneBoundingBox (void) const |
virtual const Skylight * | QueueSkylight (void) const |
virtual const ON_Light * | QueueSun (void) const |
virtual const ON_3dmView * | QueueView (void) const |
virtual bool | ShouldAggregateMeshes (const CRhinoObject &obj) const |
virtual const CRhRdkTexture * | TextureFromId (ON__UINT32 id) const |
const CRhRdkTexture * | TextureFromOriginalInstanceId (const ON_UUID &id) const |
bool | TryLock (void) |
bool | TryLock (void) const |
virtual void | Unlock () |
virtual void | Unlock () const |
Static Public Member Functions | |
static bool | IsIgnoredObject (const CRhinoObject &) |
static void | SetIgnoredObject (CRhinoObject &) |
Protected Member Functions | |
virtual void * | EVF (const wchar_t *, void *) |
Protected Attributes | |
Impl * | m_pImpl = nullptr |
RhRdk::Realtime2::ChangeQueue::ChangeQueue | ( | const CRhinoDoc & | doc, |
const UUID & | uuidPlugInId, | ||
const ON_3dmView & | view, | ||
const CDisplayPipelineAttributes * | pAttributes, | ||
bool | bRespectDisplayAttributes, | ||
bool | bNotifyChanges | ||
) |
Construct a ChangeQueue for given parameters
doc | is the Rhino document for which the ChangeQueue is generated. |
uuidPlugInId | is the UUID for the plug-in |
view | is the ON_3dmView for which this Changeueue tracks viewport manipulations |
pAttributes | is the display attributes if any |
bRespectDisplayAttributes | true if changes to display attributes should be tracked |
bNotifyChanges | true if changes should be notified |
RhRdk::Realtime2::ChangeQueue::ChangeQueue | ( | const IRhRdkPreviewSceneServer & | ss, |
const UUID & | uuidPlugInId | ||
) |
ChangeQueue constructed for a preview rendering.
|
virtual |
Deconstruct the ChangeQueue, clean up.
|
delete |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Apply the clipping plane changes.
deleted | array of UUID of the deleted clipping planes |
addedOrModifiedClippingPlanes | array of ClippingPlane* that are added or changed |
|
virtual |
|
virtual |
Apply the dynamic clipping plane changes.
adpc | array of ClippingPlane* for dynamic changes (while dragging). |
|
virtual |
Apply the dynamic light changes (while dragging).
lights | array of changed lights. |
|
virtual |
Apply the dynamic object transformations as given in the simple array (while dragging).
dynamicTransforms | array of dynamic object transforms. |
|
virtual |
Apply the changes for the given environment channel.
usage | the environment type that changed. |
|
virtual |
Apply the given ground plane changes.
gp | the GroundPlane& with the new state. |
|
virtual |
Apply the given light changes.
lights | array of Light* that have been added, deleted or changed. |
|
virtual |
Apply the linear workflow changes.
lw | the IRhRdkLinearWorkflow& |
|
virtual |
Apply the given material changes. Note that initial material information always comes through the Mesh* in ApplyMeshChanges.
materials | array of Material* that have been changed. |
|
virtual |
Apply the given mesh changes.
deleted | array of UUIDs of deleted meshes |
addedOrChanged | array of meshes that have been added or changed. |
|
virtual |
Apply the given mesh instance changes.
deleted | array of instance ids of deleted mesh instances |
addedOrChanged | array of MeshInstance that have been added or changed |
|
virtual |
Apply the given render settings changes.
rs | the ON_3dmRenderSettings& with the new state. |
|
virtual |
Apply the given skylight changes.
skylight | the Skylight with the new state |
|
virtual |
Apply the given sun changes.
sun | an ON_Light representing the sun. |
|
virtual |
Apply changes to the view. The given view has the new state.
view | the new view status. |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Utility function to convert the default light to a more useful world-based light. Only use if your renderer doesn't support camera-based lighting. You should only call this during a flush, where a camera based light has been posted.
light | the light to convert. |
vp | the viewport to use as camera. |
|
virtual |
Call this to force the entire model through the queue.
|
virtual |
Return the CRhRdkEnvironment for given hash.
id | the hash of the environment. |
const CRhRdkEnvironment* RhRdk::Realtime2::ChangeQueue::EnvironmentFromOriginalInstanceId | ( | const ON_UUID & | id | ) | const |
|
virtual |
Get the hash for environment based on usage. Can be used with EnvironmentFromId.
usage | the usage type |
|
protectedvirtual |
|
virtual |
Call this to update your renderer world and flash out the change queue.o The "Apply" functions will be called if bApplyChanges is true in order with the queue data, and then the data will be deleted. Once function exits, none of the data you were passed in the Apply functions is available.
You should not call functions in the Rhino document during the Apply functions unless you are rendering on the main thread.
bApplyChanges | true if you want the Apply functions to be called. |
|
virtual |
Returns true if the viewport with UUID has changed.
viewportId | the UUID of the viewport. |
|
virtual |
Returns true if the related viewport has changed.
|
static |
true if given object is ignored.
|
virtual |
Implement to handle the locking of the view that is running your display mode.
|
virtual |
Implement to handle the locking of the view that is running your display mode.
|
virtual |
Return the CRhRdkMaterial for given hash.
id | the hash of the material. |
const CRhRdkMaterial* RhRdk::Realtime2::ChangeQueue::MaterialFromOriginalInstanceId | ( | const ON_UUID & | id | ) | const |
|
virtual |
Return bool if you need any of the mesh effects baked.
|
virtual |
This function is called when the ChangeQueue receives a new change.
|
virtual |
This function is called when an immediate updates is required (view changes, dynamic object changes. Respond as quickly as you can).
|
virtual |
This function is called when the ChangeQueue has completed handling changes.
|
virtual |
|
delete |
class IQueuePoster& RhRdk::Realtime2::ChangeQueue::Post | ( | void | ) |
|
virtual |
Return true if you need the original geometry objects (mesh, light, clippingplane).
const CDisplayPipelineAttributes* RhRdk::Realtime2::ChangeQueue::QueueDisplayAttributes | ( | void | ) | const |
Get the display pipeline attributes from the queue.
|
virtual |
Get the ground plane data from the queue.
|
virtual |
Get the ON_3dmRenderSettings.
|
virtual |
Get the bounding box of the scene from the queue.
|
virtual |
Get the skylight from the queue.
|
virtual |
Get the sun from the queue.
|
virtual |
Get the view from the queue.
|
static |
Ignore given object.
|
virtual |
Return true if you want the meshes aggregated for given object.
|
virtual |
Return the CRhRdkTexture for given hash.
id | the hash of the texture. |
const CRhRdkTexture* RhRdk::Realtime2::ChangeQueue::TextureFromOriginalInstanceId | ( | const ON_UUID & | id | ) | const |
bool RhRdk::Realtime2::ChangeQueue::TryLock | ( | void | ) |
bool RhRdk::Realtime2::ChangeQueue::TryLock | ( | void | ) | const |
|
virtual |
Implement to handle the unlocking of the view that is running your display model.
|
virtual |
Implement to handle the unlocking of the view that is running your display model.
|
protected |