SilverLining: SilverLining::CloudLayerFactory Class Reference

# SilverLining::CloudLayerFactory Class Reference

A class factory for CloudLayer objects. More...

`#include <CloudLayerFactory.h>`

Inherits SilverLining::MemObject.

Collaboration diagram for SilverLining::CloudLayerFactory:
[legend]

List of all members.

## Static Public Member Functions
static CloudLayer *SILVERLINING_API | Create (CloudTypes layerType)
| Instantiate a CloudLayer for a given cloud type.
static bool SILVERLINING_API | Serialize (CloudLayer *layer, std::ostream &stream)
| Flattens a cloud layer to a stream buffer.
static CloudLayer *SILVERLINING_API | Unserialize (const Atmosphere &atm, std::istream &stream)
| Restores a cloud layer from a stream buffer written with Serialize().

## Detailed Description

A class factory for CloudLayer objects.

Call CloudLayerFactory::Create to instantiate a CloudLayer object, which may then be configured, seeded, and submitted to the AtmosphericConditions. CloudLayer is a virtual base class, so this is the only mechanism for creating specific cloud layer types.

## Member Function Documentation

static CloudLayer* SILVERLINING_API SilverLining::CloudLayerFactory::Create | ( | CloudTypes | layerType | ) | `[static]`

Instantiate a CloudLayer for a given cloud type.

Currently supported CloudTypes include:

- CloudTypes::CIRROCUMULUS - High planar cloud puffs.
- CloudTypes::CIRRUS_FIBRATUS - High, wispy cirrus clouds.
- CloudTypes::STRATUS - Low clouds represented as a slab.
- CloudTypes::CUMULONIMBUS_CAPPILATUS - A large thunderhead with lightning and rain.
- CloudTypes::CUMULUS_MEDIOCRIS - Small, puffy clouds.
- CloudTypes::CUMULUS_CONGESTUS - Larger cumulus clouds with flattened bottoms.

Parameters:

  | layerType | The type of cloud deck to create, must be of the CloudTypes enumeration.

Returns:
  A pointer to a new CloudLayer for the specified type.

static bool SILVERLINING_API SilverLining::CloudLayerFactory::Serialize | ( | CloudLayer * | layer,
|  | std::ostream & | stream |
| ) |  |  | `[static]`

Flattens a cloud layer to a stream buffer.

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

- /home/fkane/sl/trunk/Public Headers/CloudLayerFactory.h