VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOverlayScreenIntervaledTextInstance.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
15 
17 #include <vrvUtil/DtQuat.h>
18 #include <vrvUtil/DtUnicode.h>
19 
20 #include <matrix/vlVector.h>
21 
22 namespace makVrv
23 {
24  class DtTextProxyInterface;
25  class DtQuadProxyInterface;
26  class DtDe;
27  enum class DtModelSetId;
28 
33  {
34  public:
35  using DtScreenIntervaledTextCollection = std::vector<DtUnicode>;
36 
37  public:
38 
41 
44 
46  virtual void createScreenIntervaledTextIfNecessary();
47 
49  virtual void updateScreenIntervaledText();
50 
52  virtual void updateGeometry();
53 
55  virtual void channelUpdated(const DtTacticalGraphicModelUpdaterManager::ChannelUpdateData&);
56 
58  virtual void translateAndUpdateVertex(unsigned int index, const DtVector& position, DtTextProxyInterface* text);
59 
61  virtual void translateAndUpdateVertex(unsigned int index, const DtVector& position, DtQuadProxyInterface* quad);
62 
66  virtual void setChannelInstance(DtChannel* c, DtModelSetId modelSet);
67 
70  virtual void setIsClosedFigure(bool);
71 
73  virtual void setIsScreenIntervaledTextRenderingEnabled(bool);
74 
77  virtual void setScreenIntervaledTextPrefix(const std::string& prefixString);
78 
81  virtual void setScreenIntervaledTextPostfix(const std::string& postfixString);
82 
85  virtual void setScreenIntervaledTextPrefixAndPostFixSeparator(const std::string& separatorString);
86 
90  virtual void setScreenIntervaledTextCollection(DtScreenIntervaledTextCollection);
91 
97  virtual void setScreenIntervaledTextInterval(int intervalInScreenSpaceCM);
98 
100  virtual void setScreenIntervaledTextFont(std::string fontFile, float fontPointSize);
101 
103  virtual void setScreenIntervaledTextColor(float r, float g, float b, float a);
104 
106  virtual void setScreenIntervaledTextBackgroundColor(float r, float g, float b, float a);
107 
109  virtual void setVisible(bool isVisible);
110 
113  virtual void setModelSet(DtModelSetId);
114 
116  virtual void setPosition(int vtx, const DtVector& position);
117 
119  virtual void setRotation(const DtQuat& quat);
120 
122  virtual void setOrigin(const DtVector&);
123 
127  virtual void setGroup(int);
128 
130  virtual DtVector origin() const;
131 
133  virtual void addPoint(const DtVector& point, int index);
134 
136  virtual void removePoint(int index);
137 
139  virtual void setVertsWithVertexList(const DtOverlayPolygonModelInstance::VertexList&);
140 
142  virtual void setVertexList(const vrvTacticalGraphicUtilities::DtVerticesVector& verList);
143 
145  virtual const vrvTacticalGraphicUtilities::DtVerticesVector& vertexList() const;
146 
148  virtual void slot_coordinateSystemChanged();
149 
150  private:
151 
154 
157 
160 
161  protected:
163  std::vector<DtVector> myVertices;
164 
165  std::vector<DtTextProxyInterface*> myScreenIntervaledTextProxies;
166  std::vector<DtQuadProxyInterface*> myScreenIntervaledTextProxiesBackgrounds;
167 
169 
173 
177 
180 
181  float myScreenIntervaledTextFontColor[4];
182  float myScreenIntervaledTextBackgroundColor[4];
183 
184  // Model instance stuff
185  int myGroup;
191 
194  DtCoordinateSystem* myCoordinateSystem = nullptr;
195 
197  };
198 }
DtChannel * myChannelInstance
Definition: DtOverlayScreenIntervaledTextInstance.h:187
std::string myScreenIntervaledTextPostfixString
Definition: DtOverlayScreenIntervaledTextInstance.h:176
voidpf uLong int origin
Definition: ioapi.h:42
std::string myScreenIntervaledTextPrefixPostfixSeparatorString
Definition: DtOverlayScreenIntervaledTextInstance.h:174
std::vector< DtTextProxyInterface * > myScreenIntervaledTextProxies
Definition: DtOverlayScreenIntervaledTextInstance.h:165
DtSignalConnectionManager myConnections
Definition: DtOverlayScreenIntervaledTextInstance.h:196
Contains makVrv:DtTacticalGraphicModelUpdaterManager.
std::vector< DtVector > myVertices
Definition: DtOverlayScreenIntervaledTextInstance.h:163
std::string myScreenIntervaledTextPrefixString
Definition: DtOverlayScreenIntervaledTextInstance.h:175
std::vector< DtVector > DtVerticesVector
Definition: DtTacticalGraphicUtilities.h:25
Class to draw a screen spaced perimeter text on polygons, lines, or other geometry.
Definition: DtOverlayScreenIntervaledTextInstance.h:32
The abstract Channel Class.
Definition: DtChannel.h:35
Structure used to supply data to callback. Provided as structure as contents could change over time...
Definition: DtTacticalGraphicModelUpdaterManager.h:37
DtScreenIntervaledTextCollection myScreenIntervaledTextCollection
Definition: DtOverlayScreenIntervaledTextInstance.h:171
std::string myScreenIntervaledTextFontFile
Definition: DtOverlayScreenIntervaledTextInstance.h:178
int myGroup
Definition: DtOverlayScreenIntervaledTextInstance.h:185
A class for controlling text owned by the TextRenderer.
Definition: DtTextProxyInterface.h:30
A single 2D quadrilateral.
Definition: DtQuadProxyInterface.h:21
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtModelSetId myModelSet
Definition: DtOverlayScreenIntervaledTextInstance.h:186
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtOverlayPolygonModelInstance class definition.
Contains makVrv::DtQuat class.
int myScreenIntervaledTextIntervalInScreenSpaceCM
Definition: DtOverlayScreenIntervaledTextInstance.h:172
std::vector< DtQuadProxyInterface * > myScreenIntervaledTextProxiesBackgrounds
Definition: DtOverlayScreenIntervaledTextInstance.h:166
std::vector< DtUnicode > DtScreenIntervaledTextCollection
Definition: DtOverlayScreenIntervaledTextInstance.h:35
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
bool myIsScreenIntervaledTextRenderingEnabled
Definition: DtOverlayScreenIntervaledTextInstance.h:170
Base class to provide boost signal/slot management.
std::vector< VertexData > VertexList
Definition: DtOverlayPolygonModelInstance.h:74
float myScreenIntervaledTextFontPointSize
Definition: DtOverlayScreenIntervaledTextInstance.h:179
bool myVisibleFlag
Definition: DtOverlayScreenIntervaledTextInstance.h:190
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
A utility Quaternion class.
Definition: DtQuat.h:19
DtVector myOrigin
Definition: DtOverlayScreenIntervaledTextInstance.h:188
DtDe & myDe
Definition: DtOverlayScreenIntervaledTextInstance.h:162
DtModelSetId
Definition: DtModelSetEnums.h:19
bool myIsClosedFigure
Definition: DtOverlayScreenIntervaledTextInstance.h:168
DtQuat myRotation
Definition: DtOverlayScreenIntervaledTextInstance.h:189
Contains DLL export macros.

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)