VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTextProxyInterface.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>
13 
14 #include <vrvCore/DtBoundingBox.h>
18 
19 namespace makVrv
20 {
21  class DtUnicode;
22  class DtTextRenderer;
23  class DtTexturedGlyphRenderer;
24  class DtTextLayoutInterface;
25  struct DtQuadsRenderData;
26  struct DtObserverRenderData;
27 
31  {
32 
33  public:
34 
37 
39  virtual ~DtTextProxyInterface();
40 
42  virtual DtTextProxyInterface* clone(DtTextRenderer* parent) const = 0;
43 
44  public:
45 
47  virtual void setAlignment(DtFontInterface::TextAlignment alignment) = 0;
48 
50  virtual DtFontInterface::TextAlignment alignment() const = 0;
51 
53  virtual void setParent(DtTextRenderer*) = 0;
54 
56  virtual void setPosition(float x, float y, float z, float w = 0) = 0;
57 
59  virtual const float* position() const = 0;
60 
66  virtual void setMaximumWorldHeight(double worldHeightInMeters) = 0;
67 
69  virtual double maximumWorldHeight() const = 0;
70 
76  virtual void setMaximumWorldWidth(double worldWidthInMeters) = 0;
77 
79  virtual double maximumWorldWidth() const = 0;
80 
86  virtual void setIsHiddenWhenExceedingMaximumWorldDimensions(bool) = 0;
87 
92  virtual bool isHiddenWhenExceedingMaximumWorldDimensions() const = 0;
93 
96  virtual void setRotation(float angle) = 0;
97 
100  virtual float rotation() const = 0;
101 
103  virtual void setColor(float r, float g, float b, float a) = 0;
104 
106  virtual const float* color() const = 0;
107 
110  virtual void setString(const DtUnicode& str) = 0;
111 
113  virtual const DtUnicode& string() const = 0;
114 
116  virtual void setFont(DtFontInterface* font) = 0;
117 
119  virtual std::vector<double> fontConfigurationMinimumAltitudes() const = 0;
120 
122  virtual void setAltitudeSpecificFonts(const DtAltitudeBasedConfigurationCollection&) = 0;
123 
126  virtual void clearAltitudeSpecificFonts() = 0;
127 
139  virtual void setIsForcedAltitudeBasedConfigurationEnabled(bool enabled) = 0;
140 
144  virtual bool isForcedAltitudeBasedConfigurationEnabled() const = 0;
145 
149  virtual void setBaseAltitudeToUseForForcedAltitudeBasedConfigurations(double minimumAltitudeForUse) = 0;
150 
160  virtual DtFontInterface* font(double altitude = std::numeric_limits<double>::min()) const = 0;
161 
171  virtual DtBoundingBox calculateBoundingBox(double cameraAltitude = std::numeric_limits<double>::min(),
172  unsigned int pos = 0, int len = -1, const DtPen& pen = DtPen()) const = 0;
173 
175  virtual void setBounds(const DtBoundingBox& box) = 0;
176 
186  virtual const DtBoundingBox& bounds(double cameraAltitude) const = 0;
187 
190  virtual void setBoundsByMinimumAltitude(const DtBoundingBox& box, double minimumAltitudeForUse) = 0;
191 
193  virtual void setGroup(unsigned int group) = 0;
194 
196  virtual unsigned int group() const = 0;
197 
201  virtual void setLodOutAltitude(double lodOutAltitude) = 0;
202 
204  virtual double lodOutAltitude() const = 0;
205 
208  virtual void setIsLodOutAltitudeEnabled(bool isLodOutAltitudeEnabled) = 0;
209 
211  virtual bool isLodOutAltitudeEnabled() const = 0;
212 
218  virtual void setIsRotationInScreenSpace(bool isRotationInScreenSpace) = 0;
219 
221  virtual bool isRotationInScreenSpace() const = 0;
222  };
223 }
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Contains the makVrv::DtBoundingBox class declaration.
TextAlignment
Definition: DtFontInterface.h:26
Contains makVrv::DtAltitudeBasedConfiguration class.
A class for rendering text object.
Definition: DtTextRenderer.h:58
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
A class for controlling text owned by the TextRenderer.
Definition: DtTextProxyInterface.h:30
A class with encapsulated a font loaded from disk with a given size.
Definition: DtFontInterface.h:22
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv::DtFontInterface class declaration.
A pen object with parameters on how to draw text.
Definition: DtBoundingBox.h:80
Contains makVrv::DtFontManagerInterface class.
std::vector< DtAltitudeBasedConfiguration > DtAltitudeBasedConfigurationCollection
A collection of altitude-based configurations for a text proxy.
Definition: DtAltitudeBasedConfiguration.h:42
A simple bounding box.
Definition: DtBoundingBox.h:101
Contains DLL export macros.

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)