## AmitkVolume AmitkVolume |

## Synopsis

    #define             AMITK_VOLUME_CORNER                 (vol)
    #define             AMITK_VOLUME_X_CORNER               (vol)
    #define             AMITK_VOLUME_Y_CORNER               (vol)
    #define             AMITK_VOLUME_Z_CORNER               (vol)
    #define             AMITK_VOLUME_VALID                  (vol)
    typedef             AmitkVolume;
    AmitkVolume*        amitk_volume_new                    (void);
    gboolean            amitk_volume_point_in_bounds        (const AmitkVolume *volume,
                                                             const AmitkPoint point);
    AmitkPoint          amitk_volume_place_in_bounds        (const AmitkVolume *volume,
                                                             const AmitkPoint point);
    AmitkPoint          amitk_volume_get_center             (const AmitkVolume *volume);
    void                amitk_volume_set_corner             (AmitkVolume *volume,
                                                             AmitkPoint corner);
    void                amitk_volume_set_z_corner           (AmitkVolume *volume,
                                                             amide_real_t z);
    void                amitk_volume_set_center             (AmitkVolume *volume,
                                                             const AmitkPoint center);
    void                amitk_volume_get_enclosing_corners  (const AmitkVolume *volume,
                                                             const AmitkSpace *space,
                                                             AmitkCorners return_corners);
    gboolean            amitk_volumes_get_enclosing_corners (const GList *volumes,
                                                             const AmitkSpace *space,
                                                             AmitkCorners return_corners);
    gboolean            amitk_volume_volume_intersection_corners
                                                            (const AmitkVolume *volume1,
                                                             const AmitkVolume *volume2,
                                                             AmitkCorners return_corners);
    amide_real_t        amitk_volumes_get_max_size          (GList *objects);
    gboolean            amitk_volumes_calc_display_volume   (const GList *volumes,
                                                             const AmitkSpace *space,
                                                             const AmitkPoint view_center,
                                                             const amide_real_t thickness,
                                                             const amide_real_t fov,
                                                             AmitkVolume *volume);

## Description

## Details

### AMITK_VOLUME_CORNER()

    #define AMITK_VOLUME_CORNER(vol)        (AMITK_VOLUME(vol)->corner)

`vol` : |

### AMITK_VOLUME_X_CORNER()

    #define AMITK_VOLUME_X_CORNER(vol)      (AMITK_VOLUME(vol)->corner.x)

`vol` : |

### AMITK_VOLUME_Y_CORNER()

    #define AMITK_VOLUME_Y_CORNER(vol)      (AMITK_VOLUME(vol)->corner.y)

`vol` : |

### AMITK_VOLUME_Z_CORNER()

    #define AMITK_VOLUME_Z_CORNER(vol)      (AMITK_VOLUME(vol)->corner.z)

`vol` : |

### AMITK_VOLUME_VALID()

    #define AMITK_VOLUME_VALID(vol)         (AMITK_VOLUME(vol)->valid)

`vol` : |

### AmitkVolume

    typedef struct AmitkVolume AmitkVolume;

### amitk_volume_new ()

    AmitkVolume*        amitk_volume_new                    (void);

Returns : |

### amitk_volume_point_in_bounds ()

    gboolean            amitk_volume_point_in_bounds        (const AmitkVolume *volume,
                                                             const AmitkPoint point);

`volume` : |
`point` : |
Returns : |

### amitk_volume_place_in_bounds ()

    AmitkPoint          amitk_volume_place_in_bounds        (const AmitkVolume *volume,
                                                             const AmitkPoint point);

`volume` : |
`point` : |
Returns : |

### amitk_volume_get_center ()

    AmitkPoint          amitk_volume_get_center             (const AmitkVolume *volume);

`volume` : |
Returns : |

### amitk_volume_set_corner ()

    void                amitk_volume_set_corner             (AmitkVolume *volume,
                                                             AmitkPoint corner);

`volume` : |
`corner` : |

### amitk_volume_set_z_corner ()

    void                amitk_volume_set_z_corner           (AmitkVolume *volume,
                                                             amide_real_t z);

`volume` : |
`z` : |

### amitk_volume_set_center ()

    void                amitk_volume_set_center             (AmitkVolume *volume,
                                                             const AmitkPoint center);

`volume` : |
`center` : |

### amitk_volume_get_enclosing_corners ()

    void                amitk_volume_get_enclosing_corners  (const AmitkVolume *volume,
                                                             const AmitkSpace *space,
                                                             AmitkCorners return_corners);

`volume` : |
`space` : |
`return_corners` : |

### amitk_volumes_get_enclosing_corners ()

    gboolean            amitk_volumes_get_enclosing_corners (const GList *volumes,
                                                             const AmitkSpace *space,
                                                             AmitkCorners return_corners);

`volumes` : |
`space` : |
`return_corners` : |
Returns : |

### amitk_volume_volume_intersection_corners ()

    gboolean            amitk_volume_volume_intersection_corners
                                                            (const AmitkVolume *volume1,
                                                             const AmitkVolume *volume2,
                                                             AmitkCorners return_corners);

`volume1` : |
`volume2` : |
`return_corners` : |
Returns : |

### amitk_volumes_get_max_size ()

    amide_real_t        amitk_volumes_get_max_size          (GList *objects);

`objects` : |
Returns : |

### amitk_volumes_calc_display_volume ()

    gboolean            amitk_volumes_calc_display_volume   (const GList *volumes,
                                                             const AmitkSpace *space,
                                                             const AmitkPoint view_center,
                                                             const amide_real_t thickness,
                                                             const amide_real_t fov,
                                                             AmitkVolume *volume);

`volumes` : |
`space` : |
`view_center` : |
`thickness` : |
`fov` : |
`volume` : |
Returns : |