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

Manager owns the forest settings. More...

Inheritance diagram for makVrv::DtForestSettingsManager:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtForestSettingsManager ()
 DTOR.
Setters/getters for settings
virtual void setFarClippingPlane (float farPlane)
virtual float farClippingPlane () const
virtual void set3DLodDistances (float fHigh, float fLow)
virtual float highDetail3dDistance () const
virtual float lowDetail3dDistance () const
virtual void setBillboardDistances (float fStart, float fEnd)
virtual float billboardStartDistance () const
virtual float billboardEndDistance () const
virtual void setTreesEnabled (bool enabled)
virtual bool treesEnabled () const
virtual void setBillboardsEnabled (bool enable)
virtual bool billboardsEnabled () const
virtual void setTreeMeshesEnabled (bool enable)
virtual bool treesMeshesEnabled () const
virtual void setAmbientScalar (float val)
virtual void setDiffuseScalar (float val)
virtual void setSpecularScalar (float val)
virtual void setTransmissionScalar (float val)
virtual void setAlphaScalar (float val)
virtual float ambientScalar () const
virtual float diffuseScalar () const
virtual float specularScalar () const
virtual float transmissionScalar () const
virtual float alphaScalar () const
virtual bool receiveShadows () const
 Set / get whether trees receive shadows.
virtual void setReceiveShadows (bool enable)
Setting Persistence Methods
virtual void setFromRecord (const makArchives::DtForestSettingsRecord &rec)
 Use the settings from the given settings record.
virtual void getRecord (makArchives::DtForestSettingsRecord &rec) const
 Populate the given record with the current settings.
- Public Member Functions inherited from makVrv::DtBaseSettingsManager< makArchives::DtForestSettingsRecord >
 DtBaseSettingsManager (DtDe &de, const std::string &name, const std::string &displayName, const std::string &ext)
 CTOR.
virtual ~DtBaseSettingsManager ()
 Virtual DTOR.
virtual void initializeBackup ()
 Creates a backup of the settings' current state.
- Public Member Functions inherited from makVrv::DtCommonBaseSettingsManager< makArchives::DtForestSettingsRecord >
 DtCommonBaseSettingsManager (DtDe &de, const std::string &name, const std::string &displayName, const std::string &ext)
 CTOR The name, displayName, and extension parameters are used for creating the settings object (DtDeSettings) and backup, and for constructing the filename when readin/writing the records to disk.
virtual ~DtCommonBaseSettingsManager ()
 Virtual DTOR.
virtual void autoSaveIfNecessary ()
 Saves the current settings as defaults if autosave is enabled.
virtual void setAutoSave (bool doit)
 Sets whether autosave is enabled for the settings manager.
virtual bool autoSave () const
 Gets whether autosave is enabled for the settings manager.
virtual void setUseDefaultSettingsRecord (bool useit)
 Sets whether setting initialization should check for a default record.
virtual bool useDefaultSettingsRecord () const
 Gets whether setting initialization should check for a default record.
virtual DtDeSettingssettings ()
 Accessor for the manager's DtDeSettings object.
virtual const DtDeSettingssettings () const
 Accessor for the manager's DtDeSettings object (const).
virtual DtSettingsBackupsettingsBackup ()
 Accessor for the manager's settings backup.
virtual const DtSettingsBackupsettingsBackup () const
 Accessor for the manager's settings backup (const).
virtual void loadDefaults ()
 Initializes the settings and creates a backup.
virtual void saveDefaultSettings ()
 Saves the current settings' state as the default (on disk).
virtual void loadDefaultSettings (bool loadOnlyFactorySettings)
 Loads the default settings from disk.
virtual void importSettings (const std::string &filePath)
 Load the settings' state from the given file.
virtual void exportSettings (const std::string &filePath) const
 Save the current settings' state to the given file.
