The Original CHomP Software
Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | List of all members
chomp::homengin::bmdfile Class Reference

Marian Mrozek's BMD binary file as a set of full cubes. More...

#include <cubfiles.h>

Inheritance diagram for chomp::homengin::bmdfile:
chomp::homengin::cubfile

Public Member Functions

 bmdfile (const char *filename)
 The constructor. More...
 
int count () const
 How many cubes are there in the set? More...
 
bool bitmaptype () const
 Is this a bitmap type of set of cubes? More...
 
bool elementary () const
 Is this a set of elementary cubes, as opposed to full cubes? More...
 
int readcubes (chomp::homology::CubicalComplex &s) const
 Reads a set of cubical cells from the file. More...
 
int readcubes (chomp::homology::SetOfCubes &s) const
 Read a cubical set from the file. More...
 
int readcubes (int *&sizes, char *&bytes, int padding=0, bool power2=false) const
 Reads a bitmap from a file. More...
 
- Public Member Functions inherited from chomp::homengin::cubfile
 cubfile (const char *_filename)
 The default constructor. More...
 
virtual ~cubfile ()
 The destructor. More...
 
const char * filename () const
 What is the name of the associated disk file? More...
 
virtual int dim () const
 What is the dimension of the set of cubes? More...
 
virtual int count () const
 How many cubes are there in the set? More...
 
virtual bool bitmaptype () const
 Is this a bitmap type of set of cubes? More...
 
virtual bool elementary () const
 Is this a set of elementary cubes, as opposed to full cubes? More...
 
virtual bool spacewrapping () const
 Does this set include the definition of space wrapping? More...
 
virtual int * spacewrapping (int *table) const
 Fills in the space wrapping table if applicable. More...
 
virtual void setwrapping (const int *table, int count=0)
 Sets the space wrapping according to the given table. More...
 
virtual int boundingbox (int *mincoord, int *maxcoord) const
 Determines the bounding box of the set of cubes. More...
 
int volume (int chunk=0, bool power2=false) const
 Determine the volume of the bounding box of the set of cubes. More...
 
virtual int readcubes (chomp::homology::CubicalComplex &s) const
 Reads a set of cubical cells from the file. More...
 
virtual int readcubes (chomp::homology::SetOfCubes &s) const
 Reads a set of cubes from the file. More...
 
virtual int readcubes (int *&sizes, char *&bytes, int padding=0, bool power2=false) const
 Reads a bitmap from a file. More...
 

Static Public Member Functions

static const char * name ()
 The name of this type of a cubical set. More...
 
static std::ostream & describe (std::ostream &out)
 Describes this particular type of a set of cubes. More...
 
static bool compatible (const char *filename)
 Verifies if the file format is compatible with this cubfile type. More...
 
- Static Public Member Functions inherited from chomp::homengin::cubfile
static const char * name ()
 The name of this type of a cubical set. More...
 
static std::ostream & describe (std::ostream &out)
 Describes this particular type of a set of cubes. More...
 
static bool compatible (const char *filename)
 Verifies if the file format is compatible with this cubfile type. More...
 

Private Attributes

bmdheader header
 The header of the file. More...
 

Static Private Attributes

static cubfile_traits< bmdfilet
 Add this type of a cubical set to the list. More...
 

Additional Inherited Members

- Protected Attributes inherited from chomp::homengin::cubfile
std::string _filename
 The name of the corresponding disk file. More...
 
int _dim
 The dimension of the space, 0 if unknown. More...
 
int _count
 The number of cubes in the set, -1 if unknown. More...
 
std::vector< int > _min
 The minimal coordinates of the cubes' corners (bounding box). More...
 
std::vector< int > _max
 The maximal coordinates of the cubes' corners (bounding box). More...
 
std::vector< int > _wrapping
 The space wrapping information if any. More...
 

Detailed Description

Marian Mrozek's BMD binary file as a set of full cubes.

Definition at line 710 of file cubfiles.h.

Constructor & Destructor Documentation

◆ bmdfile()

chomp::homengin::bmdfile::bmdfile ( const char *  filename)
inline

The constructor.

Definition at line 767 of file cubfiles.h.

767 : cubfile (filename),
769{
770 _dim = header. dim;
771 _min. assign (_dim, 0);
772 _max. assign (header. width. begin (), header. width. end ());
773 return;
774} /* bmdfile::bmdfile */
bmdheader header
The header of the file.
Definition: cubfiles.h:758
std::vector< int > _min
The minimal coordinates of the cubes' corners (bounding box).
Definition: cubfiles.h:218
std::vector< int > _max
The maximal coordinates of the cubes' corners (bounding box).
Definition: cubfiles.h:221
cubfile(const char *_filename)
The default constructor.
Definition: cubfiles.h:230
virtual int dim() const
What is the dimension of the set of cubes?
Definition: cubfiles.h:84
const char * filename() const
What is the name of the associated disk file?
Definition: cubfiles.h:78
int _dim
The dimension of the space, 0 if unknown.
Definition: cubfiles.h:212

References chomp::homengin::cubfile::_dim, chomp::homengin::cubfile::_max, chomp::homengin::cubfile::_min, chomp::homengin::cubfile::dim(), and header.

Member Function Documentation

◆ bitmaptype()

bool chomp::homengin::bmdfile::bitmaptype ( ) const
inlinevirtual

Is this a bitmap type of set of cubes?

Reimplemented from chomp::homengin::cubfile.

Definition at line 720 of file cubfiles.h.

721 {
722 return true;
723 }

◆ compatible()

static bool chomp::homengin::bmdfile::compatible ( const char *  filename)
static

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

◆ count()

int chomp::homengin::bmdfile::count ( ) const
virtual

How many cubes are there in the set?

Reimplemented from chomp::homengin::cubfile.

◆ describe()

static std::ostream & chomp::homengin::bmdfile::describe ( std::ostream &  out)
static

Describes this particular type of a set of cubes.

◆ elementary()

bool chomp::homengin::bmdfile::elementary ( ) const
inlinevirtual

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

Reimplemented from chomp::homengin::cubfile.

Definition at line 726 of file cubfiles.h.

727 {
728 return false;
729 }

◆ name()

static const char * chomp::homengin::bmdfile::name ( )
inlinestatic

The name of this type of a cubical set.

Definition at line 732 of file cubfiles.h.

733 {
734 return "multi-dimensional bitmap";
735 }

◆ readcubes() [1/3]

int chomp::homengin::bmdfile::readcubes ( chomp::homology::CubicalComplex s) const
inlinevirtual

Reads a set of cubical cells from the file.

Reimplemented from chomp::homengin::cubfile.

Definition at line 744 of file cubfiles.h.

745 {
746 throw "Trying to read a set of cells from a BMD file.";
747 }

◆ readcubes() [2/3]

int chomp::homengin::bmdfile::readcubes ( chomp::homology::SetOfCubes s) const
virtual

Read a cubical set from the file.

Reimplemented from chomp::homengin::cubfile.

◆ readcubes() [3/3]

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

Reads a bitmap from a file.

Reimplemented from chomp::homengin::cubfile.

Member Data Documentation

◆ header

bmdheader chomp::homengin::bmdfile::header
private

The header of the file.

Definition at line 758 of file cubfiles.h.

Referenced by bmdfile().

◆ t

cubfile_traits<bmdfile> chomp::homengin::bmdfile::t
staticprivate

Add this type of a cubical set to the list.

Definition at line 761 of file cubfiles.h.


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