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 Types inherited from RefBase

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
- Public Member Functions inherited from RefBase
void ref () const
 Used by boost::intrusive_pointer.
size_t refcnt ()
 Used by boost::intrusive_pointer.
void unref () const
 Used by boost::intrusive_pointer.
 RefBase ()
 RefBase (const RefBase &)
 Copy constructor.
RefBaseoperator= (const RefBase &)
 Assignment operator.
virtual ~RefBase ()
 Destructor.
virtual bool checkRTTI (const char *typenameStr)=0
 This function is only implemented by concrete classes and triggers the actual RTTI check through matchRTTI();.
bool matchRTTI (const char *typenameStr)
 Performs a check to see if the given typename string matches this class' This needs to be implemented in -all- subclasses, even abstract ones.

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 ( )
inlinestatic

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

File::Partition::DEFINE_FIELD_RTTI_CONCRETE_CLASS

Definition at line 155 of file Field3DFile.h.

std::string File::Partition::name

Name of the partition.

Definition at line 198 of file Field3DFile.h.

FieldMapping::Ptr File::Partition::mapping

Pointer to the mapping object.

Definition at line 200 of file Field3DFile.h.

ScalarLayerList File::Partition::m_scalarLayers
private

The scalar-valued layers belonging to this partition.

Definition at line 207 of file Field3DFile.h.

VectorLayerList File::Partition::m_vectorLayers
private

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: