VR-Vantage 2.6 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtChannel.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>
16 #include <boost/signals.hpp>
17 
18 namespace makVrv
19 {
20  class DtDe;
21  class DtWindow;
22  class DtObserverObject;
23  class DtMouseEvent;
24  class DtKeyEvent;
25  class DtSensor;
26 
30  {
31 
32  protected:
35 
36  public:
37 
39  virtual ~DtChannel();
40 
42  DtObserverObject* findObserver() const;
43 
45  unsigned int currentModelSet() const;
46 
48  virtual void setClearColor(float r,float g,float b, float a) = 0;
49 
51  virtual void setViewport(int x,int y,int width, int height) = 0;
52 
54  virtual void getViewport(int& x,int& y, int& width,int& height) const = 0;
55 
57  virtual void setWindow(DtWindow*) = 0;
58 
60  virtual void setCameraPosition(double x, double y, double z) = 0;
61 
63  virtual const DtWindow* window() const = 0;
64 
67  virtual void setChannelEnabled(bool enabled) = 0;
68 
71  virtual bool channelEnabled() const = 0;
72 
74  virtual void update() = 0;
75 
77  const DtChannelConfiguration& configuration() const;
78 
81  virtual void updateProjection() = 0;
82 
84  virtual void setObserverName( const std::string& observerName );
85 
90  virtual void setSensorName( const std::string& sensorName ) = 0;
91 
94  virtual void setProjectionResizePolicy(
96 
100  projectionResizePolicy() const;
101 
103  virtual bool processMouseEvent( const DtMouseEvent& ev) = 0;
104 
106  virtual bool processKeyboardEvent( const DtKeyEvent& ev) = 0;
107 
110  virtual void projectToScreen( double dbX, double dbY, double dbZ,
111  double& screenX, double& screenY, double& screenZ ) = 0;
112 
114  virtual void projectToWorld( double screenX, double screenY,
115  double& dbX, double& dbY, double& dbZ ) = 0;
116 
118  virtual void moveMouseToScreenLocation( float pixelX, float pixelY ) = 0;
119 
121  std::string& observerName();
122 
124  virtual void screenCapture() = 0;
125 
126  protected:
127  virtual void connectToObserver() = 0;
128 
130  virtual void observerAdded( const std::string& observerName );
132  virtual void observerRemoved( const std::string& observerName );
133 
134  protected:
135 
139 
142  std::string myObserverName;
144 
145  private:
146 
148  DtChannel();
149 
151  DtChannel(const DtChannel&);
152 
154  DtChannel &operator=(const DtChannel &);
155  };
156 
162  {
163 
164  public:
167  static DtChannelCreator& instance(DtDe& theIG);
168 
170  static void registerInstance(DtDe& de, DtChannelCreator* instance);
171 
173  virtual DtChannel* create(DtDe& de, DtWindow* window,
175  };
176 }
int myModelSet
Definition: DtChannel.h:140
Abstract Base class.
Definition: DtWindow.h:25
Virtual base class.
Definition: DtVirtualBaseClass.h:22
This class encapsulates a Key event.
Definition: DtKeyEvent.h:19
DtDe & myDe
Definition: DtChannel.h:136
Contains makVrv::DtChannelConfiguration class.
The abstract channel creator for the abstract channel class.
Definition: DtChannel.h:161
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:22
DtChannelConfiguration & myChannelConfiguration
Definition: DtChannel.h:137
DtObserverObject * myObserver
Definition: DtChannel.h:141
x y t t *t x y t t t x y t t t x *y t *t t x *y t *t t x y t t t x y t t t x *y t *t t x *y t *t *t x y *z t t *t t x *y *z t *t *t t x y z t t t t x *y z t *t t t x * y(z *w))
The abstract Channel Class.
Definition: DtChannel.h:29
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
This abstract base class defines the interface for OS-specific keyboard and mouse event listeners...
Definition: DtObserverObject.h:29
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
x y * z
Definition: exprtk.hpp:9133
DtChannelConfiguration::ProjectionResizePolicy myProjectionResizePolicy
Definition: DtChannel.h:143
std::string myObserverName
Definition: DtChannel.h:142
Base class to provide boost signal/slot management.
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
x y t t *t x y t t t x y t t t x *y t *t t x *y t *t t x y t t t x y t t t x(y+z)
DtSignalConnectionManager myConnections
Definition: DtChannel.h:138
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
ProjectionResizePolicy
Definition: DtChannelConfiguration.h:46
Contains DLL export macros.


Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)