Field3D

#include <Field3DFile.h>

Inheritance diagram for File::Partition:
RefBase

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
typedef boost::intrusive_ptr
< RefBase
Ptr
 

Public Member Functions

void addScalarLayer (const File::Layer &layer)
 Adds a scalar layer. More...
 
void addVectorLayer (const File::Layer &layer)
 Adds a vector layer. More...
 
void getScalarLayerNames (std::vector< std::string > &names) const
 Gets all the scalar layer names. More...
 
void getVectorLayerNames (std::vector< std::string > &names) const
 Gets all the vector layer names. More...
 
 Partition ()
 Ctor. More...
 
const File::LayerscalarLayer (const std::string &name) const
 Finds a scalar layer. More...
 
const File::LayervectorLayer (const std::string &name) const
 Finds a vector layer. More...
 
From RefBase
virtual std::string className () const
 
- Public Member Functions inherited from RefBase
void ref () const
 Used by boost::intrusive_pointer. More...
 
size_t refcnt ()
 Used by boost::intrusive_pointer. More...
 
void unref () const
 Used by boost::intrusive_pointer. More...
 
 RefBase ()
 
 RefBase (const RefBase &)
 Copy constructor. More...
 
RefBaseoperator= (const RefBase &)
 Assignment operator. More...
 
virtual ~RefBase ()
 Destructor. More...
 
virtual bool checkRTTI (const char *typenameStr)=0
 This function is only implemented by concrete classes and triggers the actual RTTI check through matchRTTI();. More...
 
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. More...
 

Static Public Member Functions

static const char * classType ()
 
- Static Public Member Functions inherited from RefBase
static const char * classType ()
 

Public Attributes

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

Private Types

typedef RefBase base
 Convenience typedef for referring to base class. More...
 

Private Attributes

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

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

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.

166  : RefBase()
167  { }
RefBase()
Definition: RefCount.h:103

Member Function Documentation

static const char* File::Partition::classType ( )
inlinestatic

Definition at line 157 of file Field3DFile.h.

158  {
159  return "Partition";
160  }
std::string Partition::className ( ) const
virtual

Definition at line 206 of file Field3DFile.cpp.

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

Adds a scalar layer.

Definition at line 214 of file Field3DFile.cpp.

215 {
216  m_scalarLayers.push_back(layer);
217 }
ScalarLayerList m_scalarLayers
The scalar-valued layers belonging to this partition.
Definition: Field3DFile.h:207
void Partition::addVectorLayer ( const File::Layer layer)

Adds a vector layer.

Definition at line 222 of file Field3DFile.cpp.

223 {
224  m_vectorLayers.push_back(layer);
225 }
VectorLayerList m_vectorLayers
The vector-valued layers belonging to this partition.
Definition: Field3DFile.h:209
const Layer * Partition::scalarLayer ( const std::string &  name) const

Finds a scalar layer.

Definition at line 230 of file Field3DFile.cpp.

231 {
232  for (ScalarLayerList::const_iterator i = m_scalarLayers.begin();
233  i != m_scalarLayers.end(); ++i) {
234  if (i->name == name)
235  return &(*i);
236  }
237  return NULL;
238 }
std::string name
Name of the partition.
Definition: Field3DFile.h:198
ScalarLayerList m_scalarLayers
The scalar-valued layers belonging to this partition.
Definition: Field3DFile.h:207
const Layer * Partition::vectorLayer ( const std::string &  name) const

Finds a vector layer.

Definition at line 243 of file Field3DFile.cpp.

244 {
245  for (VectorLayerList::const_iterator i = m_vectorLayers.begin();
246  i != m_vectorLayers.end(); ++i) {
247  if (i->name == name)
248  return &(*i);
249  }
250  return NULL;
251 }
VectorLayerList m_vectorLayers
The vector-valued layers belonging to this partition.
Definition: Field3DFile.h:209
std::string name
Name of the partition.
Definition: Field3DFile.h:198
void Partition::getScalarLayerNames ( std::vector< std::string > &  names) const

Gets all the scalar layer names.

Definition at line 256 of file Field3DFile.cpp.

257 {
258  // We don't want to do names.clear() here, since this gets called
259  // inside some loops that want to accumulate names.
260  for (ScalarLayerList::const_iterator i = m_scalarLayers.begin();
261  i != m_scalarLayers.end(); ++i) {
262  names.push_back(i->name);
263  }
264 }
ScalarLayerList m_scalarLayers
The scalar-valued layers belonging to this partition.
Definition: Field3DFile.h:207
void Partition::getVectorLayerNames ( std::vector< std::string > &  names) const

Gets all the vector layer names.

Definition at line 269 of file Field3DFile.cpp.

270 {
271  // We don't want to do names.clear() here, since this gets called
272  // inside some loops that want to accumulate names.
273  for (VectorLayerList::const_iterator i = m_vectorLayers.begin();
274  i != m_vectorLayers.end(); ++i) {
275  names.push_back(i->name);
276  }
277 }
VectorLayerList m_vectorLayers
The vector-valued layers belonging to this partition.
Definition: Field3DFile.h:209

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: