22 #include <matrix/vlMath.h>
34 class DtTextLayoutInterface;
35 class DtTexturedGlyphRenderer;
36 class DtOverlayResourceProvider;
37 class DtProjected2DTexturedEffect;
38 class DtTextProxyGroup;
39 typedef boost::weak_ptr<DtFont>
DtFontWP;
40 typedef boost::shared_ptr<DtFont>
DtFontSP;
66 : myBaseAltitude(std::numeric_limits<
double>::min())
73 : myBaseAltitude(altitude)
97 && myFont == config.
myFont;
132 virtual int numberOfPrimitives()
const;
135 virtual void releaseResources();
138 virtual bool isRenderModeSupported(
int mode );
140 virtual bool forceTextShaping(
void)
const;
143 virtual void render(
bool geocentric,
float geocentricAlpha,
144 const double location[3],
double altitude
145 ,
const double positionMatrix[16]
146 ,
const double projectionMatrix[16] );
149 virtual void addGroupRef(
unsigned int );
152 virtual void removeGroupRef(
unsigned int );
176 virtual void clearAltitudeSpecificConfigurationsForProxy(
DtTextProxy*);
206 : myBaseAltitude(altitude)
213 : myBaseAltitude(std::numeric_limits<
double>::min())
216 myBoundingBox.invalidate();
255 void setPosition(
float x,
float y,
float z,
float w = 0 );
258 const float* position()
const;
261 void setRotation(
float angle );
264 float rotation()
const;
267 void setColor(
float r,
float g,
float b,
float a );
270 const float* color()
const;
283 std::vector<double> fontConfigurationMinimumAltitudes()
const;
290 void clearAltitudeSpecificFonts();
303 void setIsForcedAltitudeBasedConfigurationEnabled(
bool enabled);
308 bool isForcedAltitudeBasedConfigurationEnabled()
const;
313 void setBaseAltitudeToUseForForcedAltitudeBasedConfigurations(
double minimumAltitudeForUse);
324 DtFontSP font(
double altitude=std::numeric_limits<double>::min())
const;
328 const DtUnicode&
string,
double minimumCameraAltitude=std::numeric_limits<double>::min(),
329 unsigned int pos = 0,
int len = -1)
const;
333 const DtUnicode&
string,
double minimumCameraAltitude=std::numeric_limits<double>::min(),
334 unsigned int pos = 0,
int len = -1)
const;
352 void setBoundsByMinimumAltitude(
const DtBoundingBox& box,
double minimumAltitudeForUse );
355 void setGroup(
unsigned int group );
360 void setLodOutAltitude(
double lodOutAltitude );
363 double lodOutAltitude()
const;
367 void setIsLodOutAltitudeEnabled(
bool isLodOutAltitudeEnabled);
370 bool isLodOutAltitudeEnabled()
const;
373 unsigned int group()
const;
399 void makeOrChangeTextLayout(
const DtUnicode& str);
Generic base class for text layout renderers.
Definition: DtTextLayoutInterface.h:24
DtTextLayoutInterface * myTextLayout
Definition: DtTextRenderer.h:391
bool myIsLodOutAltitudeEnabled
Definition: DtTextRenderer.h:393
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
DtAltitudeBasedBoundingBoxConfiguration(double altitude, const DtBoundingBox &box)
Definition: DtTextRenderer.h:205
bool operator==(const DtAltitudeBasedConfiguration &config) const
Definition: DtTextRenderer.h:94
DtProjected2DTexturedEffect * myEffect
Definition: DtTextRenderer.h:188
Contains the makVrv::DtBoundingBox class declaration.
bool myIsForcedAltitudeBasedConfigurationEnabled
Definition: DtTextRenderer.h:396
double myAltitudeToUseForForcedAltitudeBasedConfiguration
Definition: DtTextRenderer.h:397
A 2D point.
Definition: DtBoundingBox.h:19
double myBaseAltitude
Definition: DtTextRenderer.h:100
TextProxyList myProxies
Definition: DtTextRenderer.h:431
A class that defines an altitude-based configuration for a text proxy.
Definition: DtTextRenderer.h:62
A glyph renderer which renders the texture associated with a glyph.
Definition: DtTexturedGlyphRenderer.h:25
A class for controlling text owned by the TextRenderer.
Definition: DtTextRenderer.h:197
DtFont::TextAlignement myAlignment
Definition: DtTextRenderer.h:387
BufferObjectList myBufferObjectList
Definition: DtTextRenderer.h:191
A extended precision 2D quad rendering effect.
Definition: DtProjected2DTexturedEffect.h:19
DtTextRenderer * myParent
Definition: DtTextRenderer.h:380
TextAlignement
Definition: DtFont.h:33
double myBaseAltitude
Definition: DtTextRenderer.h:225
DtAltitudeBasedConfiguration()
Definition: DtTextRenderer.h:65
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
A class for rendering text object.
Definition: DtTextRenderer.h:56
The overlay resource provider class provies resources for overlay drawing classes.
Definition: DtOverlayResourceProvider.h:23
const char * creatorTypeName< DtTextRenderer >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtTextRenderer.h:52
DtAltitudeBasedBoundingBoxConfiguration()
Definition: DtTextRenderer.h:212
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
std::vector< DtTextProxyGroup * > myTextProxyGroups
Definition: DtTextRenderer.h:187
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
DtAltitudeBasedBoundingBoxConfigurationCollection myAltitudeBasedBounds
Definition: DtTextRenderer.h:389
Abstract primitive rendering base class.
Definition: DtPrimitiveRenderer.h:19
A class for altitude-based bounding boxes.
Definition: DtTextRenderer.h:202
unsigned int myGroup
Definition: DtTextRenderer.h:385
DtBoundingBox myBoundingBox
Definition: DtTextRenderer.h:226
double myLodOutAltitude
Definition: DtTextRenderer.h:394
boost::weak_ptr< DtFont > DtFontWP
Definition: DtFontManager.h:23
std::vector< DtBufferObject * > BufferObjectList
Definition: DtTextRenderer.h:190
float myRotation
Definition: DtTextRenderer.h:382
DtFontSP myFont
Definition: DtTextRenderer.h:101
std::vector< DtAltitudeBasedConfiguration > DtAltitudeBasedConfigurationCollection
A collection of altitude-based configurations for a text proxy.
Definition: DtTextRenderer.h:105
DtTextRenderer::DtAltitudeBasedConfigurationCollection myAltitudeBasedConfigurations
Definition: DtTextRenderer.h:433
DtVirtualBaseClassCreator< DtTextRenderer, DtOverlayResourceProvider & > DtTextRendererCreator
creator
Definition: DtTextRenderer.h:45
DtAltitudeBasedConfiguration(double altitude, DtFontSP font)
Definition: DtTextRenderer.h:72
std::vector< DtTextProxy * > TextProxyList
Definition: DtTextRenderer.h:409
boost::shared_ptr< DtFont > DtFontSP
Definition: DtFontManager.h:20
~DtAltitudeBasedConfiguration()
Definition: DtTextRenderer.h:79
A pen object with parameters on how to draw text.
Definition: DtBoundingBox.h:80
DtUnicode myString
Definition: DtTextRenderer.h:388
const char int mode
Definition: ioapi.h:38
Contains makVrv::DtFont class.
std::map< const DtTextProxyGroup *, DtTexturedGlyphRenderer * > myGlyphRenderers
Definition: DtTextRenderer.h:186
Contains the makVrv::DtTextured2DRenderer class declaration.
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:70
friend DtTextRendererCreator
Definition: DtTextRenderer.h:58
std::vector< DtAltitudeBasedBoundingBoxConfiguration > DtAltitudeBasedBoundingBoxConfigurationCollection
A collection of altitude-based bounding boxes for a text proxy.
Definition: DtTextRenderer.h:230
std::map< const DtTextProxy *, DtTextProxyGroup * > myTextProxyToGroupMap
Definition: DtTextRenderer.h:185
A group of text proxies that share the same set of altitude-based configurations. Groups of text prox...
Definition: DtTextRenderer.h:404
DtFont::TextAlignement alignment() const
Returns alignment.
Definition: DtTextRenderer.h:249
A simple bounding box.
Definition: DtBoundingBox.h:101