VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
80 
82  virtual void setFromRecord( const makArchives::DtForestSettingsRecord& rec );
83 
85  virtual void getRecord( makArchives::DtForestSettingsRecord& rec ) const;
86 
88 
89  protected:
90 
92  template <typename ManagerClass>
93  friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
94 
96  template <typename ManagerClass>
97  friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
98 
101  virtual void slot_displayEngineAdded();
102 
103  void lazyCreateAgent(void);
104 
107 
108  protected:
109 
112  DtForestEnvControllerAgent* myForestEnvControllerAgent;
114  };
115 
117  {
118  public:
119  static DtForestSettingsSignaler& instance(DtDe&);
120 
121  virtual ~DtForestSettingsSignaler();
122 
123  boost::signal<void (float)> signal_farClippingPlaneSet;
124  boost::signal<void (float, float)> signal_3DLodDistancesSet;
125  boost::signal<void (float, float)> signal_BillboardDistancesSet;
126  boost::signal<void (bool)> signal_TreesEnabled;
127  boost::signal<void (bool)> signal_BillboardsEnabled;
128  boost::signal<void (bool)> signal_TreeMeshesEnabled;
129 
130  boost::signal<void (float)> signal_AmbientScalarSet;
131  boost::signal<void (float)> signal_DiffuseScalarSet;
132  boost::signal<void (float)> signal_SpecularScalarSet;
133  boost::signal<void (float)> signal_TransmissionScalarSet;
134  boost::signal<void (float)> signal_AlphaScalarSet;
135 
136  protected:
138  };
139 
140 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)