VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rangeLineVisualizer.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2013 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrfGuiCore/vrfGuiCore.h>
14 #include <vrvCore/DtSceneObjectAgent.hpp>
15 
16 namespace makVrv
17 {
18  class DtModelAgent;
19  class DtProjectedWidgetModelAgent;
20  class DtWidgetLabelAgent;
21 }
22 
23 class DtAttachableRangeLineTextUpdaterAgent;
24 
29 {
30 public:
33  makVrv::DtStateListener& listener, makVrv::DtSceneObjectAgent*, makVrv::DtModelSetId modelSet);
34 
37 
39  virtual const makVrv::DtStateVisualizer::TypeInfo& typeInfo() const;
40 
43 
46 
47 protected:
49  virtual void createModelAgents();
50 
52  virtual void destroyModelAgents();
53 
56  virtual void setVisualizerDefinition(const makVrv::DtVisualizerDefinition& visDef);
57 
59  virtual void setModelDefinitionForAgents();
60 
62  // Set / Get the text color. Can use 0.0-1.0 or 0-255
63  virtual void setTextColor(float r, float g, float b, float a);
64  virtual void getTextColor(float& r, float& g, float& b, float& a) const;
66 
68  // Set / Get the size of the box the text is positioned in, in pixels.
69  virtual void setTextBoxSize( unsigned int textWidth, unsigned int textHeight );
70  virtual void getTextBoxSize( unsigned int& textWidth, unsigned int& textHeight ) const;
72 
74  // Set / Get a pixel offset from the top of the line for the text box.
75  virtual void setOriginOffset( int offsetX, int offsetY );
76  virtual void getOriginOffset( int& offsetX, int& offsetY ) const;
78 
80  // Set / Get the horizontal alignment of the text within the text box.
81  // Values come from DtWidgetLabel
82  virtual void setHorizontalAlignment (unsigned int horizontalAlignment );
83  virtual unsigned int horizontalAlignment() const;
85 
87  // Set / Get the name of the font to use for the height text.
88  virtual void setTextFont( std::string textFont) ;
89  virtual std::string textFont() const;
91 
93  // Set / Get the point size of the font used for height text
94  virtual void setTextFontSize( unsigned int textFontSize );
95  virtual unsigned int textFontSize() const;
97 
99  // Set / Get whether or not to compute range to next point
100  virtual void setComputeToNextPoint( bool ) ;
101  virtual bool computeToNextPoint() const;
103 
104 protected:
105  makVrv::DtProjectedWidgetModelAgent* myRangeLineTextModelAgent;
106  makVrv::DtWidgetLabelAgent* myRangeLineTextWidgetAgent;
107  DtAttachableRangeLineTextUpdaterAgent* myRangeLineTextUpdaterAgent;
108  makVrv::DtSceneObjectAgent* myRangeLineTextObjectAgent;
109 
110  unsigned int myTextBoxSize[2]; // default is 150 x 25 pixels
111  unsigned int myTextHorizontalAlignment; // default is center
112  std::string myTextFont; // default is "FreeMono.otf"
113  unsigned int myTextFontSize; // default is 14
114  float myTextColor[4]; // default is 1., 1., 0., 1.
115  int myOriginOffset[2]; // default is 30, -30
117 };
118 
virtual void getTextColor(float &r, float &g, float &b, float &a) const
virtual bool computeToNextPoint() const
makVrv::DtWidgetLabelAgent * myRangeLineTextWidgetAgent
Definition: rangeLineVisualizer.h:106
makVrv::DtStateVisualizerCreatorTemplate< DtRangeLineTextVisualizer > DtRangeLineTextVisualizerCreator
Definition: rangeLineVisualizer.h:120
DtRangeLineTextVisualizer(makVrv::DtBaseConnection &simulation, makVrv::DtStateListener &listener, makVrv::DtSceneObjectAgent *, makVrv::DtModelSetId modelSet)
Constructor.
static const makVrv::DtVisualizerSchema & theRangeLineTextSchema()
Schema for this visualizer.
Definition: DtStateVisualizer.h:274
virtual const makVrv::DtStateVisualizer::TypeInfo & typeInfo() const
Get this instances type info.
float myTextColor[4]
Definition: rangeLineVisualizer.h:114
virtual void setTextFontSize(unsigned int textFontSize)
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
virtual unsigned int horizontalAlignment() const
DtAttachableRangeLineTextUpdaterAgent * myRangeLineTextUpdaterAgent
Definition: rangeLineVisualizer.h:107
makVrv::DtProjectedWidgetModelAgent * myRangeLineTextModelAgent
Definition: rangeLineVisualizer.h:105
unsigned int myTextFontSize
Definition: rangeLineVisualizer.h:113
unsigned int myTextBoxSize[2]
Definition: rangeLineVisualizer.h:110
virtual void setOriginOffset(int offsetX, int offsetY)
Contains makVrv:DtStateVisualizer class.
DtBaseConnection & simulation()
Get the connection for this visualizer.
Definition: DtStateVisualizer.h:155
virtual void createModelAgents()
Creates all the agents needed to display the range line text.
virtual void setComputeToNextPoint(bool)
virtual void getTextBoxSize(unsigned int &textWidth, unsigned int &textHeight) const
virtual void getOriginOffset(int &offsetX, int &offsetY) const
virtual void setTextFont(std::string textFont)
bool myComputeToNextPoint
Definition: rangeLineVisualizer.h:116
std::string myTextFont
Definition: rangeLineVisualizer.h:112
The DtStateVisualizer is an abstract class. Developers derive from this to create logic that &quot;directs...
Definition: DtStateVisualizer.h:30
virtual ~DtRangeLineTextVisualizer()
Destructor.
A definition of a visualizer. Visualizer definition are always members of a visualizer definition set...
Definition: DtVisualizerDefinition.h:26
virtual void setModelDefinitionForAgents()
No-op.
int myOriginOffset[2]
Definition: rangeLineVisualizer.h:115
makVrv::DtSceneObjectAgent * myRangeLineTextObjectAgent
Definition: rangeLineVisualizer.h:108
virtual void setHorizontalAlignment(unsigned int horizontalAlignment)
virtual void setVisualizerDefinition(const makVrv::DtVisualizerDefinition &visDef)
Stores variables from visual definition to use when creating visualizer.
virtual void destroyModelAgents()
Destroyes all the agents.
virtual void setTextColor(float r, float g, float b, float a)
DtModelSetId
Definition: DtModelSetEnums.h:19
virtual unsigned int textFontSize() const
DtRangeLineTextVisualizer will display the text of a range between two points on a line...
Definition: rangeLineVisualizer.h:28
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
Definition: DtVisualizerSchema.h:19
virtual DtModelSetId modelSet()
Return the visualizer&#39;s model set enum.
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:54
virtual std::string textFont() const
DtStateListener & listener()
Definition: DtStateVisualizer.h:144
unsigned int myTextHorizontalAlignment
Definition: rangeLineVisualizer.h:111
static const makVrv::DtStateVisualizer::TypeInfo & theTypeInfo()
Get this class&#39;s type info.
virtual void setTextBoxSize(unsigned int textWidth, unsigned int textHeight)

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)