Document toolboxDocument toolbox

Release notes: Ceetron Cloud Components [C3]

 

 

 

Ceetron Cloud Components [C3] is now Ceetron Envision for Web. Release notes can be found here:

Release notes: CEETRON Envision

Version C3 4.7.0 - Aug 11, 2022 -

Feature

CAE-750 Perform a min/max result query on a per-part basis

Extended cee.ug.QueryResultMinMax to support min/max queries for visible parts only as well as for a specific part. Added executeQueryVisibleParts() and executeQuerySinglePart() . Note that the perStateGlobalMinMax and globalMinimumValue/globalMaximumValue is not affected by this and will always return the global min/max over all states and all parts.

CAE-749 Bulk Calculator position of min/max point or cell

Added the location (3d coordinate) of the minimum and maximum values for surface, node, volume and volume node data. See cee.ug.QueryBulkCalculationValues for more info.


Version C3 4.6.0 - Jun 17, 2022 - 2e33eb37

Bug

CAE-753 ConstantRemoteModel doesn't clear legends on closeModel

Fixed clearing of color legends when closing a ConstantRemoteModel

CAE-726 Scalar settings for the new result was not available in the callback from RemoteModel.createResultCalculator()

The scalar settings for new results was not available from the RemoteModel in the callback of createResultCalculator(), which prevented the user from setting default settings for the new results.

CAE-712 Isosurfaces computed from per element results does not have the correct scalar value (the iso value)

Iso surfaces now have the correct (constant iso) value if the result is per element and the same result is mapped on the the surface as the one being used to compute the surface.

CAE-711 The CeeCloudServer did not properly set the SimulationInfo.description field

The SimulationInfo.description field is now properly populated with the description from e.g.

Feature

CAE-754 Optimized cee::ug::UnstructGridModel::rayIntersect()

Optimized rayIntersect() by doing an early reject ray/sphere test before doing a ray/triangle test. This should give up to 3-4x performance gain and is especially useful on parts with a lot of visible element surfaces.

CAE-730 Updated Socket.IO and async to the latest version

Updated Socket.IO to 4.5.1 and async to 3.2.4 to not have the vulnerabilities of the previous versions.


Version C3 4.5.0 - Mar 22, 2022 - ed466b6f

Note: C3 4.5.x requires Ceetron Data Provider Framework (CDP) 7.x

Bug

CAE-705 A CUG model with a particle trace with only one point did cause an error

Some rare CUG models produced particle traces with only one point, which the client viewer did not handle properly.

CAE-702 CDPElementGroup::addPolyhedronData() did not work as intended if called multiple times for one group

The data provider framework did not properly handle multiple calls to addPolyhedronData. If only called once per part (usual usage) it worked fine.

CAE-701 GeometryModel.rayIntersect did not consider the part.settings.visible property

The picking/ray intersect method in the Geometry Model did not take the visibility setting of the part into account, which made it possible to pick parts that are not rendered.

CAE-690 QueryElementInfo and QueryGeometryStatistics was missing from CeeCloudClientComponent.d.ts

The QueryElementInfo and QueryGeometryStatistics classes were missing from the .d.ts file.

CAE-676 Particle traces produce extremely long lasting traces due to numerical precision

This impacted particle trace visualization styles that depend on time (comets and spheres) as well as animations. In some rare cases the particle traces would become extremely long lasting and thus taking an extremely long time. This also caused different behavior between C3 and CPM/CDC.

Feature

CAE-706 New ParticleTraceGroup setting: maximumNumberOfPointsToCompute

This controls the maximum number of increments that will be computed for each trace in the group. The default is 5000.

CAE-668 Add reader options to load either global or local mesh in OpenFOAM data provider

The OpenFOAM reader now has two new options: LOAD_GLOBAL_MESH and LOAD_LOCAL_MESHES. Both are set to default true.

CAE-647 Add support for providing error messages on init in CDP (Data Providers)

Added a new parameter to the CDPDataProvider::init() method:

init(const CDPString& modelKey, const CDPInitOptions& initOptions, CDPError* error) = 0;

The error objects allows for the data provider to specify an error message which is then accessible from the host.

This error will be available from the client in the OpenModelCallback provided to RemoteModel.openModel() as the error: Error parameter.

Note: This bumps the version of CDP to 7.0 and requires data providers built with CDP 7.0 or later to work.

CAE-529 Add support for Ambient Occlusion in C3

