> For the complete documentation index, see [llms.txt](https://docs.renderdraw.us/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.renderdraw.us/api-documentation/3d-components-api/components-aura-lwc/3d-advanced-renderer-aura.md).

# 3D Advanced Renderer (Aura)

### Background Information

The Advanced Renderer was created for more complex development and interaction scenarios than the SimpleRenderer component. SimpleRenderer was created for displaying 3D drawings and allowing interaction without events or selection of components within the drawing itself.

Advanced Renderer was created to allow for the manipulation of a 3D scene within the context of a Salesforce interaction. This can be displayed using our Slot UI framework which is detailed below.

The Advanced Renderer is used throughout the RenderDraw suite, namely inside of the 3D Scene Director.

### Usage Notes

Advanced Renderer should be used in any custom development scenario. This component was created to allow for the contextual interaction with other data within Salesforce. If you need a custom interaction beyond 3D visualization, this component is likely what you will be using. AdvancedRenderer can be utilized in simple rendering scenarios as well, with the option of utilizing slots.

#### Slots

AdvancedRenderer was designed for extensibility, with that in mind, solving for every use case isn't really possible without knowing how each implementation and custom project needs to display 3D within Salesforce. Salesforce Lightning components are composable, and the AdvancedRenderer has prebuilt slots for you to pass custom components into.

A common interaction flow is searching for a detail record from record set, and displaying a 3D drawing or 2D image based on that selection. in the diagram below, we walk through displaying a list of order items, fetching the details of an item, displaying the appropriate drawing and if selected the related actions to its subcomponents. These can lead to the user attempting to either re-order an item or create a service order based on a warranty claim.

The interaction follows a pattern events that can be triggered by the user, or by the 3D drawing / rendering itself. Displaying these details alongside the 3D drawing in a repeatable way are why we created the Slot UI Layout. Slots can be used to express any interaction within Salesforce, and the **AdvancedRenderer** provides the capability to display these as you see fit.

![](/files/6kybdgwFsIgJb4lMormD)

Lets break down each Slot and its intended purpose.

These slots were meant to be used as needed, and data surrounding what we are rendering is supposed to flow from left to right, starting with ContextContent (1) and concluding on the Sidebar Content (4) with some interaction in between.

#### Context Content (1)

The ContextContent slot is meant to provide high-level information to the user regarding what the 3D model is supposed to represent. Some examples of what has been used in the ContextContent Slot in past projects include

* Lists of Salesforce Objects that, once selected, update what rendering is displayed
* Configuration options for a product to modify the 3D object/scene

Because of the recurring theme of searching for details that reside in a list of information, we have created the **ContextContentDetails** slot as well, which is displayed in the same area (1) that the ContextContent component is displayed, the only difference is an additional back button (that raises EVT\_Renderer\_Context\_Details\_Closed), and displayed header text to provide your user some context (attribute **contextDetailHeaderText).**

#### **Action Information Pane (3)**

The horizontal slot available above the 3D model, which is typically used for Actions related to what is being rendered (e.g. Create a Case). Using attribute **displayActionInformationPaneOnSelection** will automatically display the ActionInformationPane when a user selects a component using **ComponentTouch.**

We suggest limiting the height of components passed into this slot to approximately ⅓ of the parents components overall height, as the ActionInformationPane shares vertical space with the rendered content, and the 3D element is typically the star of the show in a user's eyes.

#### Sidebar Content (4)

The Sidebar content slot provides space for additional information that is to be displayed based on an interaction in the 3D content pane.

#### Passing components into a slot

Passing components into slots are as simple as using the aura:set tag with the name of the slot you would like to use.

```html
<RDraw:AdvancedRenderer aura:id="renderer" displayContext="true"  loadingImage="{!v.loadingImage}"
 displaySidebar="{!v.showSidebar}" displayActionInformationPane="{!v.displayActions}"
 spitShine="True" allowSelection="true" recordId="{!v.recordId}">
    <aura:set attribute="contextContent">
           //your component goes here for the context menu (1) 
    </aura:set>
    <aura:set attribute="actionInformationPane">
          //your component goes here for the ActionInformationPane (3)
    </aura:set> v
    <aura:set attribute="sidebarContent">
         //your component goes here for the Sidebar content (4)
    </aura:set>
 </RDraw:AdvancedRenderer>
```

### Interfaces

[flexipage:availableForAllPageTypes](https://customer-speed-4613-dev-ed.lightning.force.com/docs/component-library/bundle/flexipage:availableForAllPageTypes), [force:hasRecordId](https://customer-speed-4613-dev-ed.lightning.force.com/docs/component-library/bundle/force:hasRecordId), [lightning:availableForFlowScreens](https://customer-speed-4613-dev-ed.lightning.force.com/docs/component-library/bundle/lightning:availableForFlowScreens)

### Attributes

<table><thead><tr><th width="259">NAME</th><th width="150">TYPE</th><th width="150">DEFAULT</th><th>DESCRIPTION</th></tr></thead><tbody><tr><td>actionInformationPane</td><td>component[]</td><td></td><td>The horizontal slot available above the 3D model. This is typically used for Actions related to what is being rendered (e.g. Create a Case)</td></tr><tr><td>allowSelection</td><td>boolean</td><td></td><td>Allow the selection of subcomponents either by ComponentTouch(Click) or programmatically using the selectComponent method</td></tr><tr><td>availableActions</td><td>string[]</td><td></td><td>Inherited from <a href="https://customer-speed-4613-dev-ed.lightning.force.com/docs/component-library/bundle/lightning:availableForFlowScreens">lightning:availableForFlowScreens</a>The navigation actions available for this screen. Valid actions are NEXT, PREVIOUS, FINISH, and PAUSE.</td></tr><tr><td>body</td><td>component[]</td><td></td><td>Inherited from <a href="https://customer-speed-4613-dev-ed.lightning.force.com/docs/component-library/bundle/aura:component">aura:component</a>The body of the component. In markup, this is everything in the body of the tag.</td></tr><tr><td>brandImageURL</td><td>string</td><td></td><td>The branded logo image displayed in the bottom right corner of the rendering components. Pass an empty string if no branding is desired.</td></tr><tr><td>childComponentPrefixToFilter</td><td>string[]</td><td>[]</td><td>A list of strings to ignore if they follow the name value, e.g. a value of ['_ASM'] passed along with the 'name' parameter of IceCream would successfully return a 3D node named 'IceCream_ASM'</td></tr><tr><td>childComponentSuffixToFilter</td><td>string[]</td><td>[]</td><td>A list of strings to ignore if they precede the name value, e.g. a value of ['ASD_'] passed along with the 'name' parameter of IceCream would successfully return a 3D node named 'ASD_IceCream'</td></tr><tr><td>contentVersionId</td><td>string</td><td></td><td>The content version to render (if rendering from Salesforce servers/files). Using contentversionid will bypass the standard recordId and the overrideURL</td></tr><tr><td>contextContent</td><td>component[]</td><td></td><td>The Salesforce Lightning components to be displayed on the context pane (left side slot, representing context to what is being rendererd.)</td></tr><tr><td>contextDetailContent</td><td>component[]</td><td></td><td>The Salesforce Lightning components to be displayed on the context detail pane (left side slot, representing details to the context of what is being rendererd.) This is typically displayed based on some action that happened within the contextContent componets, e.g. list order items, then dive into the details of a particular line.</td></tr><tr><td>contextDetailHeaderText</td><td>string</td><td>Details</td><td>The header text that is displayed next to the back button on the contextDetail facet. This describes the content that is passed via contextDetailsContent, typically the name of a line item or detail item within a list presented in the contextContent</td></tr><tr><td>contextSize</td><td>integer</td><td>4</td><td>The size in units, up to 12, for how wide the Context and Context Details slots are</td></tr><tr><td>displayActionInformationPane</td><td>boolean</td><td>false</td><td>Whether or not to display the Action information pane slot (top slot) and components passed into actionInformationPane parameter</td></tr><tr><td>displayActionInformationPaneOnSelection</td><td>boolean</td><td>false</td><td>Whether or not to display the Action information pane slot (top slot) when a selection is made via ComponentTouch or programmatically</td></tr><tr><td>displayContext</td><td>boolean</td><td>false</td><td>Whether or not to display the context slot (left side slot) and components passed into contextContent parameter</td></tr><tr><td>displayContextDetails</td><td>boolean</td><td>false</td><td>Whether or not to display the context slot details and components passed into contextDetailContent parameter. Use this for displaying detail components related to contextContent, e.g. Line item details for for an order item listed in contextContent. This cannot be used at the same time as displayContext</td></tr><tr><td>displaySidebar</td><td>boolean</td><td>false</td><td>Whether or not to display the sidebar slot (right side slot) and components passed into sidebarContent parameter</td></tr><tr><td>environmentColor</td><td>string</td><td>#E6F1F4</td><td>The background color of the 3D environment. Use Hex code format, such as #ffffff</td></tr><tr><td>loadingImage</td><td>string</td><td></td><td>The image URL to display while the 3D model is loading</td></tr><tr><td>nodeIgnoreList</td><td>string[]</td><td>[]</td><td>A list of strings that contain names of nodes to ignore when traversing the 3D structure during ComponentTouch or Finding a component by name</td></tr><tr><td>overrideURL</td><td>string</td><td></td><td>The absolute URL to render.</td></tr><tr><td>playground</td><td>boolean</td><td>false</td><td>Setup a renderer without loading a model for custom interactions</td></tr><tr><td>recordId</td><td>string</td><td></td><td>Inherited from <a href="https://customer-speed-4613-dev-ed.lightning.force.com/docs/component-library/bundle/force:hasRecordId">force:hasRecordId</a>The record Id</td></tr><tr><td>relatedRecordBusy</td><td>boolean</td><td>false</td><td>Whether or not the system is busy searching for the related record.</td></tr><tr><td>selectedComponentName</td><td>string</td><td></td><td>The node name of the selected component in the 3D model</td></tr><tr><td>showUserMessages</td><td>boolean</td><td>false</td><td>Show rendering related messages to the user. This is typically used in debug scenarios</td></tr><tr><td>sidebarContent</td><td>component[]</td><td></td><td>The vertical slot avalable to the right of the 3D model. This is typically used for Detailed information related to the result of a ComponentTouch on a model (e.g. selection of a subcomponent within a model for checking on warranty information).</td></tr><tr><td>sidebarSize</td><td>integer</td><td>4</td><td>The size in units, up to 12, for how wide the Context and Context Details slots are</td></tr><tr><td>size</td><td>string</td><td></td><td>Size of the component, either Stretch, Small, Medium, Large, Jumbo</td></tr><tr><td>spitShine</td><td>boolean</td><td>false</td><td>Add a shine to your model, even if the materials loaded have no reflection</td></tr><tr><td>useCommunities</td><td>boolean</td><td></td><td>Fixes the fetching of files and metadata when utilizing a Community</td></tr><tr><td>userInteracted</td><td>boolean</td><td>false</td><td>Whether or not a user has interacted with the drawing</td></tr></tbody></table>

### Methods

<table><thead><tr><th width="216.3268765133172">NAME</th><th>ARGUMENTS</th><th>DESCRIPTION</th></tr></thead><tbody><tr><td>add2DImage</td><td>fPHGFjsLWGim</td><td>Add a floating image in 3D space</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>id</td><td>string</td><td>The id of the image player to add</td></tr><tr><td>imageURL</td><td>string</td><td>The URL to the image</td></tr><tr><td>width</td><td>double</td><td>The width of the image</td></tr><tr><td>height</td><td>double</td><td>The height of the image</td></tr><tr><td>positionX</td><td>number</td><td>The x-coordinate position to add the image to</td></tr><tr><td>positionY</td><td>number</td><td>The y-coordinate position to add the image to</td></tr><tr><td>positionZ</td><td>number</td><td>The z-coordinate position to add the image to</td></tr><tr><td>add2DText</td><td>l3QhwW1p4xrG</td><td>Add floating 2D text that can be attached to a 3D component/node in the scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>id</td><td>string</td><td>The id of the text to add</td></tr><tr><td>text</td><td>string</td><td>The text to add</td></tr><tr><td>size</td><td>number</td><td>The size of the text to add</td></tr><tr><td>color</td><td>string</td><td>The color of the text to add</td></tr><tr><td>componentName</td><td>string</td><td>The component to attach</td></tr><tr><td>showOnlyOnHover</td><td>boolean</td><td>Auto-hide this text if the user isnt hovering over the named component. This is ignored if there isnt a component passed</td></tr><tr><td>add3DTextToScene</td><td>nd9A9VPx2f9R</td><td>Add 3D text to a given Scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>id</td><td>string</td><td>The id of the text to add to the scene</td></tr><tr><td>text</td><td>string</td><td>The text to add to the scene</td></tr><tr><td>font</td><td>string</td><td>What font is to be used, either comic, helvetica, or arial</td></tr><tr><td>anchor</td><td>string</td><td>position of the text to anchor itself to- either left, center, right</td></tr><tr><td>letterHeight</td><td>number</td><td>How tall the letters are (y-axis)</td></tr><tr><td>letterThickness</td><td>number</td><td>How thick the letters are (depth, in three dimensions the Z axis)</td></tr><tr><td>color</td><td>string</td><td>The hex color code of the text</td></tr><tr><td>secondaryColor</td><td>string</td><td>The hex color code of the accent color on the text</td></tr><tr><td>positionX</td><td>number</td><td>The x-coordinate position to add the text to</td></tr><tr><td>positionY</td><td>number</td><td>The y-coordinate position to add the text to</td></tr><tr><td>positionZ</td><td>number</td><td>The z-coordinate position to add the text to</td></tr><tr><td>addComponentTransformHandles</td><td>M4oZe7OT4IP7</td><td>Used to add position, rotation and size handles to a set of components by name.</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>componentName</td><td>string</td><td>The name of the 3D node to add the handles to</td></tr><tr><td>enableSizeHandles</td><td>boolean</td><td>Whether or not to allow for the resizing of the underlying element</td></tr><tr><td>enableRotationHandles</td><td>boolean</td><td>Whether or not to allow for the rotation of the underlying element</td></tr><tr><td>enablePositionHandles</td><td>boolean</td><td>Whether or not to allow for the position of the underlying element</td></tr><tr><td>usePointerToAttachHandles</td><td>boolean</td><td>Whether or not to attach the selected handles when you click on an added component (named above)</td></tr><tr><td>clearHandlesOnEmptyPointerEvent</td><td>boolean</td><td>Whether or not to detach the handles when you click away from an added component (named above)</td></tr><tr><td>addComponentTransformHandlesToMultipleComponents</td><td>LsSzln3y3vIU</td><td>Used to add position, rotation and size handles to a set of components by name.</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>componentNames</td><td>list</td><td>The names of the 3D nodes to add the handles to</td></tr><tr><td>componentIds</td><td>list</td><td>The Ids of the 3D nodes to add the handles to</td></tr><tr><td>componentUniqueIds</td><td>list</td><td>The UniqueIds of the 3D nodes to add the handles to</td></tr><tr><td>enableSizeHandles</td><td>boolean</td><td>Whether or not to allow for the resizing of the underlying element</td></tr><tr><td>enableRotationHandles</td><td>boolean</td><td>Whether or not to allow for the rotation of the underlying element</td></tr><tr><td>enablePositionHandles</td><td>boolean</td><td>Whether or not to allow for the position of the underlying element</td></tr><tr><td>usePointerToAttachHandles</td><td>boolean</td><td>Whether or not to attach the selected handles when you click on an added component (named above)</td></tr><tr><td>clearHandlesOnEmptyPointerEvent</td><td>boolean</td><td>Whether or not to detach the handles when you click away from an added component (named above)</td></tr><tr><td>addLight</td><td>CDBsvpUBAT00</td><td>Add a new light to the scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>name</td><td>string</td><td>The name of the light to add</td></tr><tr><td>lightType</td><td>string</td><td>The type of light to add to the scene, must be one of 'point','spot','directional','hemispheric'</td></tr><tr><td>positionX</td><td>double</td><td>The x-coordinate position on the scene to add the light (only used for point, spot, and hemispheric lights)</td></tr><tr><td>positionY</td><td>double</td><td>The y-coordinate position on the scene to add the light (only used for point, spot, and hemispheric lights)</td></tr><tr><td>positionZ</td><td>double</td><td>The z-coordinate position on the scene to add the light (only used for point, spot, and hemispheric lights)</td></tr><tr><td>lightIntensity</td><td>double</td><td>The strength of the light</td></tr><tr><td>diffuseColor</td><td>string</td><td>The hex code (starting with #) of the basic color of the light</td></tr><tr><td>specularColor</td><td>string</td><td>The hex code (starting with #) of the light that produces a highlight color on an object</td></tr><tr><td>directionX</td><td>double</td><td>The x-coordinate direction to point the light at (only used for directional, and spot lights)</td></tr><tr><td>directionY</td><td>double</td><td>The y-coordinate direction to point the light at (only used for directional, and spot lights)</td></tr><tr><td>directionZ</td><td>double</td><td>The z-coordinate direction to point the light at (only used for directional, and spot lights)</td></tr><tr><td>addModelToScene</td><td>mjpXrK1ldLVa</td><td>Add an additional model to the scene.</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>nodeName</td><td>string</td><td>The name of the node of the 3D node after loading</td></tr><tr><td>URL</td><td>string</td><td>The URL of the of the 3D model to load</td></tr><tr><td>fileName</td><td>string</td><td>The file name and extension of the of the 3D model being loaded</td></tr><tr><td>parentNodeUniqueId</td><td>string</td><td>The name of the parent node of the 3D node after loading</td></tr><tr><td>positionX</td><td>double</td><td>The x-coordinate position to load the model in</td></tr><tr><td>positionY</td><td>double</td><td>The y-coordinate position to load the model in</td></tr><tr><td>positionZ</td><td>double</td><td>The z-coordinate position to load the model in</td></tr><tr><td>rotationX</td><td>double</td><td>The rotation (Euler Angles) on the X axis of the model to load</td></tr><tr><td>rotationY</td><td>double</td><td>The rotation (Euler Angles) on the Y axis of the model to load</td></tr><tr><td>rotationZ</td><td>double</td><td>The rotation (Euler Angles) on the Z axis of the model to load</td></tr><tr><td>scaleX</td><td>double</td><td>The scale on the X axis of the model to load</td></tr><tr><td>scaleY</td><td>double</td><td>The scale on the Y axis of the model to load</td></tr><tr><td>scaleZ</td><td>double</td><td>The scale on the Z axis of the model to load</td></tr><tr><td>transaction</td><td>string</td><td></td></tr><tr><td>addPhotoDome</td><td>F9QTgbtHeYPD</td><td>Add 360° photo as a sphere where models can be rendered</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>name</td><td>string</td><td>The component to attach</td></tr><tr><td>photoURL</td><td>string</td><td>The URL to the photo</td></tr><tr><td>size</td><td>string</td><td>The size of the sphere (defaults to 15)</td></tr><tr><td>limitCamera</td><td>boolean</td><td>Limit the Camera Zoom to within the dome</td></tr><tr><td>x</td><td>number</td><td>The X-Position of the Photodome in 3D space.</td></tr><tr><td>y</td><td>number</td><td>The Y-Position of the Photodome in 3D space.</td></tr><tr><td>z</td><td>number</td><td>The Z-Position of the Photodome in 3D space.</td></tr><tr><td>infiniteDistance</td><td>boolean</td><td>Enable infinite distance on the photodome</td></tr><tr><td>addVideoPlayer</td><td>RnTMeMCUkTjl</td><td>Add a floating video Player in 3D space</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>id</td><td>string</td><td>The id of the video player to add</td></tr><tr><td>videoURL</td><td>string</td><td>The URL to the video</td></tr><tr><td>width</td><td>double</td><td>The width of the player</td></tr><tr><td>height</td><td>double</td><td>The height of the player</td></tr><tr><td>positionX</td><td>number</td><td>The x-coordinate position to add the video to</td></tr><tr><td>positionY</td><td>number</td><td>The y-coordinate position to add the video to</td></tr><tr><td>positionZ</td><td>number</td><td>The z-coordinate position to add the video to</td></tr><tr><td>placeholderImageURL</td><td>string</td><td>The URL to the image to display before playing the video</td></tr><tr><td>addWidget</td><td>5RubYDF80H9a</td><td>Still in our 'labs' status. Adds a widget to our scene.</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>name</td><td>string</td><td></td></tr><tr><td>type</td><td>string</td><td></td></tr><tr><td>positionX</td><td>string</td><td></td></tr><tr><td>positionY</td><td>string</td><td></td></tr><tr><td>positionZ</td><td>string</td><td></td></tr><tr><td>rotationX</td><td>double</td><td>The rotation (Euler Angles) on the X axis of the Widget</td></tr><tr><td>rotationY</td><td>double</td><td>The rotation (Euler Angles) on the Y axis of the Widget</td></tr><tr><td>rotationZ</td><td>double</td><td>The rotation (Euler Angles) on the Z axis of the Widget</td></tr><tr><td>scaleX</td><td>double</td><td>The scale on the X axis of the Widget</td></tr><tr><td>scaleY</td><td>double</td><td>The scale on the Y axis of the Widget</td></tr><tr><td>scaleZ</td><td>double</td><td>The scale on the Z axis of the Widget</td></tr><tr><td>aimAndPositionCamera</td><td>X7FE4p944D4o</td><td>Position the camera in 3D space and aim at a subject.</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>positionx</td><td>double</td><td>The cameras position on the X-Axis</td></tr><tr><td>positiony</td><td>double</td><td>The cameras position on the Y-Axis</td></tr><tr><td>positionz</td><td>double</td><td>The cameras position on the Z-Axis</td></tr><tr><td>positionalpha</td><td>double</td><td>Defines the camera rotation along the logitudinal axis</td></tr><tr><td>positionbeta</td><td>double</td><td>Defines the camera rotation along the latitudinal axis</td></tr><tr><td>aimx</td><td>double</td><td>The cameras focus on the X-Axis</td></tr><tr><td>aimy</td><td>double</td><td>The cameras focus on the Y-Axis</td></tr><tr><td>aimz</td><td>double</td><td>The cameras focus on the Z-Axis</td></tr><tr><td>nodeName</td><td>string</td><td>The name of the 3D node to focus on</td></tr><tr><td>aimCamera</td><td>aP1Obc3OIxJb</td><td>Aim the camera in 3D space either at a component or some coordinates.</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>x</td><td>double</td><td>The cameras focus on the X-Axis</td></tr><tr><td>y</td><td>double</td><td>The cameras focus on the Y-Axis</td></tr><tr><td>z</td><td>double</td><td>The cameras focus on the Z-Axis</td></tr><tr><td>nodeName</td><td>string</td><td>The name of the 3D node to focus on</td></tr><tr><td>autoLabelComponents</td><td></td><td>Automatically add labels to components</td></tr><tr><td>clearAllHighlights</td><td></td><td>Clear all highlights from the Scene.</td></tr><tr><td>clearSelections</td><td></td><td>Clear all selections from the Scene.</td></tr><tr><td>displayMedia</td><td>tHxHviAAXI7t</td><td>Display related media instead of the 3D drawing</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>imageURL</td><td>string</td><td>The fully qualified url of the image to display, e.g. https://files.renderdraw.us/public/images/2020RDLogo.png</td></tr><tr><td>allowClose</td><td>boolean</td><td>Allow for users to close the displayed media</td></tr><tr><td>findNode</td><td>QGptk96NkaTX</td><td>Returns an object containing the Node information from the 3D scene. If no node is found, ths returns nothing</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>name</td><td>string</td><td>The name of the node</td></tr><tr><td>prefixesToIgnore</td><td>string[]</td><td>A list of strings to ignore if they preceed the name value, e.g. a value of ['ASD_'] passed along with the 'name' parameter of IceCream would successfully return a 3D node named 'ASD_IceCream'</td></tr><tr><td>suffixesToIgnore</td><td>string[]</td><td>A list of strings to ignore if they follow the name value, e.g. a value of ['_ASM'] passed along with the 'name' parameter of IceCream would successfully return a 3D node named 'IceCream_ASM'</td></tr><tr><td>getCameraPositionandTarget</td><td></td><td>Fetch the camera's current position and where it is aiming.</td></tr><tr><td>getFixedComponentName</td><td>g12ocBuRB8QQ</td><td>Retrieves fixed component name based on prefix and suffixes</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>name</td><td>string</td><td></td></tr><tr><td>getHierarchy</td><td></td><td>Fetch the 3D model's hierarchy. Must subscribe to RDraw:EVT_Renderer_Get_Hierarchy for response</td></tr><tr><td>getListOfComponentNames</td><td></td><td>Fetch a flat list of all of the names of each 3D Node in the scene</td></tr><tr><td>getRenderContextForId</td><td>17cGJiebvQVj</td><td>Retrieves RenderContext from server for a given recordId</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>recordId</td><td>string</td><td></td></tr><tr><td>hideAllLabels</td><td></td><td>Hide all labels added to the 3D Scene</td></tr><tr><td>hideAllNodes</td><td></td><td>Hide all nodes in a 3D Scene</td></tr><tr><td>hideLabelManager</td><td></td><td>Hide label manager to apply styles to labels added to the 3D Scene</td></tr><tr><td>hideMedia</td><td></td><td>Hide displayed related media that is presented in the content area of this component</td></tr><tr><td>hideNode</td><td>dmmWoflSfI0H</td><td>Hide a node in a 3D Scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>componentName</td><td>string</td><td>The name of the 3D node to hide</td></tr><tr><td>highlightComponent</td><td>v0SpgP89RvUK</td><td>Find a component by name or Id and highlight it with the color provided</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>nodeId</td><td>string</td><td>The uniqueId of the component to highlight</td></tr><tr><td>name</td><td>string</td><td>The name of the component to highlight</td></tr><tr><td>enabled</td><td>boolean</td><td>Whether or not to highlight the component (remove highlight if false)</td></tr><tr><td>color</td><td>string</td><td>The hex code (starting with #) to use for the highlight- defaults to orange</td></tr><tr><td>zoomAndFocusOnElement</td><td>boolean</td><td>Zoom the camera to the highlighted element</td></tr><tr><td>highlightMultipleComponents</td><td>D3YRVbX8utQH</td><td>Highlight several components in the scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>names</td><td>string[]</td><td>A list of strings of component names to highlight</td></tr><tr><td>color</td><td>string</td><td>The hex code (starting with #) to use for the highlight- defaults to orange</td></tr><tr><td>enabled</td><td>boolean</td><td>Whether or not to highlight the component (remove highlight if false)</td></tr><tr><td>is3DSceneDisplayed</td><td></td><td>Check if a 3D scene is displayed in the Main Content of this component</td></tr><tr><td>isMediaDisplayed</td><td></td><td>Check if media is displayed instead of a 3D scene in the Main Content of this component</td></tr><tr><td>isolateComponent</td><td>64evEjBY3nfw</td><td>Isolate the individual component by hiding all other components in the scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>componentName</td><td>string</td><td>The name of the 3D node to isolate</td></tr><tr><td>isolateMultipleComponents</td><td>M9QGvh2ztSIf</td><td>Isolate the several components by hiding other components in the scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>componentNames</td><td>list</td><td>The names of the 3D node to isolate</td></tr><tr><td>componentIds</td><td>list</td><td>The ids of the 3D node to isolate</td></tr><tr><td>componentUniqueIds</td><td>list</td><td>The Unique Ids of the 3D node to isolate</td></tr><tr><td>loadAndApplyTextureMaterialToModel</td><td>EsREGaF0GHP7</td><td>Load a diffuse texture and add it to a model.</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>textureImageURL</td><td>string</td><td>The URL of the of the 3D model to load</td></tr><tr><td>nodeUniqueId</td><td>string</td><td>The uniqueId of the Model to apply the texture to</td></tr><tr><td>materialName</td><td>string</td><td>The name of the material you want to replace the texture of the material you are loading</td></tr><tr><td>positionCamera</td><td>jftsPXu1iQj2</td><td>Position the camera in 3D space.</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>x</td><td>double</td><td>The cameras position on the X-Axis</td></tr><tr><td>y</td><td>double</td><td>The cameras position on the Y-Axis</td></tr><tr><td>z</td><td>double</td><td>The cameras position on the Z-Axis</td></tr><tr><td>alpha</td><td>double</td><td>Defines the camera rotation along the logitudinal axis</td></tr><tr><td>beta</td><td>double</td><td>Defines the camera rotation along the latitudinal axis</td></tr><tr><td>raiseInteractionEvent</td><td>6wRPj7Au6cva</td><td>Used to call actions that were setup within the 'interactions' section of the Scene setup</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>name</td><td>string</td><td>The name of the action</td></tr><tr><td>type</td><td>string</td><td>The type of the action, one of change,focus,focuslost</td></tr><tr><td>label</td><td>string</td><td>A label used from the interaction (typically an Input element on configuration)</td></tr><tr><td>value</td><td>object</td><td>The updated value from the interaction</td></tr><tr><td>metadata</td><td>object</td><td>Additional information for the event</td></tr><tr><td>reintegrateComponent</td><td>JEATMeScQQfk</td><td>Re-integrate a component that has been isolated.</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>componentName</td><td>string</td><td>The name of the 3D node to isolate</td></tr><tr><td>reloadToInitialScene</td><td></td><td>Reload to the initial scene (post initial model load)</td></tr><tr><td>removeComponent</td><td>CCqjETgGWAAu</td><td>Removes the given component from a scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>uniqueId</td><td>string</td><td>The uniqueId to find and remove.</td></tr><tr><td>name</td><td>string</td><td>The node name to find and remove.</td></tr><tr><td>removeComponentHandles</td><td></td><td>Used to remove position, rotation and size handles to a set of components by name.</td></tr><tr><td>resetCamera</td><td></td><td>Reset the camera to it's initial position in the scene</td></tr><tr><td>resetExplosion</td><td>cQsdaNWqIlV7</td><td>Reset a custom explosion to its initial position</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>name</td><td>string</td><td>The name of the explosion to reset</td></tr><tr><td>selectComponent</td><td>idvtSqSfSH8b</td><td>Programmatically select a component node within the 3D model. Raises RDraw:EVT_Renderer_Mesh_Selected on successful selection</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>name</td><td>string</td><td>The name of the node to select. Use only one of name, id, uniqueId (uniqueId being most specific)</td></tr><tr><td>id</td><td>string</td><td>The id of the node to select. Use only one of name, id, uniqueId (uniqueId being most specific)</td></tr><tr><td>uniqueId</td><td>string</td><td>The uniqueId of the node to select. Use only one of name, id, uniqueId (uniqueId being most specific)</td></tr><tr><td>context</td><td>object</td><td></td></tr><tr><td>ignoreList</td><td>string[]</td><td>The list of node names to skip when traversing the 3D model to find the node</td></tr><tr><td>setLabelStyling</td><td>TEpzL7IvTQde</td><td>Hide label manager to apply styles to labels added to the 3D Scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>lineThickness</td><td>number</td><td>The width of both the border around the label as well as the line that connects the component to the label.</td></tr><tr><td>color</td><td>string</td><td>The color of the label text as well as the line that connects the component to the label.</td></tr><tr><td>bold</td><td>boolean</td><td>Whether the text of the label is bold or not.</td></tr><tr><td>align</td><td>string</td><td>The alignment of the labels around the 3D model.</td></tr><tr><td>setupGround</td><td>2P28MTX4SFJG</td><td>Add a ground for your 3D scene, with or without a heightmap</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>imageURL</td><td>string</td><td>The URL to the texture image</td></tr><tr><td>heightMapURL</td><td>string</td><td>The URL to the heightmap image</td></tr><tr><td>width</td><td>double</td><td>The width of the ground</td></tr><tr><td>height</td><td>double</td><td>The height of the ground</td></tr><tr><td>maxheight</td><td>double</td><td>The max height of the ground</td></tr><tr><td>minheight</td><td>double</td><td>The minimum height of the ground</td></tr><tr><td>subdivisions</td><td>number</td><td>The number of subdivisions for the ground, this defaults to 10</td></tr><tr><td>groundY</td><td>number</td><td>The height on the y axis to render this ground, this defaults to 00</td></tr><tr><td>showAllLabels</td><td></td><td>Show all labels added to the 3D Scene</td></tr><tr><td>showAllNodes</td><td></td><td>Show all nodes that have been hidden in a 3D Scene</td></tr><tr><td>showLabelManager</td><td>TsV7vFQkVnWx</td><td>Show label manager to apply styles to labels added to the 3D Scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>admin</td><td>boolean</td><td></td></tr><tr><td>showNode</td><td>TaYP1Ldn6YYS</td><td>Show a node that has been hidden in a 3D Scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>componentName</td><td>string</td><td>The name of the 3D node to show</td></tr><tr><td>showToastNotification</td><td>6alHiZE6HFIQ</td><td>Displays a toast notification to the user</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>title</td><td>string</td><td>Specifies the title for a message to display. The title is shown above the message in a slightly larger</td></tr><tr><td>mode</td><td>string</td><td>The toast mode, which controls how users can dismiss the toast. Valid values are 'pester', 'dismissable' and 'sticky'. The default is 'dismissible', which displays the close button.</td></tr><tr><td>message</td><td>string</td><td>The message to display in the toast.</td></tr><tr><td>messageTemplate</td><td>string</td><td>Overwrites message string with the specified message. Requires messageTemplateData.</td></tr><tr><td>iconName</td><td>string</td><td>Icon to use when toast type is 'other'. Icon keys are available at the Lightning Design System Icons page.</td></tr><tr><td>type</td><td>string</td><td>The toast type, which can be 'error', 'warning', 'success', or 'info'. The default is 'other', which is styled like an 'info' toast and doesn’t display an icon, unless specified by the key attribute.</td></tr><tr><td>duration</td><td>integer</td><td>Length of time the toast is visible for, in milliseconds. Applies to 'dismissible' or 'pester' toast modes. The default is 5000ms if the provided value is less than 5000ms.</td></tr><tr><td>messageTemplateData</td><td>object[]</td><td>An array of text and actions to be used in messageTemplate.</td></tr><tr><td>takeSnapshot</td><td>30GnzRU4xZRK</td><td>Take a snapshot of the scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>download</td><td>boolean</td><td>If true, the screenshot will be downloaded directly to the user, otherwise, the snapshot will be returned in an event response</td></tr><tr><td>toggleEnableComponent</td><td>OJiaPzlvZpi0</td><td>Enable or disable a given 3D node by passing a uniqueId, name or id</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>name</td><td>string</td><td>The name to enable/disable. Use only one of name, id, uniqueId (uniqueId being most specific)</td></tr><tr><td>id</td><td>string</td><td>The id to enable/disable. Use only one of name, id, uniqueId (uniqueId being most specific)</td></tr><tr><td>uniqueId</td><td>string</td><td>The uniqueId to enable/disable. Use only one of name, id, uniqueId (uniqueId being most specific)</td></tr><tr><td>isEnabled</td><td>boolean</td><td>Ensure the component is enabled regardless of its current state</td></tr><tr><td>triggerRegisteredExplosion</td><td>07lHnglgVzlX</td><td>Register a custom explosion</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>explosionName</td><td>string</td><td>The name of the registered explosion</td></tr><tr><td>step</td><td>string</td><td>Which step of explosion to move to</td></tr><tr><td>includePriorSteps</td><td>boolean</td><td>Include steps leading up to this step (e.g. call steps 0-4 if the 5th step is called)</td></tr><tr><td>updateBackgroundImage</td><td>9s6gROuK8Ziv</td><td>Update background to a image</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>imageURL</td><td>string</td><td>The URL to the image</td></tr><tr><td>updateComponentColor</td><td>TOfdfw8aL6bR</td><td>Update a given 3D component node to the passed hex color code.</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>name</td><td>string</td><td>The name of the node to update. Use only one of name, id, uniqueId (uniqueId being most specific)</td></tr><tr><td>id</td><td>string</td><td>The id of the node to update. Use only one of name, id, uniqueId (uniqueId being most specific)</td></tr><tr><td>uniqueId</td><td>string</td><td>The uniqueId of the node to update. Use only one of name, id, uniqueId (uniqueId being most specific)</td></tr><tr><td>colorHex</td><td>string</td><td>The hex color to update the node with</td></tr><tr><td>updateEnvironmentLightTexture</td><td>IrsgrZGGOmjD</td><td>Change the lighting texture to use (for refraction)</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>includedTextureName</td><td>string</td><td>The name of the included texture to use, must be one of photoStudio, dusk, emptyWarehouse, partlycloudy, country</td></tr><tr><td>updateExistingLabel</td><td>pMlNJ4resXh5</td><td>Update an existing Label</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>labelId</td><td>string</td><td></td></tr><tr><td>labelText</td><td>string</td><td></td></tr><tr><td>updateLight</td><td>J7UzU0q0JLhs</td><td>Add a new light to the scene</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>name</td><td>string</td><td>The name of the light to update</td></tr><tr><td>enable</td><td>boolean</td><td>Whether or not the light is enabled (turned on)</td></tr><tr><td>intensity</td><td>double</td><td>The intensity of the light</td></tr><tr><td>diffuseColor</td><td>string</td><td>The hex code (starting with #) of the basic color of the light</td></tr><tr><td>specularColor</td><td>string</td><td>The hex code (starting with #) of the light that produces a highlight color on an object</td></tr><tr><td>verifyComponent</td><td>XKm74CZsGT0S</td><td>Verify a component exists in the scene, is enabled and visible.</td></tr><tr><td>NAME</td><td>TYPE</td><td>DESCRIPTION</td></tr><tr><td>componentName</td><td>string</td><td>The name of the 3D node to verify</td></tr></tbody></table>