virtual void getSplitRecord (std::vector< makArchives::DtForestSettingsRecord > &rec, std::vector< std::string > &fileNames)
 For directory support, split the main record into different sub-records and give them each a file name.
virtual void addRecords (makArchives::DtForestSettingsRecord &rec, makArchives::DtForestSettingsRecord &combinedRec)
 For directory support, when reading in a directory, add the records from each file to the combined record.
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor.
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor.

Static Public Member Functions

static DtForestSettingsManagerinstance (DtDe &de)
 Get an instance of the settings manager.

Protected Member Functions

virtual void slot_displayEngineAdded ()
 Because we create an agent (lazily), we need to destroy it when a display engine is added so it can be recreated.
void lazyCreateAgent (void)
 DtForestSettingsManager (DtDe &)
 Protected CTOR ( use instance(..) )

Protected Attributes

makArchives::DtForestSettingsRecord mySettingsRecord
DtForestSettingsSignalermySignaler
DtForestEnvControllerAgent * myForestEnvControllerAgent
DtSignalConnectionManager myConnections

Friends

template<typename ManagerClass >
ManagerClass & defaultManagerInstanceFunction (DtDe &, bool)
 Befriend the manager instance functions for instance retreival/creation.
template<typename ManagerClass >
void defaultManagerRegisterInstanceFunction (DtDe &, ManagerClass *)
 Befriend the manager instance functions for instance retreival/creation.

Additional Inherited Members

- Protected Types inherited from makVrv::DtBaseSettingsManager< makArchives::DtForestSettingsRecord >
typedef DtRecordSettingsBackup
< DtBaseSettingsManager
< makArchives::DtForestSettingsRecord >
, makArchives::DtForestSettingsRecord
RecordBackupType

Detailed Description

Manager owns the forest settings.

Constructor & Destructor Documentation

virtual makVrv::DtForestSettingsManager::~DtForestSettingsManager ( )
virtual

DTOR.

makVrv::DtForestSettingsManager::DtForestSettingsManager ( DtDe )
protected

Protected CTOR ( use instance(..) )

Member Function Documentation

static DtForestSettingsManager& makVrv::DtForestSettingsManager::instance ( DtDe de)
static

Get an instance of the settings manager.

virtual void makVrv::DtForestSettingsManager::setFarClippingPlane ( float  farPlane)
virtual
virtual float makVrv::DtForestSettingsManager::farClippingPlane ( ) const
virtual
virtual void makVrv::DtForestSettingsManager::set3DLodDistances ( float  fHigh,
float  fLow 
)
virtual
virtual float makVrv::DtForestSettingsManager::highDetail3dDistance ( ) const
virtual
virtual float makVrv::DtForestSettingsManager::lowDetail3dDistance ( ) const
virtual
virtual void makVrv::DtForestSettingsManager::setBillboardDistances ( float  fStart,
float  fEnd 
)
virtual
virtual float makVrv::DtForestSettingsManager::billboardStartDistance ( ) const
virtual
virtual float makVrv::DtForestSettingsManager::billboardEndDistance ( ) const
virtual
virtual void makVrv::DtForestSettingsManager::setTreesEnabled ( bool  enabled)
virtual
virtual bool makVrv::DtForestSettingsManager::treesEnabled ( ) const
virtual
virtual void makVrv::DtForestSettingsManager::setBillboardsEnabled ( bool  enable)
virtual
virtual bool makVrv::DtForestSettingsManager::billboardsEnabled ( ) const
virtual
virtual void makVrv::DtForestSettingsManager::setTreeMeshesEnabled ( bool  enable)
virtual
virtual bool makVrv::DtForestSettingsManager::treesMeshesEnabled ( ) const
virtual
virtual void makVrv::DtForestSettingsManager::setAmbientScalar ( float  val)
virtual
virtual void makVrv::DtForestSettingsManager::setDiffuseScalar ( float  val)
virtual
virtual void makVrv::DtForestSettingsManager::setSpecularScalar ( float  val)
virtual
virtual void makVrv::DtForestSettingsManager::setTransmissionScalar ( float  val)
virtual
virtual void makVrv::DtForestSettingsManager::setAlphaScalar ( float  val)
virtual
virtual float makVrv::DtForestSettingsManager::ambientScalar ( ) const
virtual
virtual float makVrv::DtForestSettingsManager::diffuseScalar ( ) const
virtual
virtual float makVrv::DtForestSettingsManager::specularScalar ( ) const
virtual
virtual float makVrv::DtForestSettingsManager::transmissionScalar ( ) const
virtual
virtual float makVrv::DtForestSettingsManager::alphaScalar ( ) const
virtual
virtual bool makVrv::DtForestSettingsManager::receiveShadows ( ) const
virtual