Added support for Ambient Occlusion (AO) in C3. This enables a more advanced shading technique that calculates how exposed each point in a scene is to ambient lighting.

Added new class AmbientOcclusion to control usage of AO. Currently you can enable/disable the effect, as well as control the screenProportionalRadius, which is the distance from the pixel C3 will look for occluding objects. This radius controls the amount of AO effect, and can be tuned to fit the type of models used.

To enable Ambient Occlusion, do the following:

myView.ambientOcclusion.enable = true

Below you can see an example of the same model with and without AO:

Note: The AO in C3 4.5 is an initial version with some known rendering artifacts. We will improve the visual quality of the AO effect in subsequent releases.

CAE-336 Custom positioning of navigation cube, color legends and info box

Added new properties to Overlay: navigationCubePosition, legendsPosition and infoBoxPosition. This allows the user to control the placement of the navigation cube, color legends and info box. The available options are: Top, middle and bottom on both the left and right side. For legends, if put on the right side the legends labels will be shown on the left side of the legend.


Version C3 4.4.0 - Feb 22, 2022 - c3703e2b

Bug

CAE-654 Vectors shown on the RemoteModel are not clipped as expected

Vector shown on the model (not regular cutting plane vectors) were not clipped by cutting plane or view clipping.

CAE-653 Labels behind surfaces appearing in some cases in front of model if using walk navigation

When using walk navigation and auto clipping (or setting the front clipping plane to very close), labels might be moved too much forward so all labels appear in front of the model when walking towards or inside the model. This applies to labels added using the addWithOffsetDirection* methods. This fix should improve the lifting algorithm when the front clipping plane is very small.

Also fixed an issue with Camera.enableAutoClipFixedNearDistance() not working as expected.

CAE-649 Zoom to cursor hits labels and behaves strangely

Zoom to cursor will no longer consider labels which made the view move when a label was hit.

CAE-580 Returning false in CRC::initialize() is logging an error

Result calculators will no longer log an error (only warning) if an error message is set from the calculator on init(). To log an error you can use the logger object.

CAE-541 CugComposer crashing in some rare cases with expanded beams

Some rare cases with expanded beams might cause the CugComposer to crash when creating a model for the ConstantRemoteModel.

CAE-533 Issues with Parallel VTU (pvtu) reader

Fixed a crash and results not being read correctly in some cases.

Feature

CAE-656 Update the readers in ImportCAE (VdmTools 4.6.1)

Added support for ANSYS and ABAQUS 2022. Several fixes for other formats.

CAE-628 Add support to RemoteModel for getting vector and displacement ranges

Added getVectorResult{Minimum|Maximum}Length() and getDisplacementResult{Minimum|Maximum}Length() to cee.ug.RemoteModel to be able to query the model for min/max vector and displacement results.

CAE-537 Add option to specify if particle traces should be clipped or not

Added support in C3 for specifying if particle traces should be clipped (view or cutting plane clipping) or not.
Added ParticleTraceGroup.ignoreClipping Set this to true to always show the particle traces (no clipping).

Note: Clipping of particle traces is now default on (ignoreClipping = false) to behave the same way as CDC. This is a change from previous versions.

CAE-524 Addition vector arrow rendering types for vector results

Added support for new vector styles: Symmetric and reverse symmetric arrows. Added new property VectorSettings.vectorType.

Added support for simplified vectors (line + two unlit triangles). Added new property VectorSettings.drawMode.


Version C3 4.3.1 - Jan 5, 2022 - 326041e6

Bug

CAE-523 Result Calculators: Vector results did not work as expected


Version C3 4.3.0 - Dec 17, 2021 - 7a4ff130

Note: C3 4.3.x requires Ceetron Data Provider Framework (CDP) 6.x and Ceetron Result Calculator Framework (CRC) 4.x.

Bug

CAE-487 Rare crash and holes for cutting planes computed from Polyhedron

On some very specific models computing a cutting plane would cause a crash on the server as well as producing some holes in polyhedrons and second-order elements.

CAE-462 Added element type name in picking/query for polyhedrons and less used element types (brick, shell, ...)

Feature

CAE-516 Update Angular examples to use Socket.io 4.0

CAE-515 Added support for parallel VTU files (*.pvtu)

CAE-513 DataProvider: Added support for specifying default part colors

You can now specify the default colors of parts from a data provider using the CDPGeometryInfo::addElementGroupInfoWithColor() or CDPElementGroupInfo::setPartColor()

