Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

VolumeSet Class Reference

This class is managing several volumes. More...

#include <VolSet.h>

Collaboration diagram for VolumeSet:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 VolumeSet (int nvolumes=0)
 Constructor.
 ~VolumeSet ()
 Destructor.
void createVolumes (int nvolumes=0, bool initFilter=false)
 Init member variables, initialize volume array.
void clearSlice (void)
 Free the memory of the slice.
void computeSlice (dword x_stop, dword y_stop, dword x_pass, dword y_pass)
 computes Slices from all Volumes
Volumeoperator[] (dword index)
 Returns a Volume of the Array.
const Volumeoperator[] (dword index) const
 Returns a Volume of the Array (const accessor).
void rotateSliceX (float alpha)
 The rotations are local to the slice.
void rotateSliceY (float alpha)
 The rotations are local to the slice.
void rotateSliceZ (float alpha)
 The rotations are local to the slice.
void setCamera (const vuCamera &cam)
 Set the coordinate system of the camera to be the one of the slice.
void setSliceScale (float scale)
 Scale brightness of the slice.
void setSliceBias (float bias)
 Set slice bias.
bool setFilter (int num)
 Set the filter by number.
bool setFilter (SpecFVRNS::Filter *filter)
 Set the filter.
bool read (char *in, float s=1.0, float m_pad=1.0f, dword a_pad=0)
 Read the volume.
void buildColourVolumes (byte *data, dword xsize, dword ysize, dword zsize, dword dsize, const vuTFIntensity &tfunc, float osamp=1.0f, float m_pad=1.0f, dword a_pad=0)
 Remap and transform volume data to frequency domain.
bool write_fvr (char *fn)
 write the frequency volume

Public Attributes

int m_NVolumes
 Number of volumes.
SpecFVRNS::Filterm_Filter
 Filter used for slice extraction.
Volume ** m_Volumes
 Array of Volume pointers.
bool m_Recomp
 Recompute slice.

Protected Member Functions

void destroyData (bool destroyFilter=false)
 clean up the memory

Detailed Description

This class is managing several volumes.

Each volume is representing a channel for a spectral colour model or RGB.

Definition at line 17 of file VolSet.h.


Constructor & Destructor Documentation

VolumeSet::VolumeSet int  nvolumes = 0  ) 
 

Constructor.

Number of volumes (default = 0) can later be changed.

Definition at line 6 of file VolSet.cpp.

References createVolumes(), m_Filter, and m_Volumes.

Here is the call graph for this function:

VolumeSet::~VolumeSet  ) 
 

Destructor.

Definition at line 13 of file VolSet.cpp.

References destroyData().

Here is the call graph for this function:


Member Function Documentation

void VolumeSet::buildColourVolumes byte data,
dword  xsize,
dword  ysize,
dword  zsize,
dword  dsize,
const vuTFIntensity tfunc,
float  osamp = 1.0f,
float  m_pad = 1.0f,
dword  a_pad = 0
 

Remap and transform volume data to frequency domain.

Using transfer function for remapping. If m_SingleChannel is true the tfunc won't be used and only a conventional one channel FVR is performed.

Definition at line 154 of file VolSet.cpp.

References Volume::convert(), createVolumes(), data, vuTFIntensity::getNComponents(), m_Filter, m_Volumes, and Volume::setFilter().

Referenced by vu1112118::preprocess().

Here is the call graph for this function:

void VolumeSet::clearSlice void   )  [inline]
 

Free the memory of the slice.

Definition at line 32 of file VolSet.h.

References ITERATE_VOLS.

Referenced by vu1112118::reset_refine().

void VolumeSet::computeSlice dword  x_stop,
dword  y_stop,
dword  x_pass,
dword  y_pass
[inline]
 

computes Slices from all Volumes

Definition at line 38 of file VolSet.h.

References ITERATE_VOLS.

Referenced by vu1112118::keyboard(), and vu1112118::render().

void VolumeSet::createVolumes int  nvolumes = 0,
bool  initFilter = false
 

Init member variables, initialize volume array.

If initFilter is true, the Filter will also be deleted.

Definition at line 18 of file VolSet.cpp.

References destroyData(), m_Filter, m_NVolumes, m_Recomp, m_Volumes, and setFilter().

Referenced by buildColourVolumes(), read(), and VolumeSet().

