Package org.opencv.cv3d

## Class Volume

- java.lang.Object
- - org.opencv.cv3d.Volume

-     public class Volume
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected long` | `nativeObj` |
    `static int` | `VOLUME_UNIT` |
    `static int` | `VOXEL` |

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `` | `Volume()` | Constructor of custom volume.
    `` | `Volume​(int vtype)` | Constructor of custom volume.
    `` | `Volume​(int vtype, VolumeSettings settings)` | Constructor of custom volume.
    `protected` | `Volume​(long addr)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Volume` | `__fromPtr__​(long addr)` |
    `void` | `fetchNormals​(Mat points, Mat normals)` | Extract the all data from volume.
    `void` | `fetchPointsNormals​(Mat points, Mat normals)` | Extract the all data from volume.
    `void` | `fetchPointsNormalsColors​(Mat points, Mat normals, Mat colors)` | Extract the all data from volume.
    `protected void` | `finalize()` |
    `void` | `getBoundingBox​(Mat bb, int precision)` | Gets bounding box in volume coordinates with given precision: VOLUME_UNIT - up to volume unit VOXEL - up to voxel (currently not supported)
    `boolean` | `getEnableGrowth()` | Returns if new volume units are allocated during integration or not.
    `long` | `getNativeObjAddr()` |
    `long` | `getTotalVolumeUnits()` | return number of volume units in volume.
    `int` | `getVisibleBlocks()` | return visible blocks in volume.
    `void` | `integrate​(Mat depth, Mat pose)` | Integrates the input data to the volume.
    `void` | `integrateColor​(Mat depth, Mat image, Mat pose)` | Integrates the input data to the volume.
    `void` | `integrateFrame​(OdometryFrame frame, Mat pose)` | Integrates the input data to the volume.
    `void` | `raycast​(Mat cameraPose, Mat points, Mat normals)` | Renders the volume contents into an image.
    `void` | `raycastColor​(Mat cameraPose, Mat points, Mat normals, Mat colors)` | Renders the volume contents into an image.
    `void` | `raycastEx​(Mat cameraPose, int height, int width, Mat K, Mat points, Mat normals)` | Renders the volume contents into an image.
    `void` | `raycastExColor​(Mat cameraPose, int height, int width, Mat K, Mat points, Mat normals, Mat colors)` | Renders the volume contents into an image.
    `void` | `reset()` | clear all data in volume.
    `void` | `setEnableGrowth​(boolean v)` | Enables or disables new volume unit allocation during integration.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### nativeObj

          protected final long nativeObj

    - #### VOLUME_UNIT

          public static final int VOLUME_UNIT

      See Also:
        Constant Field Values

    - #### VOXEL

          public static final int VOXEL

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Volume

          protected Volume​(long addr)

    - #### Volume

          public Volume​(int vtype,
                        VolumeSettings settings)

      Constructor of custom volume.
      Parameters:
        `vtype` - the volume type [TSDF, HashTSDF, ColorTSDF].
        `settings` - the custom settings for volume.

    - #### Volume

          public Volume​(int vtype)

      Constructor of custom volume.
      Parameters:
        `vtype` - the volume type [TSDF, HashTSDF, ColorTSDF].

    - #### Volume

          public Volume()

      Constructor of custom volume.

  - ### Method Detail

    - #### getNativeObjAddr

          public long getNativeObjAddr()

    - #### __fromPtr__

          public static Volume __fromPtr__​(long addr)

    - #### integrateFrame

          public void integrateFrame​(OdometryFrame frame,
                                     Mat pose)

      Integrates the input data to the volume. Camera intrinsics are taken from volume settings structure.
      Parameters:
        `frame` - the object from which to take depth and image data. For color TSDF a depth data should be registered with color data, i.e. have the same intrinsics & camera pose. This can be done using function registerDepth() from 3d module.
        `pose` - the pose of camera in global coordinates.

    - #### integrate

          public void integrate​(Mat depth,
                                Mat pose)

      Integrates the input data to the volume. Camera intrinsics are taken from volume settings structure.
      Parameters:
        `depth` - the depth image.
        `pose` - the pose of camera in global coordinates.

    - #### integrateColor

          public void integrateColor​(Mat depth,
                                     Mat image,
                                     Mat pose)

      Integrates the input data to the volume. Camera intrinsics are taken from volume settings structure.
      Parameters:
        `depth` - the depth image.
        `image` - the color image (only for ColorTSDF). For color TSDF a depth data should be registered with color data, i.e. have the same intrinsics & camera pose. This can be done using function registerDepth() from 3d module.
        `pose` - the pose of camera in global coordinates.

    - #### raycast

          public void raycast​(Mat cameraPose,
                              Mat points,
                              Mat normals)

      Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system. Rendered image size and camera intrinsics are taken from volume settings structure.
      Parameters:
        `cameraPose` - the pose of camera in global coordinates.
        `points` - image to store rendered points.
        `normals` - image to store rendered normals corresponding to points.

    - #### raycastColor

          public void raycastColor​(Mat cameraPose,
                                   Mat points,
                                   Mat normals,
                                   Mat colors)

      Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system. Rendered image size and camera intrinsics are taken from volume settings structure.
      Parameters:
        `cameraPose` - the pose of camera in global coordinates.
        `points` - image to store rendered points.
        `normals` - image to store rendered normals corresponding to points.
        `colors` - image to store rendered colors corresponding to points (only for ColorTSDF).

    - #### raycastEx

          public void raycastEx​(Mat cameraPose,
                                int height,
                                int width,
                                Mat K,
                                Mat points,
                                Mat normals)

      Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system. Rendered image size and camera intrinsics are taken from volume settings structure.
      Parameters:
        `cameraPose` - the pose of camera in global coordinates.
        `height` - the height of result image
        `width` - the width of result image
        `K` - camera raycast intrinsics
        `points` - image to store rendered points.
        `normals` - image to store rendered normals corresponding to points.

    - #### raycastExColor

          public void raycastExColor​(Mat cameraPose,
                                     int height,
                                     int width,
                                     Mat K,
                                     Mat points,
                                     Mat normals,
                                     Mat colors)

      Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system. Rendered image size and camera intrinsics are taken from volume settings structure.
      Parameters:
        `cameraPose` - the pose of camera in global coordinates.
        `height` - the height of result image
        `width` - the width of result image
        `K` - camera raycast intrinsics
        `points` - image to store rendered points.
        `normals` - image to store rendered normals corresponding to points.
        `colors` - image to store rendered colors corresponding to points (only for ColorTSDF).

    - #### fetchNormals

          public void fetchNormals​(Mat points,
                                   Mat normals)

      Extract the all data from volume.
      Parameters:
        `points` - the input exist point.
        `normals` - the storage of normals (corresponding to input points) in the image.

    - #### fetchPointsNormals

          public void fetchPointsNormals​(Mat points,
                                         Mat normals)

      Extract the all data from volume.
      Parameters:
        `points` - the storage of all points.
        `normals` - the storage of all normals, corresponding to points.

    - #### fetchPointsNormalsColors

          public void fetchPointsNormalsColors​(Mat points,
                                               Mat normals,
                                               Mat colors)

      Extract the all data from volume.
      Parameters:
        `points` - the storage of all points.
        `normals` - the storage of all normals, corresponding to points.
        `colors` - the storage of all colors, corresponding to points (only for ColorTSDF).

    - #### reset

          public void reset()

      clear all data in volume.

    - #### getVisibleBlocks

          public int getVisibleBlocks()

      return visible blocks in volume.
      Returns:
        automatically generated

    - #### getTotalVolumeUnits

          public long getTotalVolumeUnits()

      return number of volume units in volume.
      Returns:
        automatically generated

    - #### getBoundingBox

          public void getBoundingBox​(Mat bb,
                                     int precision)

      Gets bounding box in volume coordinates with given precision: VOLUME_UNIT - up to volume unit VOXEL - up to voxel (currently not supported)
      Parameters:
        `bb` - 6-float 1d array containing (min_x, min_y, min_z, max_x, max_y, max_z) in volume coordinates
        `precision` - bounding box calculation precision

    - #### setEnableGrowth

          public void setEnableGrowth​(boolean v)

      Enables or disables new volume unit allocation during integration. Makes sense for HashTSDF only.
      Parameters:
        `v` - automatically generated

    - #### getEnableGrowth

          public boolean getEnableGrowth()

      Returns if new volume units are allocated during integration or not. Makes sense for HashTSDF only.
      Returns:
        automatically generated

    - #### finalize

          protected void finalize()
                           throws java.lang.Throwable

      Overrides:
        `finalize` in class `java.lang.Object`
      Throws:
        `java.lang.Throwable`