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

Text-encoded bitcodes. More...

#include <cubfiles.h>

Inheritance diagram for chomp::homengin::bitcodefile:
chomp::homengin::cubfile

Public Member Functions

 bitcodefile (const char *filename)
 The constructor. More...
 
int dim () const
 What is the dimension of the set of cubes? 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
 Reads 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 Member Functions

void analyze () const
 Analyzes the file to determine the number of cubes and the scope of their coordinates. More...
 

Static Private Attributes

static cubfile_traits< bitcodefilet
 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

Text-encoded bitcodes.

Definition at line 519 of file cubfiles.h.

Constructor & Destructor Documentation

◆ bitcodefile()

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

The constructor.

Definition at line 587 of file cubfiles.h.

587 : cubfile (filename)
588{
589 return;
590} /* bitcodefile::bitcodefile */
cubfile(const char *_filename)
The default constructor.
Definition: cubfiles.h:230
const char * filename() const
What is the name of the associated disk file?
Definition: cubfiles.h:78

Member Function Documentation

◆ analyze()

void chomp::homengin::bitcodefile::analyze ( ) const
private

Analyzes the file to determine the number of cubes and the scope of their coordinates.

Referenced by count(), and dim().

◆ bitmaptype()

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

Is this a bitmap type of set of cubes?

Reimplemented from chomp::homengin::cubfile.

Definition at line 542 of file cubfiles.h.

543 {
544 return false;
545 }

◆ compatible()

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

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

◆ count()

int chomp::homengin::bitcodefile::count ( ) const
inlinevirtual

How many cubes are there in the set?

Reimplemented from chomp::homengin::cubfile.

Definition at line 534 of file cubfiles.h.

535 {
536 if (_count < 0)
537 analyze ();
538 return _count;
539 }
void analyze() const
Analyzes the file to determine the number of cubes and the scope of their coordinates.
int _count
The number of cubes in the set, -1 if unknown.
Definition: cubfiles.h:215

References chomp::homengin::cubfile::_count, and analyze().

◆ describe()

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

Describes this particular type of a set of cubes.

◆ dim()

int chomp::homengin::bitcodefile::dim ( ) const
inlinevirtual

What is the dimension of the set of cubes?

Reimplemented from chomp::homengin::cubfile.

Definition at line 526 of file cubfiles.h.

527 {
528 if (_dim <= 0)
529 analyze ();
530 return _dim;
531 }
int _dim
The dimension of the space, 0 if unknown.
Definition: cubfiles.h:212

References chomp::homengin::cubfile::_dim, and analyze().

◆ elementary()

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

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

Reimplemented from chomp::homengin::cubfile.

Definition at line 548 of file cubfiles.h.

549 {
550 return false;
551 }

◆ name()

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

The name of this type of a cubical set.

Definition at line 554 of file cubfiles.h.

555 {
556 return "text bitcodes";
557 }

◆ readcubes() [1/3]

int chomp::homengin::bitcodefile::readcubes ( chomp::homology::CubicalComplex s) const
virtual

Reads a set of cubical cells from the file.

Reimplemented from chomp::homengin::cubfile.

◆ readcubes() [2/3]

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

Reads a cubical set from the file.

Reimplemented from chomp::homengin::cubfile.

◆ readcubes() [3/3]

int chomp::homengin::bitcodefile::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

◆ t

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

Add this type of a cubical set to the list.

Definition at line 581 of file cubfiles.h.


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