VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Friends
makVrv::DtLineRenderer Class Reference

A class responsible for rendering lines. More...

Inheritance diagram for makVrv::DtLineRenderer:
Inheritance graph
[legend]

Classes

struct  LineSegmentPrimitive
struct  LineSegmentSets

Public Member Functions

 DtLineRenderer (DtOverlayResourceProvider &provider)
virtual ~DtLineRenderer ()
virtual int numberOfPrimitives () const
 Get the number of Primitives.
virtual void render (bool geocentric, float geocentricAlpha, const double cameraLocation[3], const double positionMatrix[16], const double projectionMatrix[16], bool picking)
 Render the primitives.
virtual void releaseResources ()
 Release any rendering resources.
virtual bool isRenderModeSupported (int mode)
 Check to see if render mode is supported.
DtLineSegmentProxyallocateNewSegment ()
 Allocate a new segment and a proxy object to control it.
- Public Member Functions inherited from makVrv::DtPrimitiveRenderer
 DtPrimitiveRenderer (DtOverlayResourceProvider &provider)
virtual ~DtPrimitiveRenderer ()
void setRenderMode (int mode)
int renderMode () const
int numberOfRenderModes () const
void setOrderMode (int mode)
 set the order mode.
int orderMode () const
 get the order mode.
void addGroupRef (unsigned int group)
void removeGroupRef (unsigned int group)
unsigned int groupCount () const

Static Public Attributes

static const unsigned short NoStipple = 0xFFFF
static const unsigned short NoLine = 0x0

Protected Member Functions

void dirty (DtLineSegmentProxy *)
void deallocateProxy (const DtLineSegmentProxy &)
int moveSegmentToOtherList (const float currentWidth, const int currentSegmentIndex, const int currentPrimativeIndex, const float desiredWidth, const int desiredSegmentIndex)

Private Types

typedef std::vector
< LineSegmentPrimitive
LineSegments
typedef std::vector
< DtLineSegmentProxy * > 
LineSegmentProxyList
typedef boost::unordered_map
< float, LineSegmentSets
LineMap

Private Member Functions

void renderUsingVertexBufferObjects (DtFlat2DLineRenderer &renderer)
void renderStippledLineArrays (DtFlat2DLineRenderer &renderer, LineSegmentSets &lss)
void updateRenderData ()
void sortByStipple ()

Private Attributes

LineMap myLines
DtProjected2DLineEffectmyEffect
LineSegmentProxyList myDirtyList
unsigned int myPrimitiveCount

Friends

class DtLineSegmentProxy

Additional Inherited Members

- Public Types inherited from makVrv::DtPrimitiveRenderer
enum  RenderModes { RenderMode_VertexBufferObject = 1, RenderMode_SortedVertexBufferObject, RenderModes_End }
enum  OrderModes { OrderMode_None = 0, OrderMode_Queue, OrderMode_Group, OrderModes_end }
- Protected Attributes inherited from makVrv::DtPrimitiveRenderer
DtOverlayResourceProvidermyProvider
int myRenderMode
int myOrderMode
bool myForceUpdate

Detailed Description

A class responsible for rendering lines.

Member Typedef Documentation

typedef boost::unordered_map<float,LineSegmentSets> makVrv::DtLineRenderer::LineMap
private

Constructor & Destructor Documentation

makVrv::DtLineRenderer::DtLineRenderer ( DtOverlayResourceProvider provider)
virtual makVrv::DtLineRenderer::~DtLineRenderer ( )
virtual

Member Function Documentation

virtual int makVrv::DtLineRenderer::numberOfPrimitives ( ) const
virtual

Get the number of Primitives.

Implements makVrv::DtPrimitiveRenderer.

virtual void makVrv::DtLineRenderer::render ( bool  geocentric,
float  geocentricAlpha,
const double  cameraLocation[3],
const double  positionMatrix[16],
const double  projectionMatrix[16],
bool  picking 
)
virtual

Render the primitives.

virtual void makVrv::DtLineRenderer::releaseResources ( )
virtual

Release any rendering resources.

Implements makVrv::DtPrimitiveRenderer.

virtual bool makVrv::DtLineRenderer::isRenderModeSupported ( int  mode)
virtual

Check to see if render mode is supported.

Implements makVrv::DtPrimitiveRenderer.

DtLineSegmentProxy* makVrv::DtLineRenderer::allocateNewSegment ( )

Allocate a new segment and a proxy object to control it.

void makVrv::DtLineRenderer::dirty ( DtLineSegmentProxy )
protected
void makVrv::DtLineRenderer::deallocateProxy ( const DtLineSegmentProxy )
protected
int makVrv::DtLineRenderer::moveSegmentToOtherList ( const float  currentWidth,
const int  currentSegmentIndex,
const int  currentPrimativeIndex,
const float  desiredWidth,
const int  desiredSegmentIndex 
)
protected
void makVrv::DtLineRenderer::renderUsingVertexBufferObjects ( DtFlat2DLineRenderer renderer)
private
void makVrv::DtLineRenderer::renderStippledLineArrays ( DtFlat2DLineRenderer renderer,
LineSegmentSets lss 
)
private
void makVrv::DtLineRenderer::updateRenderData ( )
private
void makVrv::DtLineRenderer::sortByStipple ( )
private

Friends And Related Function Documentation

friend class DtLineSegmentProxy
friend

Member Data Documentation

const unsigned short makVrv::DtLineRenderer::NoStipple = 0xFFFF
static
const unsigned short makVrv::DtLineRenderer::NoLine = 0x0
static
LineMap makVrv::DtLineRenderer::myLines
private
DtProjected2DLineEffect* makVrv::DtLineRenderer::myEffect
private
LineSegmentProxyList makVrv::DtLineRenderer::myDirtyList
private
unsigned int makVrv::DtLineRenderer::myPrimitiveCount
private

The documentation for this class was generated from the following file:

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)