VR-Forces 4.7 Class Documentation
 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) 2015 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);
52  virtual float billboardStartDistance() const;
53  virtual float billboardEndDistance() const;
54 
55  virtual void setTreesEnabled(bool enabled);
56  virtual bool treesEnabled() const;
57 
58  virtual void setBillboardsEnabled(bool enable);
59  virtual bool billboardsEnabled() const;
60 
61  virtual void setTreeMeshesEnabled(bool enable);
62  virtual bool treesMeshesEnabled() const;
63 
64  virtual void setAmbientScalar(float val);
65  virtual void setDiffuseScalar(float val);
66  virtual void setSpecularScalar(float val);
67  virtual void setTransmissionScalar(float val);
68  virtual void setAlphaScalar(float val);
69 
70  virtual float ambientScalar() const;
71  virtual float diffuseScalar() const;
72  virtual float specularScalar() const;
73  virtual float transmissionScalar() const;
74  virtual float alphaScalar() const;
75 
77 
78  virtual bool receiveShadows() const;
79  virtual void setReceiveShadows(bool enable);
81 
83 
86 
88  virtual void setFromRecord( const makArchives::DtForestSettingsRecord& rec );
89 
91  virtual void getRecord( makArchives::DtForestSettingsRecord& rec ) const;
92 
94 
95  protected:
96 
98  template <typename ManagerClass>
99  friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
100 
102  template <typename ManagerClass>
103  friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
104 
107  virtual void slot_displayEngineAdded();
108 
109  void lazyCreateAgent(void);
110 
113 
114  protected:
115 
118  DtForestEnvControllerAgent* myForestEnvControllerAgent;
120  };
121 
123  {
124  public:
125  static DtForestSettingsSignaler& instance(DtDe&);
126 
127  virtual ~DtForestSettingsSignaler();
128 
129  boost::signal<void (float)> signal_farClippingPlaneSet;
130  boost::signal<void (float, float)> signal_3DLodDistancesSet;
131  boost::signal<void (float, float)> signal_BillboardDistancesSet;
132  boost::signal<void (bool)> signal_TreesEnabled;
133  boost::signal<void (bool)> signal_BillboardsEnabled;
134  boost::signal<void (bool)> signal_TreeMeshesEnabled;
135 
136  boost::signal<void (float)> signal_AmbientScalarSet;
137  boost::signal<void (float)> signal_DiffuseScalarSet;
138  boost::signal<void (float)> signal_SpecularScalarSet;
139  boost::signal<void (float)> signal_TransmissionScalarSet;
140  boost::signal<void (float)> signal_AlphaScalarSet;
141  boost::signal<void (bool)> signal_receiveShadowsSet;
142 
143  protected:
145  };
146 
147 }

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)