Skip to content

PicoGK v1.5.0

Compare
Choose a tag to compare
@leap71 leap71 released this 11 May 14:19
· 5 commits to main since this release

PicoGK v1.5.0 is a major update. The focus of this release is the introduction of field data types for scalar fields and vector fields. Using these types, you can interface with simulation packages, and read the results back to build feedback loops in your software.

  • NEW: New data types for scalar fields and vector fields.
  • NEW: Support for reading/writing scalar fields and vector fields to OpenVDB
  • NEW: Access to OpenVDB field metadata in Voxels, ScalarField, VectorField
  • NEW: Library info, voxel size, PicoGK classes etc. all saved to OpenVDB metadata
  • NEW: Added example to show usage of fields
  • NEW: Added example to show how to exchange simulation setup information using OpenVDB and multiple field types
  • NEW: Added LEAP 71 QuasiCrystal library to examples, which allows you to build aperiodic 2D and 3D structures (Penrose Tiles and Quasicrystals)
  • NEW: Viewer now supports adding arrow heads to polylines
  • NEW: Viewer now supports adding a cross at the end of a polyline
  • NEW: VoxelUtils class has functions to count active voxels, extract surface normals.
  • NEW: Voxel slices can be output as grayscale and black and white
  • NEW: Grayscale image now has a function to determine whether it contains any active pixels
  • NEW: Added HLS and HSV color types (allows you to easily desaturate etc. colors)
  • NEW: Example to show how to load an STL file and prepare it for printing
  • NEW: Added function to find project source path
  • NEW: Added experimental Voxels.Gaussian(), Voxels.Median(), and Voxels.Mean() functions to average/blur a voxel field. These are to be considered experimental at this point, as we are not sure if the results are robust enough across multiple voxel sizes, to be useful for engineering.
  • FIX: Voxel insertion/removal into the viewer was not thread-safe
  • CHANGE: Added asserts to make sure NaN values inserted into a bounding box throw an alert