vCortex (i4Cortex Visualization Component Pack)

vCortex (Visual Component Pack) for Ignition - i4cortex. You can check version 8.3 prior to clicking download.

2 Likes

Goto this page and fill out form we send you download link for both version as well.

https://i4cortex.com/product/vcortex-visual-component/

1 Like

We’re excited to announce vCortex 0.14.60 (Ignition 8.1/8.3), packed with major improvements, new customization options, and better performance for your projects! The Demo project is update to see how to use new futures.

Release 0.14.60

New Features & Enhancements

  • Applied Designer-defined style classes to all components.
  • eChart: The theme property now supports auto, eliminating the need to bind it to the Perspective theme. The component automatically detects Perspective theme changes and updates accordingly.
  • Slider: Added styles.track.colors to define the color of each track segment when using multiple values.

Slider Multiple Color Segment

  • Flow Diagram: Added support for per-node and per-edge Designer styling via the className property.
  • Flow Diagram: Added a defaultStyle option for all nodes and edges.
  • Flow Diagram: Added support for dragging node handles instead of manually entering offset values in the UI.

Flow Diagram Handle Reposition

  • Flow Diagram: Exposed the onlyRenderVisibleElements option to improve performance in large diagrams. When enabled, only the nodes and edges currently within the visible viewport are rendered.
  • Flow Diagram: Added performance.mode to improve rendering performance by replacing embedded views with lightweight placeholder boxes while zoomed out.

Flow Diagram Perfromance mode

  • Flow Diagram: Added addNodes() and addEdges() component functions to improve performance in large-scale diagrams. These functions inject node and edge data directly into the component without exposing them through Perspective properties. For the best performance, use them with dataMode: "local".
  • Flow Diagram: Added the dataMode property. When set to props, nodes and edges remain synchronized through Perspective properties. When set to local, node and edge data is stored in the browser's memory, avoiding large WebSocket updates and improving performance.
  • Flow Diagram: Added support for box selection, multi-selection, and Undo for node and edge editing operations.

Box Selection and undo in Flow Diagram

Bug Fixes

  • The demo project is no longer recreated on gateway startup if it has been deleted by the user.
  • Replaced per-component license polling with a shared poller, reducing unnecessary background activity.
  • eChart: runJs() now uses ctx instead of chart to reference the component to make runJs() compatible with other components.
  • Slider: Fixed the Designer selection box so it properly covers the component.
  • Flow Diagram: Removed the redundant node.data.style property from the Flow Diagram schema.
  • Flow Diagram: Optimized rendering by eliminating O(n²) lookups and unnecessary array allocations.
  • Flow Diagram: Removed hardcoded borders and backgrounds from built-in Flow nodes.
  • Flow Diagram: Fixed an issue where resizing a node could unintentionally remove existing styles.
7 Likes

Could you expose React Flow’s preventScrolling prop on the Zoom & Pan Viewer component (com.vcortex.zoompan) under props.interaction?

React Flow defaults preventScrolling to true, so the wheel listener on .react-flow__renderer calls preventDefault(). As a result, the page cannot be scrolled while the cursor is over the component.

In our screen, we use:

zoomOnScroll: false
panOnScroll: false

Therefore, the mouse wheel does not perform any useful action inside the component, but it still prevents the parent page from scrolling.

props.interaction currently exposes:

panOnDrag
panOnScroll
panOnScrollMode
panOnScrollSpeed
zoomOnScroll
zoomOnPinch
zoomOnDoubleClick
minZoom
maxZoom

The only relevant React Flow option missing is:

preventScrolling

Our current workaround is a capture-phase wheel listener that stops propagation before React Flow receives the event. We would prefer not to rely on this workaround in production.

We are using Ignition 8.3.

Yes, this makes sense.

We’ll expose React Flow’s preventScrolling property under:

props.interaction.preventScrolling

We’ll include this in an upcoming vCortex release and let you know once it is available.

2 Likes

Thank you for this! I really enjoy using these extesion.

2 Likes

:rocket: vCortex 0.14.61 — New Map Component

We’re excited to announce the release of vCortex 0.14.61, introducing a brand-new Map component powered by MapLibre GL for Ignition Perspective.

This release brings a powerful WebGL-based mapping engine to vCortex, designed for applications that need high-performance geographic visualization, large numbers of assets (5M points), 2D/3D mapping, interactive layers, and advanced map operations.

