.. _components-page:

####################
Components Overview
####################

Below is a list of all the components that are part of |ProductName|. Please note that some of these 
components require a specific license feature. See :ref:`license-system-page` for more information.

-----------------------------------------------

**Core [cee]**

The :doc:`Core Component </api/namespacecee>` defines the base classes in |ProductName|. It includes classes for 
strings, vectors, matrices and other basic types. There are no dependencies to OpenGL in this component.

**Dependencies:** None

-----------------------------------------------

**Visualization [cee::vis]**

The :doc:`Visualization Component </api/namespacecee_1_1vis>` contains the Envision Rendering Engine and is required in 
all applications that will use the visualization capabilities of |ProductName|. It contains the 
:class:`View <cee::vis::View>`, :class:`Camera <cee::vis::Camera>` and :class:`Overlay system <cee::vis::Overlay>` as 
well as a :class:`MarkupModel <cee::vis::MarkupModel>`.

**Dependencies:** :doc:`Core Component </api/namespacecee>`

-----------------------------------------------

**Geometry [cee::geo]**

The :doc:`Geometry Component </api/namespacecee_1_1geo>` is the component to use for rendering pure geometry (as opposed 
to element models with results) in |ProductName|. Effects like front and back color, opacity, texture mapping, etc. 
are supported in the Geometry Component.
It provides a :class:`model <cee::geo::GeometryModel>` that is highly optimized and can handle a large number of parts 
efficiently. This model is especially well suited if the parts provided have equal/shared attributes like color, line 
width and so on.

**Dependencies:** :doc:`Core Component </api/namespacecee>`, :doc:`Visualization Component </api/namespacecee_1_1vis>`

-----------------------------------------------

**UnstructGrid [cee::ug]**

The :doc:`UnstructGrid Component </api/namespacecee_1_1ug>` is by far the largest and most feature rich component in 
|ProductName|. It is tailored towards support FEA and CFD type models and results, and leverages Tech Soft 3D's 25 years 
knowledge in scientific visualization.

**Dependencies:** :doc:`Core Component </api/namespacecee>`, :doc:`Visualization Component </api/namespacecee_1_1vis>`, 
:doc:`Plot2d Component </api/namespacecee_1_1plt>`

-----------------------------------------------

**Particle [cee::pt]**

The :doc:`Particle Component </api/namespacecee_1_1pt>` provides support for time-stepped particle simulation data. It
can read PTFX and VTP file formats, and supports custom format integration via reader plugins or user-supplied dataset
readers. The component handles frame caching, scalar field selection, bounding box queries and depth sorting for
transparent rendering.

**Dependencies:** :doc:`Core Component </api/namespacecee>`, :doc:`Visualization Component </api/namespacecee_1_1vis>`

-----------------------------------------------

**Export [cee::exp]**

The :doc:`Export Component </api/namespacecee_1_1exp>` add Envision's :ref:`Share Everywhere <vtfx-page>` technology to 
your application. By adding VTFx export to your application, you can share your results on the cloud (Ceetron Cloud) and 
in the free Viewers.

**Dependencies:** :doc:`Core Component </api/namespacecee>`, :doc:`Visualization Component </api/namespacecee_1_1vis>`, 
:doc:`UnstructGrid Component </api/namespacecee_1_1ug>`

-----------------------------------------------

**Import CAE [cee::imp::cae]**

The :doc:`Import CAE Component </api/namespacecee_1_1imp_1_1cae>` provides a DataSource for the UnstructGrid Component 
that can read files from commercial FEA and CFD simulation software systems.

**Dependencies:** :doc:`Core Component </api/namespacecee>`, :doc:`Visualization Component </api/namespacecee_1_1vis>`, 
:doc:`UnstructGrid Component </api/namespacecee_1_1ug>`

-----------------------------------------------

**Report [cee::rep]**

The :doc:`Report Component </api/namespacecee_1_1rep>` provides repository management and report generation in 
PowerPoint, Word and HTML.

**Dependencies:** :doc:`Core Component </api/namespacecee>`, :doc:`UnstructGrid Component </api/namespacecee_1_1ug>`

-----------------------------------------------

**Win [cee::win]**

The :doc:`Win Component </api/namespacecee_1_1win>` provides GUI bindings for Windows (.NET/MFC/Win32) applications. 

**Dependencies:** :doc:`Core Component </api/namespacecee>`, :doc:`Visualization Component </api/namespacecee_1_1vis>`

-----------------------------------------------

**Plot2d [cee::plt]**

The :doc:`Plot2d Component </api/namespacecee_1_1plt>` provides basic 2D plotting as an overlay item. Plot data and 
settings can be stored within the VTFx file.

**Dependencies:** :doc:`Core Component </api/namespacecee>`, :doc:`Visualization Component </api/namespacecee_1_1vis>`

-----------------------------------------------

**App [cee::app]**

The :doc:`App Component </api/namespacecee_1_1app>` provides an interface to |FamilyName| for typical application 
logic: models, views, selection

**Dependencies:** :doc:`Core Component </api/namespacecee>`, :doc:`Visualization Component </api/namespacecee_1_1vis>`, 
:doc:`UnstructGrid Component </api/namespacecee_1_1ug>`, :doc:`Plot2d Component </api/namespacecee_1_1plt>`, 
:doc:`Export Component </api/namespacecee_1_1exp>`, :doc:`Import CAE Component </api/namespacecee_1_1imp_1_1cae>`

-----------------------------------------------

**OpenGL [cee::ogl]**

The :doc:`OpenGL Component </api/namespacecee_1_1ogl>` adds support for rendering using OpenGL

**Dependencies:** :doc:`Core Component </api/namespacecee>`, :doc:`Visualization Component </api/namespacecee_1_1vis>`