CAE-505 Parallelization of computing node average and result calculator results

Results from Result Calculators are now computed in parallel as well as all node average computations. This should give a speed-up on the CeeCloudServer running on multi-core systems.

CAE-497 Added CRCError parameter to CRCResultCalculator::initialize() to be able to communicate an error message to the host application

You can now provide an error message from result calculator initialize() method that can be picked up by the host.

CAE-485 Remove #DP and #RC prefix from Data Provider and Result Calculator logs

CAE-482 Add support for executing QueryNodeInfo by region

You can now query all nodes within a region (with a user defined max count) and get information on all the nodes inside this screen-spaced region.

CAE-474 Return more data from QueryElementInfo

Added position, scalar and vector results for all element nodes. You can now also specify any scalar and vector result and not be limited to what was shown in the model.

CAE-394 Add support for updating devicePixelRatio while the app is running

Use the Viewer.setPixelScaleFactor() function to change the device pixel ratio or use the Viewer.updatePixelScaleFactor() function to update it to the current factor in the browser.


Version C3 4.2.2 - Dec 2, 2021 - c062c92b

Bug

CAE-493 Particle traces fails to continue into a new part when using displacements


Version C3 4.2.1 - Nov 5, 2021 - 1f568bb5

Bug

CAE-476 ScalarSettings not available for newly added ResultCalculator results


Version C3 4.2.0 - Oct 29, 2021 - fb640a07


Note: C3 4.2.x requires data providers built with Ceetron Data Provider Framework (CDP) version 5.x

Bug

CAE-469 RemoteModel streaming might stop on models with many parts

CAE-464 Markup label attachment arrow heads do not respect LabelDrawMode.ALWAYS_IN_FRONT

CAE-401 ElementVolume in rayPick and queryElementInfo is not adjusted for mode shape or transform

CAE-397 NaN values are not correctly shown with undefined color

CAE-395 Outline edges are not correct when having overlapping shell and volume elements

CAE-378 Node ids in QueryResultMinMaxData do not fall back to undisplaced node ids

CAE-364 sendToCloud assumes response from CeetronCloud is in single chunk

Feature

CAE-471 Added a React demo application to the examples in C3

We now have 4 identical examples covering popular frameworks: Angular, React, Vue, Svelte. You can find the examples in the Example folder of the C3 distribution

CAE-460 Add geometry statistics query cee.ug.QueryGeometryStatisticsData

New query to get model statistics like number of elements broken down on element type.

CAE-456 Add option to mrk.PartLabels and PartImageLabel to display attachment line as arrow

CAE-450 Added getResultIdByIdString() and getResultIdStringById() to cee.ug.ModelDirectory

CAE-449 Added handleClientRequest() to CDPDataProvider

The client can now communicate directly with the DataProvider (if used). The client can call RemoteModel.executeDataSourceRequest() to send a message to the data provider. The provider receives this in the handleClientRequest() and can report back a user-defined response as well as a change notification if any of the data it provides has changed.

This opens up for a wider use of data providers where the client can instruct the provider to modify the data and then see the results.

Note: C3 4.2.x requires data providers built with Ceetron Data Provider Framework (CDP) version 5.x

CAE-393 Add command line parameters to CugComposer for creating JS and Bin bundle files

The CugComposer now has a new parameter to control the output format:

-outputFormat { JSBundle | BinBundle | CugDB (default) }

CAE-392 Create new remote model query for fetching element data cee.ug.QueryElementInfo

A query similar to QueryNodeInfo used to get information about a given list of elements (including element tessellation and element nodes).


Version C3 4.1.1 - Sep 30, 2021 - 3ccc40d2

Bug

CAE-399 Add empty CDPResultValueGroup (no result for the part) was not correctly handled


Version C3 4.1.0 - Sep 9, 2021 - d4729217

Bug

CAE-231 QueryGlobalNodePositionsForFrames and QueryNodeScalarResult do not work as expected for mode shape animations

CAE-221 CUG LowRes models are sometimes streaming slower than expected

CAE-220 cee.ug.HitItem.nodePosition is not correct for mode shape animations

CAE-213 Picked node ids are not reported correctly if displacements are used

CAE-205 cee.ug.PartSettings.opacity has no effect on mesh edges

Feature

CAE-230 Add support for manual placement (offset) of cee.mrk.PartLabels

