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.

Definition at line 142 of file Field3DFile.h.


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: