VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtExternalCloudLayer Class Reference

Distributable object that can be used to add cloud layers to any existing cloud cover, including the cloud cover manager's special 'External' Cover (see DtCloudCoverManager.h for details). More...

Public Member Functions

 DtExternalCloudLayer (DtDe &de, DtUniqueID agentId)
 CTOR. More...
 
virtual ~DtExternalCloudLayer ()
 DTOR. More...
 
virtual DtUniqueID agentId () const
 Return the unique agent id assigned to this distributable object by the agent manager. More...
 
virtual
DtCloudTypeMapper::CloudType 
type () const
 Get the cloud layer's cloud type. More...
 
virtual const DtVectorposition () const
 Get the cloud layer position in local coordinates. More...
 
virtual float orientation () const
 Get the cloud layer orientation, in radius (0 N, Pi/2 E) More...
 
virtual float cornerRadius () const
 Get the cloud layer corner radius. More...
 
virtual double width () const
 Get the width of the cloud box. More...
 
virtual double length () const
 Get the length of the cloud box. More...
 
virtual double thickness () const
 Get the thickness (height) of the cloud box. More...
 
virtual float density () const
 Get the density of the cloud layer (0. - 1.) More...
 
virtual bool enabled () const
 Get the cloud layer's enabled flag. More...
 
virtual bool infinite () const
 Get whether the cloud layer is infinite (ignoring the length and width). More...
 
virtual bool cameraRelative () const
 Get whether the position is relative to the current camera (observer) position. More...
 
virtual DtCloudLayerId layerid () const
 Get the layer id assigned to our cloud layer by the cloud cover manager. More...
 
virtual void setType (int type)
 The External Cloud Layer's Distributed Interface (these are the methods that can be called from a DtExternalCloudLayerAgent) More...
 
virtual void setPositionAndOrientation (const DtVector &position, float orientation)
 Set the cloud layer position in local (database) coordinates if the cameraRelative is false (the default). More...
 
virtual void setWidth (double w)
 Set the width of the cloud box. More...
 
virtual void setLength (double l)
 Set the length of the cloud box This method does not automatically update the cloud layer to the cloud cover manager, because it will cause the layer to be recreated. More...
 
virtual void setCornerRadius (float r)
 Set the corner radius of the cloud layer. More...
 
virtual void setThickness (double t)
 Set the thickness (height) of the cloud box This method does not automatically update the cloud layer to the cloud cover manager, because it will cause the layer to be recreated. More...
 