Labels can be interactively positioned with e.g. the mouse. See documentation of cee.mrk.PartLabels.setLabelOffsetPosition() for an example on how to do this.

CAE-229 Added cee.ug.QueryNodeInfo to get information about node(s) based on node ids

CAE-208 Optimized streaming of many parts (>10k) in RemoteModel

CAE-207 Add support for updating and deleting individual labels in mrk.PartLabels

CAE-206 Added an error callback for executePartQuery and executeCuttingPlaneQuery

CAE-204 Added ug.VectorSettings.drawMaxCount to limit the number of vectors drawn

This feature can be used as a replacement for the drawSkipBy and is easier to provide a good default value.

CAE-202 Get and set view matrix in Camera to be able to sync views

CAE-193 Show assertion errors in console, not only modal dialog

CAE-177 Official support for embedded or static hosted CUG bundles in C3

C3 4.0 (CAE-119) added a technical preview of the support for CUG bundles. This version adds official support for loading CUG bundles in the ConstantRemoteModel.

CUG bundles can be either downloaded as a static resource, opened as a local file or encoded as a JavaScript object. A CUG bundle is a single file, either containing binary data (cugbundle.bin) or encoded into a JavaScript object (cugbundle.js). If encoded as a JavaScript object, the model can be embedded into a single HTML page to create a standalone 3D result visualization without any server requirement.

Loading remote bundles, typically served as a static resource, can be done using ConstantRemoteModel.openRemoteBundle().
Local CUG bundles must be loaded/read by the client code, and can then be passed on to ConstantRemoteModel using ConstantRemoteModel.openLocalBundle().

CAE-26 Result Calculator: Create multiple calculator instances with initString

The Result Calculator Framework (CRC) has been refactored to support multiple calculator instances from a single calculator (dll/so/dylib).

RemoteModel.openModel() now takes a OpenModelOptions parameter which allows you to specify any default calculator setup using the defaultResultCalculatorDefinitions.

Added RemoteModel.createResultCalculator, recreateResultCalculator and deleteResultCalculator to manipulate result calculators.

RemoteModel.setResultCalculatorParams is refactored to conform to the new methods above.

See documentation for more info about Result Calculators.


Version C3 4.0.0 - Jun 17, 2021 - eb93b346

Bug

CAE-120 CUG: Mesh lines not correct for parts with some expanded beams

CAE-109 CugComposer with demo license refuses to convert demo models when a case is specified

CAE-80 cee.ug.HitItem.elementTriangleVertices does not handle mode shape animation

CAE-70 Assert in CUG model with beams with per element results

CAE-66 Improved GeometryModel.regionIntersect() when the vertices are not inside the region

Feature

CAE-142 New Angular example application. See Examples/Angular/angular-example

CAE-141 Added position of closest node in cee.ug.HitItem

CAE-140 Support for mode shape animations in cee.ug.QueryNodeScalarResult

CAE-126 Added setting of mesh color in ConstantRemoteModel

CAE-119 CUG bundle support - Loading CUG models without a REST API server

Added support for loading CUG bundles in Constant Remote Model. CUG bundles can be either downloaded as a static resource, opened as a local file or encoded as a JavaScript object. A CUG bundle is a single file, either containing binary data (cugbundle.bin) or encoded into a JavaScript object (cugbundle.js)

Loading remote bundles, typically served as a static resource, can be done using ConstantRemoteModel.openRemoteBundle().
Local CUG bundles must be loaded/read by the client code, and can then be passed on to ConstantRemoteModel using ConstantRemoteModel.openLocalBundle().

Note: The constructor and the openModel() method of ConstantRemoteModel has a new signature.

Note: This is a technology preview with all the breaking changes to ConstantRemoteModel as well as a new example to showcase the feature. Generation of CUG bundle files (with CugComposer or CPM) will be available in C3 4.1.

CAE-116 Added caseDescription to CUG SimulationInfo

CAE-104 Add Butterfly to demo models

CAE-72 CugComposer: License key as command line parameter

CAE-65 Compute a cross section of a geometry model

CAE-57 Upgrade to Socket.IO 4.0 for CeeCloudServer (RemoteModel)

Upgraded to Socket IO 4.0 as previous versions had several security issues. 4.0 is not compatible with previous versions, so make sure both server and client are updated (this is always a good practice).

CAE-24 Extend CUG V1 deprecation to end of 2021

Â