Here is the call graph for this function:

void VolumeSet::destroyData bool  destroyFilter = false  )  [protected]
 

clean up the memory

Definition at line 39 of file VolSet.cpp.

References m_Filter, and m_Volumes.

Referenced by createVolumes(), and ~VolumeSet().

const Volume* VolumeSet::operator[] dword  index  )  const [inline]
 

Returns a Volume of the Array (const accessor).

Definition at line 53 of file VolSet.h.

Volume* VolumeSet::operator[] dword  index  )  [inline]
 

Returns a Volume of the Array.

Definition at line 44 of file VolSet.h.

bool VolumeSet::read char *  in,
float  s = 1.0,
float  m_pad = 1.0f,
dword  a_pad = 0
 

Read the volume.

Definition at line 109 of file VolSet.cpp.

References createVolumes().

Referenced by vu1112118::read().

Here is the call graph for this function:

void VolumeSet::rotateSliceX float  alpha  )  [inline]
 

The rotations are local to the slice.

Definition at line 62 of file VolSet.h.

References ITERATE_VOLS.

Referenced by vu1112118::keyboard().

void VolumeSet::rotateSliceY float  alpha  )  [inline]
 

The rotations are local to the slice.

Definition at line 66 of file VolSet.h.

References ITERATE_VOLS.

Referenced by vu1112118::keyboard().

void VolumeSet::rotateSliceZ float  alpha  )  [inline]
 

The rotations are local to the slice.

Definition at line 70 of file VolSet.h.

References ITERATE_VOLS.

Referenced by vu1112118::keyboard().

void VolumeSet::setCamera const vuCamera cam  )  [inline]
 

Set the coordinate system of the camera to be the one of the slice.

Definition at line 74 of file VolSet.h.

References ITERATE_VOLS.

Referenced by vu1112118::render().

bool VolumeSet::setFilter SpecFVRNS::Filter filter  ) 
 

Set the filter.

The class becomes owner of the Filter, so don't delete it!

Definition at line 92 of file VolSet.cpp.

References m_Filter, m_Recomp, m_Volumes, and Volume::setFilter().

Here is the call graph for this function:

bool VolumeSet::setFilter int  num  ) 
 

Set the filter by number.

Definition at line 61 of file VolSet.cpp.

References FILTER_SET_SUB, and m_Recomp.

Referenced by createVolumes(), vu1112118::keyboard(), vu1112118::preprocess(), and vu1112118::vu1112118().

void VolumeSet::setSliceBias float  bias  )  [inline]
 

Set slice bias.

Definition at line 82 of file VolSet.h.

References ITERATE_VOLS.

void VolumeSet::setSliceScale float  scale  )  [inline]
 

Scale brightness of the slice.

Definition at line 78 of file VolSet.h.

References ITERATE_VOLS.

Referenced by vu1112118::keyboard(), and vu1112118::preprocess().

bool VolumeSet::write_fvr char *  fn  ) 
 

write the frequency volume

Definition at line 146 of file VolSet.cpp.

References m_NVolumes, m_Volumes, and Volume::write_fvr().

Referenced by vu1112118::write_fvr().

Here is the call graph for this function:


Member Data Documentation

SpecFVRNS::Filter* VolumeSet::m_Filter
 

Filter used for slice extraction.

Definition at line 116 of file VolSet.h.

Referenced by buildColourVolumes(), createVolumes(), destroyData(), setFilter(), and VolumeSet().

int VolumeSet::m_NVolumes
 

Number of volumes.

Definition at line 115 of file VolSet.h.

Referenced by createVolumes(), vu1112118::updateSImage(), and write_fvr().

bool VolumeSet::m_Recomp
 

Recompute slice.

Definition at line 118 of file VolSet.h.

Referenced by createVolumes(), vu1112118::doRefresh(), vu1112118::keyboard(), vu1112118::preprocess(), vu1112118::render(), and setFilter().

Volume** VolumeSet::m_Volumes
 

Array of Volume pointers.

Definition at line 117 of file VolSet.h.

Referenced by buildColourVolumes(), createVolumes(), destroyData(), setFilter(), VolumeSet(), and write_fvr().


The documentation for this class was generated from the following files:
Generated on Wed Dec 15 21:21:03 2004 for vuVolume by  doxygen 1.3.9.1