Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
vil3d_image_view_base Class Reference

An abstract base class of smart pointers to actual image data in memory. More...

#include <vil3d_image_view_base.h>

Inheritance diagram for vil3d_image_view_base:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~vil3d_image_view_base ()
unsigned ni () const
 Width.
unsigned nj () const
 Height.
unsigned nk () const
 Depth.
unsigned nplanes () const
 Number of planes.
vcl_size_t size () const
 The number of pixels.
virtual void set_size (unsigned ni, unsigned nj, unsigned nk)=0
 resize current planes to ni x nj * nk.
virtual void set_size (unsigned ni, unsigned nj, unsigned nk, unsigned nplanes)=0
 resize to ni x nj * nk with nplanes planes.
virtual void print (vcl_ostream &) const =0
 Print a 1-line summary of contents.
virtual vcl_string is_a () const =0
 Return class name.
virtual enum vil_pixel_format pixel_format () const =0
 Return a description of the concrete data pixel type.
virtual bool is_class (vcl_string const &s) const
 True if this is (or is derived from) class s.

Protected Member Functions

 vil3d_image_view_base (unsigned ni, unsigned nj, unsigned nk, unsigned nplanes)
 vil3d_image_view_base ()
 Default is an empty one-plane image.

Protected Attributes

unsigned ni_
 Number of columns.
unsigned nj_
 Number of rasters.
unsigned nk_
 Number of slices.
unsigned nplanes_
 Number of planes.

Private Member Functions

void ref ()
void unref ()

Private Attributes

int reference_count_

Friends

class vil_smart_ptr< vil3d_image_view_base >

Detailed Description

An abstract base class of smart pointers to actual image data in memory.

If you want an actual image, try instantiating vil3d_image_view<T>.

Definition at line 27 of file vil3d_image_view_base.h.


Constructor & Destructor Documentation

vil3d_image_view_base::vil3d_image_view_base ( unsigned  ni,
unsigned  nj,
unsigned  nk,
unsigned  nplanes 
) [inline, protected]

Definition at line 39 of file vil3d_image_view_base.h.

vil3d_image_view_base::vil3d_image_view_base ( ) [inline, protected]

Default is an empty one-plane image.

Don't set nplanes_ to zero as it confuses set_size(nx,ny,nz) later

Definition at line 44 of file vil3d_image_view_base.h.

virtual vil3d_image_view_base::~vil3d_image_view_base ( ) [inline, virtual]

Definition at line 48 of file vil3d_image_view_base.h.


Member Function Documentation

virtual vcl_string vil3d_image_view_base::is_a ( ) const [pure virtual]

Return class name.

Implemented in vil3d_image_view< T >, and vil3d_image_view< destT >.

virtual bool vil3d_image_view_base::is_class ( vcl_string const &  s) const [inline, virtual]

True if this is (or is derived from) class s.

Reimplemented in vil3d_image_view< T >, and vil3d_image_view< destT >.

Definition at line 83 of file vil3d_image_view_base.h.

unsigned vil3d_image_view_base::ni ( void  ) const [inline]

Width.

Definition at line 51 of file vil3d_image_view_base.h.

unsigned vil3d_image_view_base::nj ( void  ) const [inline]

Height.

Definition at line 53 of file vil3d_image_view_base.h.

unsigned vil3d_image_view_base::nk ( void  ) const [inline]

Depth.

Definition at line 55 of file vil3d_image_view_base.h.

unsigned vil3d_image_view_base::nplanes ( void  ) const [inline]

Number of planes.

Definition at line 57 of file vil3d_image_view_base.h.

virtual enum vil_pixel_format vil3d_image_view_base::pixel_format ( ) const [pure virtual]

Return a description of the concrete data pixel type.

For example if the value is VIL_PIXEL_FORMAT_BYTE, you can safely cast, or assign the base class reference to a vil3d_image_view<vxl_byte>.

Implemented in vil3d_image_view< T >, and vil3d_image_view< destT >.

virtual void vil3d_image_view_base::print ( vcl_ostream &  ) const [pure virtual]

Print a 1-line summary of contents.

Implemented in vil3d_image_view< T >, and vil3d_image_view< destT >.

void vil3d_image_view_base::ref ( ) [inline, private]

Definition at line 89 of file vil3d_image_view_base.h.

virtual void vil3d_image_view_base::set_size ( unsigned  ni,
unsigned  nj,
unsigned  nk 
) [pure virtual]

resize current planes to ni x nj * nk.

If already correct size, this function returns quickly

Implemented in vil3d_image_view< T >, and vil3d_image_view< destT >.

virtual void vil3d_image_view_base::set_size ( unsigned  ni,
unsigned  nj,
unsigned  nk,
unsigned  nplanes 
) [pure virtual]

resize to ni x nj * nk with nplanes planes.

If already correct size, this function returns quickly

Implemented in vil3d_image_view< T >, and vil3d_image_view< destT >.

vcl_size_t vil3d_image_view_base::size ( ) const [inline]

The number of pixels.

Definition at line 60 of file vil3d_image_view_base.h.

void vil3d_image_view_base::unref ( ) [inline, private]

Definition at line 90 of file vil3d_image_view_base.h.


Friends And Related Function Documentation

friend class vil_smart_ptr< vil3d_image_view_base > [friend]

Definition at line 88 of file vil3d_image_view_base.h.


Member Data Documentation

unsigned vil3d_image_view_base::ni_ [protected]

Number of columns.

Definition at line 31 of file vil3d_image_view_base.h.

unsigned vil3d_image_view_base::nj_ [protected]

Number of rasters.

Definition at line 33 of file vil3d_image_view_base.h.

unsigned vil3d_image_view_base::nk_ [protected]

Number of slices.

Definition at line 35 of file vil3d_image_view_base.h.

unsigned vil3d_image_view_base::nplanes_ [protected]

Number of planes.

Definition at line 37 of file vil3d_image_view_base.h.

Definition at line 93 of file vil3d_image_view_base.h.


The documentation for this class was generated from the following file: