VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSkyObjectManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrvOsg/vrvOsg.h>
13 #include <vrvUtil/signalslib.h>
14 
15 #include <vrvMath/DtVector3.h>
16 #include <vrvMath/DtVector4.h>
17 
18 #include <string>
19 
20 namespace osg
21 {
22  class Camera;
23 }
24 
25 namespace makVrv
26 {
27  class DtDe;
28  class DtOsgSkyObject;
29 
31  {
32  public:
34  virtual ~DtSkyObjectManager();
35 
37  virtual DtOsgSkyObject* findSkyObject();
38 
40  virtual void registerSkyObject(DtOsgSkyObject* obj);
41 
42  public:
44  virtual Vector4_32 ambientColor(const osg::Camera* osgCamera) const;
45 
47  virtual Vector4_32 diffuseColor(const osg::Camera* osgCamera) const;
48 
50  virtual Vector3_32 lightPosition(const osg::Camera* osgCamera) const;
51 
52  public:
54  static DtSkyObjectManager& instance(DtDe& de);
55 
57  static const std::string& theClassName();
58 
59  boost::signalslib::signal<void( DtOsgSkyObject* )> signal_skyObjectAdded;
60  boost::signalslib::signal<void( DtOsgSkyObject* )> signal_skyObjectToBeRemoved;
61 
62  protected:
65 
66  DtOsgSkyObject* mySkyObject = nullptr;
67  };
68 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Definition: DtSkyObjectManager.h:30
An OSG implementation of the sky.
Definition: DtOsgSkyObject.h:28
4 dimensional vector
3 dimensional vector
Contains makVrv::DtVirtualBaseClass class.
boost::signalslib::signal< void(DtOsgSkyObject *)> signal_skyObjectToBeRemoved
Definition: DtSkyObjectManager.h:60
boost::signalslib::signal< void(DtOsgSkyObject *)> signal_skyObjectAdded
Definition: DtSkyObjectManager.h:59
Contains DLL export macros.
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:72

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)