VR-Forces Developer's Guide
 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).

Public Member Functions

 DtExternalCloudLayer (DtDe &de, DtUniqueID agentId)
 
virtual ~DtExternalCloudLayer ()
 
virtual DtUniqueID agentId () const
 
virtual
DtCloudTypeMapper::CloudType 
type () const
 
virtual const DtVector & position () const
 
virtual float orientation () const
 
virtual float cornerRadius () const
 
virtual double width () const
 
virtual double length () const
 
virtual double thickness () const
 
virtual float density () const
 
virtual bool enabled () const
 
virtual bool infinite () const
 
virtual bool cameraRelative () const
 
virtual DtCloudLayerId layerid () const
 
virtual void setType (int type)
 
virtual void setPositionAndOrientation (const DtVector &position, float orientation)
 
virtual void setWidth (double w)
 
virtual void setLength (double l)
 
virtual void setCornerRadius (float r)
 
virtual void setThickness (double t)
 
virtual void setDensity (float density)
 
virtual void setEnabled (bool enabled)
 
virtual void setInfinite (bool infinite)
 
virtual void setCameraRelative (bool relative)
 
virtual void addLayerToCloudCover (const std::string &coverName)
 
virtual void removeLayerFromCloudCover ()
 
virtual void updateCloudLayerProperties ()
 

Protected Member Functions

virtual void setLayerId (DtCloudLayerId layerId)
 

Protected Attributes

DtDemyDe
 
DtUniqueID myAgentId
 
DtCloudLayer myCloudLayer
 
DtCloudLayerId myLayerId
 

Private Member Functions

 DtExternalCloudLayer (const DtExternalCloudLayer &orig)
 
DtExternalCloudLayeroperator= (const DtExternalCloudLayer &orig)
 

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

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::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 Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)