############
Fundamentals
############

This guide provides insight into the fundamental components that drive the programming interface of HOOPS Visualize 3DF SDK.  Note that 3DF was released before HPS. While both SDKs largely share the same core features, HPS has a more modern API.

HOOPS Visualize 3DF is an integrated suite of systems designed for the rapid development of high-performance design, visualization, and engineering applications. The core framework maintains platform independence, enabling seamless deployment across multiple operating systems.

The SDK is comprised of the following components:

* **3dGS** provides developers with a high-level, object-oriented scene-graph API that encapsulates a graphics database and optimized algorithms for the storage, creation, editing, manipulation, querying, rendering, and printing of 3D and 2D graphical information.

* **Stream** is a FileIO toolkit for the HSF file format. It allows developers to import or export customized HSF files or data streams to and from the scene graph, or to and from proprietary and third-party graphics systems.

* **MVO** is a set of platform and GUI-independent C++ classes that implement much of the common functionality found in CAD, CAM, and CAE applications such as model viewing, creation, annotation, manipulation, selection and hardcopy.

* **GUI** modules encapsulate the work needed to connect the HOOPS 3DF SDK to several different Graphical User Interface (GUI) toolkits. 

A set of bridge components have been developed to transfer data between environments and is available through the HIO module, which is built on MVO. You can import CAD data directly through HOOPS Exchange, Parasolid, Sketchup, or RealDWG, and export documents using HOOPS Publish.

HOOPS Visualize 3DF offers all the standard functionalities to build a robust 3D application:

Geometry
--------

All kinds of geometry can be inserted into 3D scenes:

* Shells
* Meshes
* Text
* Lights
* Lines
* Curves
* Markers
* Polygons
* Spheres
* Cylinders
* NURBS
* Cutting sections
* Grids
* Reference geometry

Rendering
---------

Many advanced rendering options are available:

* Anti-aliasing
* Shadows
* Reflection planes
* Bloom
* Lighting algorithms
* Color interpolation
* Hidden surface removal
* Depth of field
* Perimeter and silhouette edges
* Textures
* Physically-based rendering (PBR) 

User Interactions
-----------------

HOOPS MVO provides a high-level interface to interact with the scene:

* Views
* Mouse operators 
* Selection
* Highlighting
* Undo manager
* Markups and PMI
* Animations

File Input/Output
-----------------

HOOPS HIO modules for connection with different environments:

* CAD files with HIO Exchange
* PDF and HTML with HIO Publish
* DWG/DXF with HIO DWG
* Parasolid with HIO Parasolid
* SKP with HIO Sketchup
* Point clouds