Set / get whether trees receive shadows.

virtual void makVrv::DtForestSettingsManager::setReceiveShadows ( bool  enable)
virtual
virtual void makVrv::DtForestSettingsManager::setFromRecord ( const makArchives::DtForestSettingsRecord rec)
virtual

Use the settings from the given settings record.

Implements makVrv::DtBaseSettingsManager< makArchives::DtForestSettingsRecord >.

virtual void makVrv::DtForestSettingsManager::getRecord ( makArchives::DtForestSettingsRecord rec) const
virtual

Populate the given record with the current settings.

Implements makVrv::DtBaseSettingsManager< makArchives::DtForestSettingsRecord >.

virtual void makVrv::DtForestSettingsManager::slot_displayEngineAdded ( )
protectedvirtual

Because we create an agent (lazily), we need to destroy it when a display engine is added so it can be recreated.

void makVrv::DtForestSettingsManager::lazyCreateAgent ( void  )
protected

Friends And Related Function Documentation

template<typename ManagerClass >
ManagerClass& defaultManagerInstanceFunction ( DtDe de,
bool  allowedInSlave 
)
friend

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retrieval/creation.

  Manager requirements:
  1) Static instance function
  2) Protected DtSignalConnectionManager named myConnections.
  3) Member functioned called loadDefaults which takes no arguments.
     and loads the default settings of the manager or factory from disk.
  4) define defaultManagerInstanceFunction as friend.
  5) define defaultManagerRegisterInstanceFunction as friend (see below).
  5) Protected Constructor which only takes a DtDe reference.
  @code 

class Manager { public: static Manager& instance(DtDe& de); void loadDefaults(); protected: template <typename managerclass>=""> friend ManagerClass& defaultManagerInstanceFunction(DtDe& de, bool); template <typename managerclass>=""> friend void defaultManagerRegisterInstanceFunction(DtDe& de, ManagerClass* mgr) Manager(DtDe&); DtSignalConnectionManager myConnections; };

  Then simply in the implementation of instance call 
  defaultManagerInstanceFunction with the de object and return the return
  value.
  @code 

Manager& Manager::instance(DtDe& de) { return defaultManagerInstanceFunction<Manager>(de); }

template<typename ManagerClass >
void defaultManagerRegisterInstanceFunction ( DtDe de,
ManagerClass *  mgr 
)
friend

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retrieval/creation.

  @code 

static void Manager::registerInstance(DtDe& de, Manager* mgr) { defaultManagerRegisterInstanceFunction(de,mgr); } ...else where call. // Assuming class NewManager : public Manager Manager::registerInstance(de,new NewManager(de));

Member Data Documentation

makArchives::DtForestSettingsRecord makVrv::DtForestSettingsManager::mySettingsRecord
protected
DtForestSettingsSignaler& makVrv::DtForestSettingsManager::mySignaler
protected
DtForestEnvControllerAgent* makVrv::DtForestSettingsManager::myForestEnvControllerAgent
protected
DtSignalConnectionManager makVrv::DtForestSettingsManager::myConnections
protected

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

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)