# Modules

- Global (`cee`):
  Main component with general classes like `Viewer`, `View`, `Model`, `Overlay`, etc. Also has base classes like `Color3`, `Color4`, `Vec3`, `Mat4`, `Ray`. Use these classes in combination with one or more of the components below to create an application.
- Remote Model (`cee.ug`):
  The `RemoteModel` supports a full post processing session with a CAE model on a remote server. The CAE model with its results is kept on the server and only the data needed for displaying the model (triangles, texture coordinates, etc) are streamed using 3D Progressive Object Streaming to the client. Handles FEA and CFD models, and has features like `isovolumes`, `particle traces`, `cutting planes` (all computed on the server). Cannot be used without a UgServer, and the server requires a unique (sticky) session per concurrent user.
- Constant Remote Model (`cee.cug`):
  The `ConstantRemoteModel` supports an efficient and scalable streaming of pre-defined CAE model configurations. The server is a stateless REST API based server that has very low resource usage on the server side and is easy to load balance. The streaming also starts immediately when a model is opened, no matter the size of the model. Similar to `RemoteModel`, it utilizes 3D Progressive Object Streaming to the client. The model needs to be converted into a CUG database format before it can be streamed. This is done with the included CugComposer command line utility. The `ConstantRemoteModel` is used in the viewer on Ceetron Cloud.
- Unstruct Surface Grid (`cee.usg`):
  Client side (in browser) FEA model for surface elements. Suited for any size FEA surface models (as long as the part count is <10k). Supports any kind of surface elements (1..N nodes per element). The model is defined by elements and nodes, and support scalar, vector, displacement and transformation results. The model has support for any number of states (time steps). Supports calculation of element-aware surface normals and element mesh lines as well as model outline. It also supports ray intersection at the element level. The model features all draw styles (surface, surface mesh, outline, lines, points, transparent surface). The model handles only one result of each type at any given time, so you will have to handle the result database in application code. Components for implementing a stateless server for progressive streaming of models as well as a reference implementation will soon be available.
- Stream Model (`cee.vs`):
  Client side (in browser) streaming model designed to work in pair with the Visualization Streamer Service (VizService) to which it requires a live connection. It handles fast and efficient streaming of 3D data to web while being specifically tailored towards showing CAE visualizations.
- Geometry (`cee.geo`):
  Client side (in browser) model suited for models with only geometry or simple scalar results. This modes does rebatching of parts and has an optimize renderer capable of handling >300k parts. This is the only HOOPS Envision for Web model with this capability. Can be used with the server/GeoServer for 3D Progressive Object Streaming of models. This stateless, REST API based server comes with support for file and Redis based storage, and can also be extended with other DataStores.
- Particle Model (`cee.pt`):
  The `ParticleModel` supports playback of time-stepped particle simulations via the PtServer, a stateless REST API server. Particle data (positions, IDs, optional scalar fields) is fetched frame-by-frame with efficient binary encoding, client-side caching, and automatic in-flight request cancellation. Supports PTFX (HOOPS Envision binary particle format) and VTP (VTK PolyData) files, with extensibility via reader plugins. The server is horizontally scalable and supports multiple concurrent sessions per client without sticky sessions.
- Markup (`cee.mrk`):
  Markup model with support for rendering labels and more simple geometry. Useful for creating annotations and other markup of the 3d model.
- Utilities (`cee.utils`):
  Various helper classes for the components above.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Envision for Web in your own language, or choose a sample question below to start a conversation:

What is HOOPS Envision for Web?
What are the latest release notes for HOOPS Envision for Web?
How do I start evaluating HOOPS Envision for Web?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...