Public Member Functions | Static Public Member Functions | Private Attributes

chomp::homengin::cubitmap Class Reference

A bitmap buffer stored in the memory, not in a file. More...

#include <cubfiles.h>

Inheritance diagram for chomp::homengin::cubitmap:
chomp::homengin::cubfile

List of all members.

Public Member Functions

 cubitmap (const char *buffer, const int *sizes, int dim)
 The constructor.
int count () const
 How many cubes are there in the set?
bool bitmaptype () const
 Is this a bitmap type of set of cubes?
bool elementary () const
 Is this a set of elementary cubes, as opposed to full cubes?
int readcubes (chomp::homology::CubicalComplex &s) const
 Reads a set of cubical cells from the file.
int readcubes (chomp::homology::SetOfCubes &s) const
 Read a cubical set from the file.
int readcubes (int *&sizes, char *&bytes, int padding=0, bool power2=false) const
 Reads a bitmap from a file.

Static Public Member Functions

static const char * name ()
 The name of this type of a cubical set.
static std::ostream & describe (std::ostream &out)
 Describes this particular type of a set of cubes.
static bool compatible (const char *)
 Verifies if the file format is compatible with this cubfile type.

Private Attributes

const char * buf
 The actual bitmap buffer.
int buflength
 The length of the buffer in bytes.

Detailed Description

A bitmap buffer stored in the memory, not in a file.

Definition at line 783 of file cubfiles.h.


Constructor & Destructor Documentation

chomp::homengin::cubitmap::cubitmap ( const char *  buffer,
const int *  sizes,
int  dim 
) [inline]

The constructor.

Definition at line 843 of file cubfiles.h.

References chomp::homengin::cubfile::_dim, chomp::homengin::cubfile::_max, chomp::homengin::cubfile::_min, and buflength.

                                                                       :
        cubfile ("(memory)"), buf (buffer)
{
        _dim = dim;
        _min. assign (_dim, 0);
        _max. assign (sizes, sizes + _dim);
        if (sizes [0] & 0x1F)
                throw "The x-size of a bitmap must be a multiple of 32.";
        buflength = sizes [0] >> 3;
        for (int i = 1; i < _dim; ++ i)
                buflength *= sizes [i];
        if (buflength <= 0)
                throw "Non-positive buffer size - something went wrong.";
        return;
} /* cubitmap::cubitmap */


Member Function Documentation

bool chomp::homengin::cubitmap::bitmaptype (  )  const [inline, virtual]

Is this a bitmap type of set of cubes?

Reimplemented from chomp::homengin::cubfile.

Definition at line 793 of file cubfiles.h.

        {
                return true;
        }

static bool chomp::homengin::cubitmap::compatible ( const char *   )  [inline, static]

Verifies if the file format is compatible with this cubfile type.

Reimplemented from chomp::homengin::cubfile.

Definition at line 814 of file cubfiles.h.

        {
                return false;
        }

int chomp::homengin::cubitmap::count (  )  const [virtual]

How many cubes are there in the set?

Reimplemented from chomp::homengin::cubfile.

static std::ostream& chomp::homengin::cubitmap::describe ( std::ostream &  out  )  [static]

Describes this particular type of a set of cubes.

Reimplemented from chomp::homengin::cubfile.

bool chomp::homengin::cubitmap::elementary (  )  const [inline, virtual]

Is this a set of elementary cubes, as opposed to full cubes?

Reimplemented from chomp::homengin::cubfile.

Definition at line 799 of file cubfiles.h.

        {
                return false;
        }

static const char* chomp::homengin::cubitmap::name (  )  [inline, static]

The name of this type of a cubical set.

Reimplemented from chomp::homengin::cubfile.

Definition at line 805 of file cubfiles.h.

        {
                return "bitmap buffer (memory)";
        }

int chomp::homengin::cubitmap::readcubes ( chomp::homology::CubicalComplex s  )  const [inline, virtual]

Reads a set of cubical cells from the file.

Reimplemented from chomp::homengin::cubfile.

Definition at line 820 of file cubfiles.h.

        {
                throw "Trying to read a set of cells from a bitmap buffer.";
        }

int chomp::homengin::cubitmap::readcubes ( int *&  sizes,
char *&  bytes,
int  padding = 0,
bool  power2 = false 
) const [virtual]

Reads a bitmap from a file.

Reimplemented from chomp::homengin::cubfile.

int chomp::homengin::cubitmap::readcubes ( chomp::homology::SetOfCubes s  )  const [virtual]

Read a cubical set from the file.

Reimplemented from chomp::homengin::cubfile.


Member Data Documentation

const char* chomp::homengin::cubitmap::buf [private]

The actual bitmap buffer.

Definition at line 834 of file cubfiles.h.

The length of the buffer in bytes.

Definition at line 837 of file cubfiles.h.

Referenced by cubitmap().


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