Field3D
File::Partition Class Reference

#include <Field3DFile.h>

Inheritance diagram for File::Partition:
RefBase

List of all members.

Public Types

typedef Partition class_type
typedef boost::intrusive_ptr
< const Partition
CPtr
typedef boost::intrusive_ptr
< Partition
Ptr
typedef std::vector< LayerScalarLayerList
typedef std::vector< LayerVectorLayerList

Public Member Functions

void addScalarLayer (const File::Layer &layer)
 Adds a scalar layer.
void addVectorLayer (const File::Layer &layer)
 Adds a vector layer.
void getScalarLayerNames (std::vector< std::string > &names) const
 Gets all the scalar layer names.
void getVectorLayerNames (std::vector< std::string > &names) const
 Gets all the vector layer names.
 Partition ()
 Ctor.
const File::LayerscalarLayer (const std::string &name) const
 Finds a scalar layer.
const File::LayervectorLayer (const std::string &name) const
 Finds a vector layer.
From RefBase
virtual std::string className () const

Static Public Member Functions

static const char * classType ()

Public Attributes

 DEFINE_FIELD_RTTI_CONCRETE_CLASS
FieldMapping::Ptr mapping
 Pointer to the mapping object.
std::string name
 Name of the partition.

Private Types

typedef RefBase base
 Convenience typedef for referring to base class.

Private Attributes

ScalarLayerList m_scalarLayers
 The scalar-valued layers belonging to this partition.
VectorLayerList m_vectorLayers
 The vector-valued layers belonging to this partition.

Detailed Description

This class represents the partition-level node in a f3D file. The partition contains one "Mapping" and N "Fields" that all share that mapping.


Member Typedef Documentation

Definition at line 146 of file Field3DFile.h.

Definition at line 147 of file Field3DFile.h.

typedef boost::intrusive_ptr<Partition> File::Partition::Ptr

Reimplemented from RefBase.

Definition at line 149 of file Field3DFile.h.

typedef boost::intrusive_ptr<const Partition> File::Partition::CPtr

Definition at line 150 of file Field3DFile.h.

Definition at line 154 of file Field3DFile.h.

typedef RefBase File::Partition::base [private]

Convenience typedef for referring to base class.

Definition at line 214 of file Field3DFile.h.


Constructor & Destructor Documentation

File::Partition::Partition ( ) [inline]

Ctor.

Definition at line 165 of file Field3DFile.h.

    : RefBase() 
  { }

Member Function Documentation

static const char* File::Partition::classType ( ) [inline, static]

Reimplemented from RefBase.

Definition at line 157 of file Field3DFile.h.

  {
    return "Partition";
  }
std::string Partition::className ( ) const [virtual]

Definition at line 206 of file Field3DFile.cpp.

{
  return k_partitionName;
}
void Partition::addScalarLayer ( const File::Layer layer)

Adds a scalar layer.

Definition at line 214 of file Field3DFile.cpp.

{
  m_scalarLayers.push_back(layer);
}
void Partition::addVectorLayer ( const File::Layer layer)

Adds a vector layer.

Definition at line 222 of file Field3DFile.cpp.

{
  m_vectorLayers.push_back(layer);
}
const Layer * Partition::scalarLayer ( const std::string &  name) const

Finds a scalar layer.

Definition at line 230 of file Field3DFile.cpp.

{
  for (ScalarLayerList::const_iterator i = m_scalarLayers.begin();
       i != m_scalarLayers.end(); ++i) {
    if (i->name == name)
      return &(*i);
  }
  return NULL;
}
const Layer * Partition::vectorLayer ( const std::string &  name) const

Finds a vector layer.

Definition at line 243 of file Field3DFile.cpp.

{
  for (VectorLayerList::const_iterator i = m_vectorLayers.begin();
       i != m_vectorLayers.end(); ++i) {
    if (i->name == name)
      return &(*i);
  }
  return NULL;
}
void Partition::getScalarLayerNames ( std::vector< std::string > &  names) const

Gets all the scalar layer names.

Definition at line 256 of file Field3DFile.cpp.

{
  // We don't want to do names.clear() here, since this gets called
  // inside some loops that want to accumulate names.
  for (ScalarLayerList::const_iterator i = m_scalarLayers.begin();
       i != m_scalarLayers.end(); ++i) {
    names.push_back(i->name);
  }
}
void Partition::getVectorLayerNames ( std::vector< std::string > &  names) const

Gets all the vector layer names.

Definition at line 269 of file Field3DFile.cpp.

{
  // We don't want to do names.clear() here, since this gets called
  // inside some loops that want to accumulate names.
  for (VectorLayerList::const_iterator i = m_vectorLayers.begin();
       i != m_vectorLayers.end(); ++i) {
    names.push_back(i->name);
  }
}

Member Data Documentation

std::string File::Partition::name

Name of the partition.

Definition at line 198 of file Field3DFile.h.

Pointer to the mapping object.

Definition at line 200 of file Field3DFile.h.

The scalar-valued layers belonging to this partition.

Definition at line 207 of file Field3DFile.h.

The vector-valued layers belonging to this partition.

Definition at line 209 of file Field3DFile.h.


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