Class VolumetricObjectDensity

All Implemented Interfaces:
Serializable, Comparable<VolumetricObjectDensity>, Additive<VolumetricObjectDensity>, Scalable<VolumetricObjectDensity>, Value<VolumetricObjectDensity>

public class VolumetricObjectDensity extends Quantity<VolumetricObjectDensity>
Volumetric object density counts the number of objects per unit of volume, measured in number per cubic meter (/m3).

Copyright (c) 2025-2026 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djunits.org. The DJUNITS project is distributed under a three-clause BSD-style license.

Author:
Alexander Verbraeck
See Also:
  • Field Details

  • Constructor Details

    • VolumetricObjectDensity

      public VolumetricObjectDensity(double value, VolumetricObjectDensity.Unit displayUnit, boolean useSi)
      Instantiate a VolumetricObjectDensity quantity with an SI or base value and a display unit.
      Parameters:
      value - the quantity value expressed in the SI or base unit
      displayUnit - the display unit to use
      useSi - use SI value when true, use value in unit when false
    • VolumetricObjectDensity

      public VolumetricObjectDensity(double valueInUnit, VolumetricObjectDensity.Unit unit)
      Instantiate a VolumetricObjectDensity quantity expressed in the given unit.
      Parameters:
      valueInUnit - the quantity value expressed in the given unit
      unit - the unit of the value, also acts as the display unit
  • Method Details

    • ofSi

      public static VolumetricObjectDensity ofSi(double si)
      Return a VolumetricObjectDensity instance based on an SI value.
      Parameters:
      si - the si value
      Returns:
      the VolumetricObjectDensity instance based on an SI value
    • ofSi

      public static VolumetricObjectDensity ofSi(double siValue, VolumetricObjectDensity.Unit displayUnit)
      Instantiate a VolumetricObjectDensity quantity with an SI or base value and a display unit.
      Parameters:
      siValue - the quantity value expressed in the SI or base unit
      displayUnit - the display unit to use
      Returns:
      the VolumetricObjectDensity instance based on an SI value with the given display unit
    • instantiateSi

      public VolumetricObjectDensity instantiateSi(double siValue, UnitInterface<VolumetricObjectDensity> displayUnit)
      Description copied from class: Quantity
      Instantiate a quantity with an SI or base value, and a display unit.
      Specified by:
      instantiateSi in class Quantity<VolumetricObjectDensity>
      Parameters:
      siValue - the value expressed in the base (SI) unit
      displayUnit - the display unit to use for the quantity
      Returns:
      a quantity with the given SI or base value, and the given display unit
    • valueOf

      public static VolumetricObjectDensity valueOf(String text)
      Returns a VolumetricObjectDensity representation of a textual representation of a value with a unit. The String representation that can be parsed is the double value in the unit, followed by a localized or English abbreviation of the unit. Spaces are allowed, but not required, between the value and the unit.
      Parameters:
      text - the textual representation to parse into a VolumetricObjectDensity
      Returns:
      the Scalar representation of the value in its unit
      Throws:
      IllegalArgumentException - when the text cannot be parsed
      NullPointerException - when the text argument is null
    • of

      public static VolumetricObjectDensity of(double valueInUnit, VolumetricObjectDensity.Unit unit)
      Returns a VolumetricObjectDensity based on a value expressed in the unit.
      Parameters:
      valueInUnit - the value, expressed in the given unit
      unit - the unit of the value, also acts as the display unit
      Returns:
      ab VolumetricObjectDensity representation of the value in its unit
    • of

      public static VolumetricObjectDensity of(double valueInUnit, String unitString)
      Returns a VolumetricObjectDensity based on a value and the textual representation of the unit, which can be localized.
      Parameters:
      valueInUnit - the value, expressed in the unit as given by unitString
      unitString - the textual representation of the unit
      Returns:
      the Scalar representation of the value in its unit
      Throws:
      IllegalArgumentException - when the unit cannot be parsed or is incorrect
      NullPointerException - when the unitString argument is null
    • getDisplayUnit

      public VolumetricObjectDensity.Unit getDisplayUnit()
      Description copied from interface: Value
      Retrieve the unit of this Value.
      Specified by:
      getDisplayUnit in interface Value<VolumetricObjectDensity>
      Overrides:
      getDisplayUnit in class Quantity<VolumetricObjectDensity>
      Returns:
      the unit of this Value
    • multiply

      public Dimensionless multiply(Volume volume)
      Multiplies this volumetric object density by a volume to yield a dimensionless count.

      Formula: (1/m³) x m³ = 1.

      Parameters:
      volume - the volume multiplier; must not be null.
      Returns:
      the resulting dimensionless count in SI (1).
      Throws:
      NullPointerException - if volume is null.
    • multiply

      public LinearObjectDensity multiply(Area area)
      Multiplies this volumetric object density by an area to yield a linear object density.

      Formula: (1/m³) x m² = 1/m.

      Parameters:
      area - the area multiplier; must not be null.
      Returns:
      the resulting linear object density in SI (1/m).
      Throws:
      NullPointerException - if area is null.
    • multiply

      public ArealObjectDensity multiply(Length length)
      Multiplies this volumetric object density by a length to yield an areal object density.

      Formula: (1/m³) x m = 1/m².

      Parameters:
      length - the length multiplier; must not be null.
      Returns:
      the resulting areal object density in SI (1/m²).
      Throws:
      NullPointerException - if length is null.
    • divide

      Divides this volumetric object density by a linear object density to yield an areal object density.

      Formula: (1/m³) / (1/m) = 1/m².

      Parameters:
      lod - the linear object density divisor; must not be null.
      Returns:
      the resulting areal object density in SI (1/m²).
      Throws:
      NullPointerException - if lod is null.
    • divide

      Divides this volumetric object density by an areal object density to yield a linear object density.

      Formula: (1/m³) / (1/m²) = 1/m.

      Parameters:
      aod - the areal object density divisor; must not be null.
      Returns:
      the resulting linear object density in SI (1/m).
      Throws:
      NullPointerException - if aod is null.
    • divide

      public Dimensionless divide(VolumetricObjectDensity other)
      Divides this volumetric object density by another volumetric object density to yield a dimensionless ratio.

      Formula: (1/m³) / (1/m³) = 1.

      Parameters:
      other - the volumetric object density divisor; must not be null.
      Returns:
      the resulting dimensionless ratio in SI (1).
      Throws:
      NullPointerException - if other is null.
    • reciprocal

      public Volume reciprocal()
      Description copied from class: Quantity
      Return the reciprocal of this quantity (1/q).
      Overrides:
      reciprocal in class Quantity<VolumetricObjectDensity>
      Returns:
      the reciprocal of this quantity, with the correct SI units