
###
cug
###

.. js:module:: cee.cug

   The **cug** sub-module provides a constant remote model designed for viewing CAE models.
   
   Assuming that the EnvisionWeb client component has been imported into the variable ``cee``\ , members of the cug module may be referenced using the ``cee.cug`` prefix, e.g.:
   
   .. code-block:: javascript
   
      var model = new cee.cug.ConstantRemoteModel();
   
   **Features**
   
   
   - Scalable CAE Model visualization in the Cloud
   - Starts streaming immediately, independent of model size
   - State-less, RESTful API based server
   - No native add-on for server, no web sockets
   - Easy to scale, low cost to deploy
   - The viewer in Ceetron Cloud 2.0
   
   **Supports interactive viewing of all cee.ug features**
   
   
   - Model with scalars, vectors and displacements
   - All part attributes (mesh, draw style, transparency, etc)
   - Time, mode-shape and particle trace animations
   - Cutting planes, isosurfaces, isovolumes
   - Particle traces
   
   **Interactive features**
   
   
   - Pan/rotate/zoom
   - Show/hide model mesh
   - Show/hide parts and objects
   - Animation control
   
   **Server**
   
   The ConstantRemoteModel requires the use of a server (CugServer). Models needs to be converted into a CUG database format before they can be streamed. The conversion is done with the CugComposer command line application which is provided in the NativeApplications/CugComposer/bin/<PLATFORM> folder of the distribution (binaries for Windows, Linux and MacOS).
   
   The CUG server uses a DataStore interface to access data, and ships with a FileDataStore. It can be extended to pull data from other sources.
   



.. rst-class:: kind-group kind-enumerations

.. rubric:: Enumerations
   :class: kind-group-title


.. rst-class:: api-xref-list


* :js:data:`~cee.cug.ObjectType`
* :js:data:`~cee.cug.ResultMapping`
* :js:data:`~cee.cug.ResultType`

.. rst-class:: kind-group kind-classes

.. rubric:: Classes
   :class: kind-group-title


.. rst-class:: api-xref-list


* :js:class:`~cee.cug.BinaryModelBundle`
* :js:class:`~cee.cug.ConstantRemoteModel`
* :js:class:`~cee.cug.CuttingPlane`
* :js:class:`~cee.cug.FrameInfo`
* :js:class:`~cee.cug.Isosurface`
* :js:class:`~cee.cug.Isovolume`
* :js:class:`~cee.cug.ModelSpec`
* :js:class:`~cee.cug.Part`
* :js:class:`~cee.cug.ParticleTraceGroup`
* :js:class:`~cee.cug.QueryNodeScalarTimeHistory`
* :js:class:`~cee.cug.RemoteQuery`
* :js:class:`~cee.cug.ResultInfo`
* :js:class:`~cee.cug.ServerItemIdent`
* :js:class:`~cee.cug.SimulationInfo`

.. rst-class:: kind-group kind-interfaces

.. rubric:: Interfaces
   :class: kind-group-title


.. rst-class:: api-xref-list


* :js:class:`~cee.cug.Animation`
* :js:class:`~cee.cug.Base64ModelBundle`
* :js:class:`~cee.cug.DataStreamingCompleteCallback`
* :js:class:`~cee.cug.HitItem`
* :js:class:`~cee.cug.InitializationCompleteCallback`
* :js:class:`~cee.cug.InitializationCompleteInfo`
* :js:class:`~cee.cug.OpenModelOptions`
* :js:class:`~cee.cug.OpenRemoteBundleOptions`
* :js:class:`~cee.cug.ProgressData`
* :js:class:`~cee.cug.ProgressHandler`
* :js:class:`~cee.cug.QueryNodeScalarTimeHistoryCallback`
* :js:class:`~cee.cug.QueryNodeScalarTimeHistoryData`
* :js:class:`~cee.cug.RayIntersectCallback`

.. toctree::
   :maxdepth: 1
   :hidden:

   ../enums/cee.cug.ObjectType
   ../enums/cee.cug.ResultMapping
   ../enums/cee.cug.ResultType
   ../classes/cee.cug.BinaryModelBundle
   ../classes/cee.cug.ConstantRemoteModel
   ../classes/cee.cug.CuttingPlane
   ../classes/cee.cug.FrameInfo
   ../classes/cee.cug.Isosurface
   ../classes/cee.cug.Isovolume
   ../classes/cee.cug.ModelSpec
   ../classes/cee.cug.Part
   ../classes/cee.cug.ParticleTraceGroup
   ../classes/cee.cug.QueryNodeScalarTimeHistory
   ../classes/cee.cug.RemoteQuery
   ../classes/cee.cug.ResultInfo
   ../classes/cee.cug.ServerItemIdent
   ../classes/cee.cug.SimulationInfo
   ../interfaces/cee.cug.Animation
   ../interfaces/cee.cug.Base64ModelBundle
   ../interfaces/cee.cug.DataStreamingCompleteCallback
   ../interfaces/cee.cug.HitItem
   ../interfaces/cee.cug.InitializationCompleteCallback
   ../interfaces/cee.cug.InitializationCompleteInfo
   ../interfaces/cee.cug.OpenModelOptions
   ../interfaces/cee.cug.OpenRemoteBundleOptions
   ../interfaces/cee.cug.ProgressData
   ../interfaces/cee.cug.ProgressHandler
   ../interfaces/cee.cug.QueryNodeScalarTimeHistoryCallback
   ../interfaces/cee.cug.QueryNodeScalarTimeHistoryData
   ../interfaces/cee.cug.RayIntersectCallback


