Data Provider Framework
Copyright © 2023 by Ceetron AS
CEETRON Data Provider Framework is a framework for writing data providers that can be plugged into applications based on CEETRON Envision for Desktop. This includes CEETRON Envision Demo Analyzer and the RemoteModel server (CeeCloudServer) in CEETRON Envision for Web. The same plugin can be used both in cloud and desktop.
The DataProvider enables the user to provide the following data based on a given ModelKey:
Meta data about the given model: Number of states, geometries, results, sets
CAE model with elements and nodes
Results: Scalar, Vector, Displacements and Tensor (Stress and Strain)
Rigid body transformations
The DataProvider also supports communicating updated data to the host application. This is done via the
pollForChanges() method which will be called at regular intervals by host
applications that have polling support. This methods allows for notifying the host
application that data has changed (using the
CDPChangeNotifications interface), and the host will then ask for
the updated data whenever needed.
The following modifications are supported:
Results: Modified, added and deleted
States: Modified meta data (name and reference value), added and deleted
Finally, there is way to communicate with the data provider from the client (web) or host (desktop) application. By
handleClientRequest() method a data provider can respond
to queries, modify the data or do some other custom operation. As with
pollForChanges(), there is a mechanism to notify the host that the data has
changed, as well as communicate custom data back to the client (via the
To get access to the data provider framework, download the “CEETRON Envision Desktop” from https://developer.techsoft3d.com. The data provider framework is found in the DataProviderFramework folder in the distribution. The data provider framework is free to download and use, and is provided as source code so you can compile with your favorite compiler and settings.
CMakeLists.txt: Main CMake file (used for building the framework and example apps).
DataProviderHostLib: Library used by host applications to interface with data providers, e.g. example applications, EnvisionWeb and Analyzer Desktop.
DataProviderPlugin: Header only library defining the interfaces needed for developing a plugin. A custom plugin has no external dependencies (not depending on DataProviderHostLib).
ExampleApps: A TestDriver for interrogating and validating a plugin with a given model key.
ExamplePlugins: MinimalPlugin: A small example showing how to create a plugin.
Envision Data Provider Framework supports most compilers on most platforms. It has been tested on:
Windows: VS2015, VS2017 and VS2019
Linux: Ubuntu 14, Ubuntu18, CentOS7
MacOS: MacOS 10.14, 10.15, Xcode 10 and 11
Terms & Conditions
By using this software, you agree to the Terms & Conditions for use of Ceetron Software as described in https://ceetron.com/licenses/developer-terms-and-conditions.
Ceetron AS, NORWAY
All Rights Reserved. No part of this documentation or the accompanying source code shall be reproduced, stored in a retrieval system or transmitted by any means without written permission from the publisher.