VTK Plugin
Overview
The VTK Data Provider Plugin has been developed using Data Provider Framework.
The provider can be plugged into applications based on HOOPS Envision for Desktop. This includes HOOPS Envision Demo Analyzer and the RemoteModel server (UgServer) in HOOPS Envision for Web. The same plugin can be used both on web and desktop.
The cdp_Vtk plugin provides the following data based on a given ModelKey:
- Meta data about the given model: Number of states (time increments), geometries (multiple domains + boundaries), results
- CAE model with elements and nodes
- Results: Scalar, Vector, Displacements and Tensors
- Element sets
The VTK data provider plugin will then be used to open all your .vtu, .pvtu, .pvd and .vtm files.
If the built-in VTK reader should be used, just delete the cdp_VtkPlugin plugin from this path.
Available Options
The following options are supported by the VTK Data Provider:
| Name | Type | Default | Description |
|---|---|---|---|
| PVD_WELD_INTERFACE_NODES | bool | true | Weld interface nodes for pvd files. |
| PVTU_WELD_INTERFACE_NODES | bool | true | Weld interface nodes for parallel vtu files. |
| PVTU_PARTID_FIELD_NAME | string | PartID | Field name for Parts in PVTU files. |
| VTU_PARTID_FIELD_NAME | string | PartID | Field name for Parts in VTU files. |
| READ_VECTOR_AS_DISPLACEMENT | boolean | false | Read Vector as Displacements. |
| USE_CEETRON_ACCESS_COMPATIBILITY | boolean | true | HOOPS Access compatibility: i.e Use 6 components as SymTensor. Use 3 components as vector. Use Results Nature. |
| RESULTS_NAMES_MAPPING | string | U=VELOCITY;displacement=DISPLACEMENT;strain=STRAIN;strain_energy_density=STRAIN_ENERGY_DENSITY;stress=STRESS;pd=PRESSURE;T=TEMPERATURE;points=POSITION;origId=IDENTIFIER;rho=DENSITY;gamma=FLUID_PHASE;positions=POSITION;cellID=IDENTIFIER;scalars=SCALARS |
For Envision Web, use the RemoteModel.setReaderOptions() to specify these options before opening a file.
For Envision Desktop, use the
ReaderSettings::addDataProviderSettings() to specify
these options before opening a file.
Use in HOOPS Envision for Desktop
Load the VTK data provider plugin using
loadDataProviderPlugin() or load
multiple plugins at once using
loadDataProviderPluginsFromWildcard().
Use the ReaderSettings::addDataProviderSettings()
to specify these options before opening a file.
See the list of available options for the VTK data provider in the list above.
Example:
for (size_t i = 0; i < cee::imp::cae::DataSourceCae::readerSettings().dataProviderSettingsCount(); ++i)
{
cee::imp::cae::ReaderSettingsDataProvider& settings = cee::imp::cae::DataSourceCae::readerSettings().dataProviderSettings(i);
if (settings.providerIdString() == "VTKProvider")
{
settings.setBoolValue("PVTU_WELD_INTERFACE_NODES", true);
settings.setBoolValue("PVTU_PARTID_FIELD_NAME", "MyPartID");
}
}
Use in Envision Demo Analyzer Desktop
You can use your data provider with Envision Demo Analyzer Desktop. When installed, the data provider plugins are in the DataProviders folder below the Analyzer executable. You can change this location by defining the environment variable CEE_DATA_PROVIDERS_FOLDER to point to the folder where your cdp_VtkPlugin is located. Envision Demo Analyzer will load the data providers from the specified folder.
In the Settings dialog under the Data Provider panel, all the reader options for the VTK data provider are shown and can be edited. See the list of available options for the VTK data provider in the list above.
Once any of this settings edited, please reopen your model to account for this modification.
Use in HOOPS Envision for Web
Data providers can be used with the RemoteModel server (UgServer). To load your data provider, set the CEW_UG_DATA_PROVIDER_FOLDER environment variable to point to the folder with your data provider. The UgServer will load all data providers in the specified folder. The data provider needs to comply to the following naming scheme:
cdp_VtkPlugin.[dll|so|dylib]
Example:
cdp_VtkPlugin.dll (Windows), cdp_VtkPlugin.so (Linux)
The server will list the registered VTK data provider plugin when a file is opened.
A data provider plugin can have a set of reader settings. For Envision Web, use the
RemoteModel.setReaderOptions() to specify these options before opening a file.
See the list of available options for the VTK data provider in the list above.
Example:
this.m_model.setReaderOptions("VTKProvider", {
"PVTU_WELD_INTERFACE_NODES": true,
"PVTU_PARTID_FIELD_NAME": "MyPartID"
});