13 #include <boost/unordered_map.hpp>
18 class DtFlat2DLineRenderer;
19 class DtLineSegmentProxy;
20 class DtOverlayResourceProvider;
21 class DtProjected2DLineEffect;
36 const static unsigned short NoStipple = 0xFFFF;
37 const static unsigned short NoLine = 0x0;
44 virtual int numberOfPrimitives()
const;
47 virtual void render(
bool geocentric,
float geocentricAlpha,
48 const double cameraLocation[3],
49 const double positionMatrix[16],
50 const double projectionMatrix[16],
54 virtual void releaseResources();
57 virtual bool isRenderModeSupported(
int mode);
71 int moveSegmentToOtherList(
72 const float currentWidth,
73 const int currentSegmentIndex,
74 const int currentPrimativeIndex,
75 const float desiredWidth,
76 const int desiredSegmentIndex);
98 return myStippledLines;
104 return mySimpleProxies;
106 return myStippledProxies;
109 void updateRenderData(
void);
110 void releaseResources(
void);
116 typedef boost::unordered_map<float,LineSegmentSets>
LineMap;
120 void updateRenderData();
121 void sortByStipple();
142 void enableStipple();
145 void disableStipple();
148 void setWidth(
float w);
154 void setGroup(
float group);
A line segment proxy is a flyweight class for controlling a single line segment.
Definition: DtLineRenderer.h:132
int myIndex
Definition: DtLineRenderer.h:207
LineSegmentProxyList myDirtyList
Definition: DtLineRenderer.h:125
int mySegmentIndex
Definition: DtLineRenderer.h:206
A class the wraps a OpenGL Array Buffer object.
Definition: DtBufferObject.h:17
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
DtProjected2DLineEffect * myEffect
Definition: DtLineRenderer.h:124
static bool equal(DtLineSegmentProxy *&v1, DtLineSegmentProxy *&v2)
Definition: DtLineRenderer.h:187
Definition: DtLineRenderer.h:83
LineSegmentProxyList myStippledProxies
Definition: DtLineRenderer.h:86
LineSegments & segmentsByIndex(unsigned int index)
Definition: DtLineRenderer.h:93
The overlay resource provider class provies resources for overlay drawing classes.
Definition: DtOverlayResourceProvider.h:23
Definition: DtLineRenderer.h:30
static bool less(DtLineSegmentProxy *&v1, DtLineSegmentProxy *&v2)
Definition: DtLineRenderer.h:172
float myWidth
Definition: DtLineRenderer.h:208
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
bool myDirtyFlag
Definition: DtLineRenderer.h:205
std::vector< LineSegmentPrimitive > LineSegments
Definition: DtLineRenderer.h:80
Abstract primitive rendering base class.
Definition: DtPrimitiveRenderer.h:18
A vertex element used for rendering a line.
Definition: DtFlat2DLineRenderer.h:23
unsigned int myPrimitiveCount
Definition: DtLineRenderer.h:126
DtLineRenderer * myParent
Definition: DtLineRenderer.h:203
boost::unordered_map< float, LineSegmentSets > LineMap
Definition: DtLineRenderer.h:116
LineSegments myStippledLines
Definition: DtLineRenderer.h:89
DtLineVertex p2
Definition: DtLineRenderer.h:33
DtBufferObject * myBufferObjectStippleLines
Definition: DtLineRenderer.h:113
float lineParams[2]
Definition: DtFlat2DLineRenderer.h:37
LineSegmentProxyList mySimpleProxies
Definition: DtLineRenderer.h:85
An effect for rendering 2D projected lines Has support for direction and length information per verte...
Definition: DtProjected2DLineEffect.h:22
const char int mode
Definition: ioapi.h:38
A Renderer which renders 2D lines with only a color.
Definition: DtFlat2DLineRenderer.h:44
DtBufferObject * myBufferObjectSimpleLines
Definition: DtLineRenderer.h:112
LineSegments mySimpleLines
Definition: DtLineRenderer.h:88
LineSegmentProxyList & proxiesByIndex(unsigned int index)
Definition: DtLineRenderer.h:101
DtLineVertex p1
Definition: DtLineRenderer.h:32
LineMap myLines
Definition: DtLineRenderer.h:123
static void swap(DtLineSegmentProxy *&v1, DtLineSegmentProxy *&v2)
Definition: DtLineRenderer.h:160
Contains makVrv::DtFlat2DLineRenderer class.
A class responsible for rendering lines.
Definition: DtLineRenderer.h:25
std::vector< DtLineSegmentProxy * > LineSegmentProxyList
Definition: DtLineRenderer.h:81