Field3D

#include <Field3DFile.h>

Inheritance diagram for File::Partition:
RefBase

Public Types

typedef Partition class_type
 
typedef boost::intrusive_ptr< const PartitionCPtr
 
typedef boost::intrusive_ptr< PartitionPtr
 
typedef std::vector< LayerScalarLayerList
 
typedef std::vector< LayerVectorLayerList
 
- Public Types inherited from RefBase
typedef boost::intrusive_ptr< RefBasePtr
 

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

◆ ScalarLayerList

Definition at line 146 of file Field3DFile.h.

◆ VectorLayerList

Definition at line 147 of file Field3DFile.h.

◆ Ptr

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

Definition at line 149 of file Field3DFile.h.

◆ CPtr

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

Definition at line 150 of file Field3DFile.h.

◆ class_type

Definition at line 154 of file Field3DFile.h.

◆ base

typedef RefBase File::Partition::base
private

Convenience typedef for referring to base class.

Definition at line 214 of file Field3DFile.h.

Constructor & Destructor Documentation

◆ Partition()

File::Partition::Partition ( )
inline

Ctor.

Definition at line 165 of file Field3DFile.h.

References File::Layer::name.

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

Member Function Documentation

◆ classType()

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

Definition at line 157 of file Field3DFile.h.

158  {
159  return "Partition";
160  }

◆ className()

std::string Partition::className ( ) const
virtual

Definition at line 206 of file Field3DFile.cpp.

207 {
208  return k_partitionName;
209 }

◆ addScalarLayer()

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

◆ addVectorLayer()

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

◆ scalarLayer()

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

◆ vectorLayer()

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

◆ getScalarLayerNames()

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

◆ getVectorLayerNames()

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

◆ DEFINE_FIELD_RTTI_CONCRETE_CLASS

File::Partition::DEFINE_FIELD_RTTI_CONCRETE_CLASS

Definition at line 155 of file Field3DFile.h.

◆ name

std::string File::Partition::name

Name of the partition.

Definition at line 198 of file Field3DFile.h.

◆ mapping

FieldMapping::Ptr File::Partition::mapping

Pointer to the mapping object.

Definition at line 200 of file Field3DFile.h.

◆ m_scalarLayers

ScalarLayerList File::Partition::m_scalarLayers
private

The scalar-valued layers belonging to this partition.

Definition at line 207 of file Field3DFile.h.

◆ m_vectorLayers

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: