CAD Exchanger SDK
Architecture

The following diagram depicts architecture of the CAD Exchanger SDK visualization component:

vis_architecture.png

The key elements of the architecture are the following:

  • Scene graph – a hierarchical structure of scene nodes representing a 3D model.
  • Scene – encapsulates the scene graph, enables display and interactive behavior (selection).
  • Viewport – provides 3D view manipulation (zoom/pan/rotate) and controls (view-cube, manipulator).
  • Platform-specific front-end – handles user mouse and keyboards events using platform-specific API and communicates with the viewport.
  • Platform-specific back-end – uses underlying visualization library (e.g. OpenGL) to actually render the data.

Implementing interactive behavior in a user’s application only requires communication with the scene (based on callbacks) and thus represents a platform-independent code. Platform-specific components are selected from already available ones and are simply connected to the viewport. This approach greatly reduces amount of required user’s code and eases initial development and future maintenance.