VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtForestSettingsManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2020 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
16 
18 
19 namespace makVrv
20 {
21 
22  class DtDe;
23 
24  class DtForestSettingsSignaler;
25 
26  class DtForestEnvControllerAgent;
27 
31  : public DtBaseSettingsManager<makArchives::DtForestSettingsRecord>
32  {
33  public:
34 
36  static DtForestSettingsManager& instance( DtDe& de );
37 
39  virtual ~DtForestSettingsManager();
40 
43 
44  virtual void setFarClippingPlane(float farPlane);
45  virtual float farClippingPlane() const;
46 
47  virtual void set3DLodDistances(float fHigh, float fLow);
48  virtual float highDetail3dDistance() const;
49  virtual float lowDetail3dDistance() const;
50 
51  virtual void setBillboardDistances(float fStart, float fEnd);
53  virtual void setBillboardFadeOutRange(float range);
54  virtual float billboardStartDistance() const;
55  virtual float billboardEndDistance() const;
56 
58  virtual float billboardFadeOutRange() const;
59 
60  virtual void setTreesEnabled(bool enabled);
61  virtual bool treesEnabled() const;
62 
63  virtual void setBillboardsEnabled(bool enable);
64  virtual bool billboardsEnabled() const;
65 
66  virtual void setTreeMeshesEnabled(bool enable);
67  virtual bool treesMeshesEnabled() const;
68 
69  virtual void setAmbientScalar(float val);
70  virtual void setDiffuseScalar(float val);
71  virtual void setSpecularScalar(float val);
72  virtual void setTransmissionScalar(float val);
73  virtual void setAlphaScalar(float val);
74 
75  virtual float ambientScalar() const;
76  virtual float diffuseScalar() const;
77  virtual float specularScalar() const;
78  virtual float transmissionScalar() const;
79  virtual float alphaScalar() const;
80 
82  virtual bool receiveShadows() const;
84  virtual void setReceiveShadows(bool enable);
86 
88 
91 
93  virtual void setFromRecord( const makArchives::DtForestSettingsRecord& rec );
94 
96  virtual void getRecord( makArchives::DtForestSettingsRecord& rec ) const;
97 
99 
100  protected:
101 
103  template <typename ManagerClass>
104  friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
105 
107  template <typename ManagerClass>
108  friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
109 
112  virtual void slot_displayEngineAdded();
113 
114  void lazyCreateAgent(void);
115 
118 
119  protected:
120 
123  DtForestEnvControllerAgent* myForestEnvControllerAgent;
125  };
126 
128  {
129  public:
130  static DtForestSettingsSignaler& instance(DtDe&);
131 
132  virtual ~DtForestSettingsSignaler();
133 
134  boost::signalslib::signal<void (float)> signal_farClippingPlaneSet;
135  boost::signalslib::signal<void (float, float)> signal_3DLodDistancesSet;
136  boost::signalslib::signal<void (float, float)> signal_BillboardDistancesSet;
137  boost::signalslib::signal<void (bool)> signal_TreesEnabled;
138  boost::signalslib::signal<void (bool)> signal_BillboardsEnabled;
139  boost::signalslib::signal<void (bool)> signal_TreeMeshesEnabled;
140 
141  boost::signalslib::signal<void (float)> signal_AmbientScalarSet;
142  boost::signalslib::signal<void (float)> signal_DiffuseScalarSet;
143  boost::signalslib::signal<void (float)> signal_SpecularScalarSet;
144  boost::signalslib::signal<void (float)> signal_TransmissionScalarSet;
145  boost::signalslib::signal<void (float)> signal_AlphaScalarSet;
146  boost::signalslib::signal<void (bool)> signal_receiveShadowsSet;
147 
148  boost::signalslib::signal<void(float)> signal_billboardFadeOutRangeSet;
149  protected:
151  };
152 
153 }
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:271
DtForestSettingsSignaler & mySignaler
Definition: DtForestSettingsManager.h:122
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
boost::signalslib::signal< void(float)> signal_billboardFadeOutRangeSet
Definition: DtForestSettingsManager.h:148
boost::signalslib::signal< void(bool)> signal_TreesEnabled
Definition: DtForestSettingsManager.h:137
DtForestEnvControllerAgent * myForestEnvControllerAgent
Definition: DtForestSettingsManager.h:123
boost::signalslib::signal< void(bool)> signal_receiveShadowsSet
Definition: DtForestSettingsManager.h:146
boost::signalslib::signal< void(bool)> signal_TreeMeshesEnabled
Definition: DtForestSettingsManager.h:139
Record of SpeedTree rendering configuration.
Definition: DtForestSettingsRecord.h:20
boost::signalslib::signal< void(float)> signal_DiffuseScalarSet
Definition: DtForestSettingsManager.h:142
Manager owns the forest settings.
Definition: DtForestSettingsManager.h:30
boost::signalslib::signal< void(float)> signal_TransmissionScalarSet
Definition: DtForestSettingsManager.h:144
boost::signalslib::signal< void(bool)> signal_BillboardsEnabled
Definition: DtForestSettingsManager.h:138
boost::signalslib::signal< void(float)> signal_SpecularScalarSet
Definition: DtForestSettingsManager.h:143
DtSignalConnectionManager myConnections
Definition: DtForestSettingsManager.h:124
boost::signalslib::signal< void(float)> signal_AlphaScalarSet
Definition: DtForestSettingsManager.h:145
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
makArchives::DtForestSettingsRecord mySettingsRecord
Definition: DtForestSettingsManager.h:121
boost::signalslib::signal< void(float, float)> signal_BillboardDistancesSet
Definition: DtForestSettingsManager.h:136
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: DtForestSettingsManager.h:127
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:866
boost::signalslib::signal< void(float, float)> signal_3DLodDistancesSet
Definition: DtForestSettingsManager.h:135
Base class to provide boost signal/slot management.
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function. Manager requirements: 1) Static instance function 2) Protected DtS...
Definition: DtDe.h:828
boost::signalslib::signal< void(float)> signal_farClippingPlaneSet
Definition: DtForestSettingsManager.h:134
Contains makArchives::DtForestSettingsRecord class.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
boost::signalslib::signal< void(float)> signal_AmbientScalarSet
Definition: DtForestSettingsManager.h:141
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)