You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Fixed `Tube::appendTubeSegment()` to correctly add triangles for new segments using proper vertex indices instead of hardcoded values.
- Refactored `readPNGAlpha()` to use RAII patterns for proper resource management and added PNG signature validation.
- Fixed `cart2sphere()` singularity when converting vectors pointing straight up or down (gimbal lock), which caused camera orientation issues.
- The voxel intersection plug-in has been deprecated. Use the collision detection instead.
- All functionality from the voxel intersection plug-in has been incorporated in the collision detection plug-in. This also includes an OpenMP fallback if no GPU is available.
- Added `electron_transport_ratio` (J/Jmax) as optional output primitive data for computing fluorescence quantum yield.
- Added `listShootTypeLabels()` method with three overloads to discover available shoot types: query the currently loaded model (no parameters), query any model by name (string parameter), or query a plant instance by ID (uint parameter).
- Added `resolveTextureFile()` static method for simplified asset path resolution when loading textures and OBJ models.
- Updates to pistachio and walnut model parameters.
- Fixed nitrogen model to track all leaves in the nitrogen map even when no nitrogen is available in the pool.
- Added optional primitive data output for biochemical properties (chlorophyll, carotenoid, etc.) when using nitrogen-based automatic mode.
- Fixed horizontal mirroring in camera output functions: `writePrimitiveDataLabelMap()`, `writeObjectDataLabelMap()`, `writeImageBoundingBoxes()`, `writeImageSegmentationMasks()`, `writeCameraImage()`, and related methods.
- Refactored COCO annotation generation in `writeImageSegmentationMasks_ObjectData()` to ensure 1:1 correspondence between annotations and their attribute values.
- Fixed `runBand()` to validate band labels from the input parameter rather than an internal variable, which caused incorrect error messages when invalid bands were passed.
For complete documentation of this software, please consult <ahref="https://baileylab.ucdavis.edu/software/helios">https://baileylab.ucdavis.edu/software/helios.
5
+
For complete documentation of this software, please consult <ahref="https://plantsimulationlab.github.io/Helios/">https://plantsimulationlab.github.io/Helios/.
6
6
7
7
Helios is a C++ library for 3D physical simulation of plant and environmental systems. It can generate and manipulate plant and other geometric objects, which can feed into biophysical model plug-ins such as radiation transfer, photosynthesis, and evapotranspiration, among others.
// only rotate if the cone is not alread aligned with the z axis (i.e., angle is not zero. If zero, the axis of rotation is 0,0,0 and we end up with problems)
// only rotate if the cone is not already aligned with the z axis (i.e., angle is not zero. If zero, the axis of rotation is 0,0,0 and we end up with problems)
0 commit comments