New Features & Enhancements

Map Key capabilities include:

  • WebGL-based rendering for efficiently displaying large numbers of geographic features.

  • Raster XYZ tiles, Raster DEM terrain, and georeferenced image overlays.

    DEM2

  • Built-in Polygon, Polyline, Rectangle, and Geodesic Circle layers.

  • High-volume GPU-rendered Markers, GeoJSON features, and 3D models.

  • Multiple display modes including Markers, Circles, Clusters, and Heatmaps.

  • Zoom-dependent marker, 3d model, Geojson, vector hape sizing.

  • Support for:

    • Raster Tiles / DEM

    • Georeferenced Images

    • Circles

    • Rectangles

    • Polylines

    • Polygons

    • Markers

    • Perspective Embedded Views

    • GeoJSON

    • GLTF / GLB 3D Models

Easy Migration from Perspective Native Map

The Map component uses a property schema that is very similar to the native Perspective Map component, making it easier to migrate existing projects and start using the additional MapLibre capabilities.

Advanced GeoJSON Support

GeoJSON can be provided either:

  • Directly as an inline Python object, or

  • Through a URL (perfect for high volume GIS data)

GeoJSON layers support configurable:

  • Paint

  • Layout

  • Filters

  • Tooltips

  • Popups

The component also supports MapLibre filter expressions, allowing complex filtering logic to control which geographic features are displayed.

Clustering & Heatmaps

High-volume geographic data can be visualized using Point and MultiPoint clustering, Heatmaps for all layers (views, markers, 3d Models, Geojosn)

marker display

3D GLTF / GLB Models

The Map component supports GLTF and GLB 3D models with:

  • Zoom-dependent sizing

  • Visibility ranges

  • Tooltips

  • Popups

  • Click events

  • MultiPoint clustering

  • Heatmaps

This makes it possible to visualize real-world assets such as equipment, vehicles, buildings, infrastructure, and other industrial objects directly on the map.

Interactive Selection & Measurement

New interaction tools include:

  • Freehand lasso selection

  • Selected-feature highlighting

    Selection

  • Distance measurement

  • Area measurement

    measurement

  • Editable measurement lines and polygons

:clapper_board: Camera Animation & Asset Movement

The Map component also provides advanced animation capabilities:

  • Multi-step camera animation using predefined routes and Programmatic camera control

    Camera Animation

  • Smooth Animated movement of point assets

    Movement Animation

  • Support for pitch, bearing, and rotation

2D & 3D Globe Mode

  • Mercator projection

  • Globe (3D) mode

Users can interact with the map through:

  • Pitch

  • Bearing

  • Drag rotation

  • Touch gestures

  • 2D/3D keyboard navigation

Marker, Geojson, 3d model Auto labeling

Auto labeling based on the layer item features/properties with zoom level control and camera auto aligment.

label

Perspective Integration & MapLibre API

The Map component integrates with Perspective through:

  • Perspective component events

  • Script-callable MapLibre operations

  • Extensive exposure of the MapLibre API through component functions

This allows developers to combine Perspective scripting and events with the underlying MapLibre functionality to build highly interactive mapping applications

When needing to serve GIS assets such as GeoJSON, GLTF/GLB models, map tiles, or other static files for your Map application, you can use our FileCortex module to serve them directly from the Ignition Gateway:

Zoom & Pan Viewer

The Zoom & Pan Viewer has also been enhanced with a new:

  • interaction.preventScrolling

property, providing better control over page scrolling when interacting with the component.

We’d love to hear your feedback, especially from anyone using the new Map component in real-world Perspective applications.
Download Link
Manual

15 Likes

5 Million Moving Flights & Ships in Ignition!

We’ve created a flight-radar-style demo showcasing the performance of our MapLibre component in the vCortex module, with 5 million simulated aircraft and ships moving across the map.

The client with dedicated Graphic card this number can increase up to 20M points of moving data.

Watch the video to see it in action, then try the demo project yourself by reinstalling the module!

If the demo was previously installed, delete playground-state.properties from the following folder before reinstalling to trigger its installation again:

\Inductive Automation\Ignition 8.3.10\data\vcortex

You can also download out latest version of demo separately from our site:

4 Likes