Cellular Cloud Node

class CellularCloudNode : public simul::clouds::CellularCloudGrid

A cloud class based on cellular automata.

Don’t create a CellularCloudNode directly, instead, use the derived class FastCloudNode.

Public Functions

Density of clouds for rendering Phase(in daytime units, one day=one unit) an offset to start of noise function") META_Property(simul const float* GetTransformLightspaceToCloudspaceMatrix (unsigned axis, const math::Vector3 &dir, const math::Vector3 &origin, const math::Vector3 &scales, float cloud_base_z, float w, float h) const

Get a 4x4 matrix to transform from lightspace to cloudspace.

simul::math::NoiseInterface *GetNoiseInterface()

Get a pointer to the noise memory interface.

inline void SetRecalculate(bool r)

Recalculate and reinitialise the cloud grid with updated values.

void SetRelight()

Force relighting of the volume. Usually unnecessary.

inline virtual bool NeedsRelight() const

Have properties changed that cause relighting to be necessary - either the light has moved or the cloud density grid has changed.

virtual int GetGenerationNumber() const

A number that is changed every time the clouds are regenerated.

virtual void GetExtents(simul::math::Vector3 &X1, simul::math::Vector3 &X2, float cloud_base_z, float w, float h) const

Get the physical extents of the cloud volume in the x, y and z directions.

virtual simul::math::Vector3 GetOrigin(math::Vector3 windOffset, float cloud_base_z, float w) const

Get the effective origin in world co-ordinates, including wind offsets:

std::ostream &StreamOut(std::ostream &os) const

Stream/save to the std::osteam os.

std::istream &StreamIn(std::istream &is)

Stream/load from the std::isteam is.

std::ostream &StateStreamOut(std::ostream &os) const

Stream/save to the std::osteam os.

std::istream &StateStreamIn(std::istream &is)

Stream/load from the std::isteam is.

virtual unsigned GetMemoryUsage() const

Get the amount of memory used by this class instance, in bytes.