% Auto-generated: do not edit by hand
\name{crystalToolkitScene}

\alias{crystalToolkitScene}

\title{CrystalToolkitScene component}

\description{

}

\usage{
crystalToolkitScene(children=NULL, id=NULL, animation=NULL, axisView=NULL,
className=NULL, currentCameraState=NULL,
customCameraState=NULL, data=NULL, debug=NULL,
fileOptions=NULL, fileTimestamp=NULL, fileType=NULL,
imageData=NULL, imageDataTimestamp=NULL, imageRequest=NULL,
imageType=NULL, inletPadding=NULL, inletSize=NULL,
sceneSize=NULL, selectedObject=NULL, settings=NULL,
showControls=NULL, showExpandButton=NULL,
showExportButton=NULL, showImageButton=NULL,
showPositionButton=NULL, toggleVisibility=NULL)
}

\arguments{
\item{children}{First child will be rendered as the settings panel.
Second child will be rendered as the bottom panel (legend).}

\item{id}{The ID used to identify this component in Dash callbacks}

\item{animation}{Animation type}

\item{axisView}{Where is the axis displayed ( 'NW' / 'NE' / 'SE' / 'SW' / 'HIDDEN' )}

\item{className}{Class name that will wrap around the whole scene component.
When enlarged, this class name is applied to the modal-content element.}

\item{currentCameraState}{THIS PROP IS SET AUTOMATICALLY
Object that maintains the current state of the camera.
e.g.
{
  position: {x: 0, y: 0, z: 0},
  quarternion: {x: 0, y: 0, z: 0, w: 0},
  zoom: 1,
  setByComponentId: "1",
  following: true
}}

\item{customCameraState}{Object for setting the scene to a custom camera state.
When modified, the camera will update to new custom state.
e.g.
{
  position: {x: 0, y: 0, z: 0},
  quarternion: {x: 0, y: 0, z: 0, w: 0}, (optional)
  zoom: 1 (optional)
}}

\item{data}{Simple3DScene JSON, the easiest way to generate this is to use the Scene class
in crystal_toolkit.core.scene and its to_json method.}

\item{debug}{Display a debug view}

\item{fileOptions}{List of options to show in file download dropdown}

\item{fileTimestamp}{THIS PROP IS SET AUTOMATICALLY
Date string that represents the time fileType was set.
Use this prop in dash callbacks to trigger file downloads.}

\item{fileType}{THIS PROP IS SET AUTOMATICALLY
The last file type clicked in the file download menu}

\item{imageData}{THIS PROP IS SET AUTOMATICALLY
Data string for the image generated on image button click}

\item{imageDataTimestamp}{THIS PROP IS SET AUTOMATICALLY
Date string that represents the time imageData was set.
Use this prop in dash callbacks to trigger downloads of imageData.}

\item{imageRequest}{Set to trigger a screenshot or scene download.
Must be an object with the following structure:
{
   "filetype": "png" // the image format ("png", "dae")
}
Passing this prop as an object ensures that
new requests are triggered any time the prop
is set.}

\item{imageType}{File type to be downloaded as an image. Either png or dae}

\item{inletPadding}{Padding of the axis view}

\item{inletSize}{Size of the axis view}

\item{sceneSize}{Width / Height of the displayed component}

\item{selectedObject}{This points to the last clicked objects. Use it in your dash callback
to know which objects are currently selected in the scene}

\item{settings}{Options used for generating scene.
Supported options and their defaults are given as follows:
{
   antialias: true, // set to false to improve performance
   renderer: 'webgl', // 'svg' also an option, used for unit testing
   transparentBackground: false, // transparent background
   background: '#ffffff', // background color if not transparent,
   sphereSegments: 32, // decrease to improve performance
   cylinderSegments: 16, // decrease to improve performance
   staticScene: true, // disable if animation required
   defaultZoom: 1, // 1 will zoom to fit object exactly, <1 will add padding between object and box bounds
   zoomToFit2D: false // if true, will zoom to fit object only along the X and Y axes (not Z)
   extractAxis: false // will remove the axis from the main scene
   isMultiSelectionEnabled: false // allow to use shift to select,
   secondaryObjectView: true // show the selected object in a detail view
   animation: 'play' | 'slider' | 'none' // choose which style of animation is use
}
There are several additional options used for debugging and testing,
please consult the source code directly for these.}

\item{showControls}{}

\item{showExpandButton}{}

\item{showExportButton}{}

\item{showImageButton}{}

\item{showPositionButton}{}

\item{toggleVisibility}{Hide/show nodes in scene by its name (key), value is 1 to show the node
and 0 to hide it.}
}

\value{named list of JSON elements corresponding to React.js properties and their values}