virtual void setDensity (float density)
 Set the density of the cloud layer (0. More...
 
virtual void setEnabled (bool enabled)
 Set the enabled state of the cloud layer. More...
 
virtual void setInfinite (bool infinite)
 Set whether the cloud layer is infinite. The default is false. More...
 
virtual void setCameraRelative (bool relative)
 Set whether the position is relative to the camera position. The default is false. More...
 
virtual void addLayerToCloudCover (const std::string &coverName)
 Add the cloud layer to the specified cloud cover (in the DtCloudCoverManager). More...
 
virtual void removeLayerFromCloudCover ()
 
virtual void updateCloudLayerProperties ()
 Send all cloud layer properties to the cloud cover manager (because some of them have been modified). More...
 

Protected Member Functions

virtual void setLayerId (DtCloudLayerId layerId)
 Set the layer id assigned by the cloud cover manager to the cloud cloud layer being managed. More...
 

Protected Attributes

DtDemyDe
 
DtUniqueID myAgentId
 
DtCloudLayer myCloudLayer
 
DtCloudLayerId myLayerId
 

Private Member Functions

 DtExternalCloudLayer (const DtExternalCloudLayer &orig)
 Copy CTOR is unimplemented because this is an agent-based object and there should only ever be one instance of it with its given agent id. More...
 
DtExternalCloudLayeroperator= (const DtExternalCloudLayer &orig)
 Assignment OP is unimplemented because this is an agent-based object and there should only ever be one instance of it with its given agent id. More...
 

Detailed Description

Distributable object that can be used to add cloud layers to any existing cloud cover, including the cloud cover manager's special 'External' Cover (see DtCloudCoverManager.h for details).

Constructor & Destructor Documentation

makVrv::DtExternalCloudLayer::DtExternalCloudLayer ( DtDe de,
DtUniqueID  agentId 
)

CTOR.

virtual makVrv::DtExternalCloudLayer::~DtExternalCloudLayer ( )
virtual

DTOR.

makVrv::DtExternalCloudLayer::DtExternalCloudLayer ( const DtExternalCloudLayer orig)
private

Copy CTOR is unimplemented because this is an agent-based object and there should only ever be one instance of it with its given agent id.

Member Function Documentation

virtual DtUniqueID makVrv::DtExternalCloudLayer::agentId ( ) const
virtual

Return the unique agent id assigned to this distributable object by the agent manager.

virtual void makVrv::DtExternalCloudLayer::setType ( int  type)
virtual

The External Cloud Layer's Distributed Interface (these are the methods that can be called from a DtExternalCloudLayerAgent)

(We have to use int because the serializer can't handle enumerations correctly) The type value should correspond to one of the cloud layer types defined in DtCloudTypeMapper This method does not automatically update the cloud layer to the cloud cover manager, because it will cause the layer to be recreated. Call updateCloudLayerProperties() after all data that causes a re-create have been specified

virtual void makVrv::DtExternalCloudLayer::setPositionAndOrientation ( const DtVector position,
float  orientation 
)
virtual

Set the cloud layer position in local (database) coordinates if the cameraRelative is false (the default).

Otherwise, set the position relative to the camera position

virtual void makVrv::DtExternalCloudLayer::setWidth ( double  w)
virtual

Set the width of the cloud box.

This method does not automatically update the cloud layer to the cloud cover manager, because it will cause the layer to be recreated. Call updateCloudLayerProperties() after all data that causes a re-create have been specified This method does not automatically update the cloud layer to the cloud cover manager, because it will cause the layer to be recreated. Call updateCloudLayerProperties() after all data that causes a re-create have been specified

virtual void makVrv::DtExternalCloudLayer::setLength ( double  l)
virtual

Set the length of the cloud box This method does not automatically update the cloud layer to the cloud cover manager, because it will cause the layer to be recreated.

Call updateCloudLayerProperties() after all data that causes a re-create have been specified

virtual void makVrv::DtExternalCloudLayer::setCornerRadius ( float  r)
virtual

Set the corner radius of the cloud layer.

This method does not automatically update the cloud layer to the cloud cover manager, because it will cause the layer to be recreated. Call updateCloudLayerProperties() after all data that causes a re-create have been specified

virtual void makVrv::DtExternalCloudLayer::setThickness ( double  t)
virtual

Set the thickness (height) of the cloud box This method does not automatically update the cloud layer to the cloud cover manager, because it will cause the layer to be recreated.

Call updateCloudLayerProperties() after all data that causes a re-create have been specified

virtual void makVrv::DtExternalCloudLayer::setDensity ( float  density)
virtual

Set the density of the cloud layer (0.

  • 1.) This method does not automatically update the cloud layer to the cloud cover manager, because it will cause the layer to be recreated. Call updateCloudLayerProperties() after all data that causes a re-create have been specified
virtual void makVrv::DtExternalCloudLayer::setEnabled ( bool  enabled)
virtual

Set the enabled state of the cloud layer.

Creating a cloud layer can cause stalls. Consider creating cloud layers at startup and then enabling/disabling as needed.

virtual void makVrv::DtExternalCloudLayer::setInfinite ( bool  infinite)
virtual

Set whether the cloud layer is infinite. The default is false.

virtual void makVrv::DtExternalCloudLayer::setCameraRelative ( bool  relative)
virtual

Set whether the position is relative to the camera position. The default is false.

virtual void makVrv::DtExternalCloudLayer::addLayerToCloudCover ( const std::string &  coverName)
virtual

Add the cloud layer to the specified cloud cover (in the DtCloudCoverManager).

This only needs to be called once, after the cloud layer properties have been specified.

virtual void makVrv::DtExternalCloudLayer::removeLayerFromCloudCover ( )
virtual
virtual void makVrv::DtExternalCloudLayer::updateCloudLayerProperties ( )
virtual

Send all cloud layer properties to the cloud cover manager (because some of them have been modified).

This will cause the cloud layer to be re-created. You should not need to call this for changes to position or enable state.

virtual DtCloudTypeMapper::CloudType makVrv::DtExternalCloudLayer::type ( ) const
virtual

Get the cloud layer's cloud type.

virtual const DtVector& makVrv::DtExternalCloudLayer::position ( ) const
virtual

Get the cloud layer position in local coordinates.

virtual float makVrv::DtExternalCloudLayer::orientation ( ) const
virtual

Get the cloud layer orientation, in radius (0 N, Pi/2 E)

virtual float makVrv::DtExternalCloudLayer::cornerRadius ( ) const
virtual

Get the cloud layer corner radius.

virtual double makVrv::DtExternalCloudLayer::width ( ) const
virtual

Get the width of the cloud box.

virtual double makVrv::DtExternalCloudLayer::length ( ) const
virtual

Get the length of the cloud box.

virtual double makVrv::DtExternalCloudLayer::thickness ( ) const
virtual

Get the thickness (height) of the cloud box.

virtual float makVrv::DtExternalCloudLayer::density ( ) const
virtual

Get the density of the cloud layer (0. - 1.)

virtual bool makVrv::DtExternalCloudLayer::enabled ( ) const
virtual

Get the cloud layer's enabled flag.

virtual bool makVrv::DtExternalCloudLayer::infinite ( ) const
virtual

Get whether the cloud layer is infinite (ignoring the length and width).

virtual bool makVrv::DtExternalCloudLayer::cameraRelative ( ) const
virtual

Get whether the position is relative to the current camera (observer) position.

virtual DtCloudLayerId makVrv::DtExternalCloudLayer::layerid ( ) const
virtual

Get the layer id assigned to our cloud layer by the cloud cover manager.

This is only valid after calling addLayerToCloudCover(). Until then, this will return DtCloudLayerIdUndefined (defined in DtCloudCoverManager.h)

DtExternalCloudLayer& makVrv::DtExternalCloudLayer::operator= ( const DtExternalCloudLayer orig)
private

Assignment OP is unimplemented because this is an agent-based object and there should only ever be one instance of it with its given agent id.

virtual void makVrv::DtExternalCloudLayer::setLayerId ( DtCloudLayerId  layerId)
protectedvirtual

Set the layer id assigned by the cloud cover manager to the cloud cloud layer being managed.

Member Data Documentation

DtDe& makVrv::DtExternalCloudLayer::myDe
protected
DtUniqueID makVrv::DtExternalCloudLayer::myAgentId
protected
DtCloudLayer makVrv::DtExternalCloudLayer::myCloudLayer
protected
DtCloudLayerId makVrv::DtExternalCloudLayer::myLayerId
protected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)