VR-Forces Developer's Guide
 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 Types | Protected Member Functions | Protected Attributes | Private Attributes | Friends
makVrv::DtLineRenderer Class Reference

A class responsible for rendering lines.

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

Classes

struct  LineSegmentPrimitive
 
struct  LineSegmentSets
 

Public Member Functions

virtual ~DtLineRenderer ()
 
 DtLineRenderer ()=delete
 
 DtLineRenderer (const DtLineRenderer &other)=delete
 
DtLineRendereroperator= (const DtLineRenderer &other)=delete
 
virtual int numberOfPrimitives () const
 
virtual void render (const DtOverlayRenderData &overlayRenderData, const DtObserverRenderData &observerRenderData, const double projectionMatrix[16], bool picking)
 
virtual void releaseResources ()
 
virtual bool isRenderModeSupported (int mode)
 
virtual DtLineSegmentProxyallocateNewSegment ()
 
virtual void initLineVertex (DtLineVertex &p)
 
- Public Member Functions inherited from makVrv::DtPrimitiveRenderer
 DtPrimitiveRenderer (DtDe &de, DtOverlayResourceProvider &provider)
 
virtual ~DtPrimitiveRenderer ()
 
void setRenderMode (int mode)
 
int renderMode () const
 
int numberOfRenderModes () const
 
void setOrderMode (int mode)
 
int orderMode () const
 
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 Types

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

Protected Member Functions

 DtLineRenderer (DtDe &de, DtOverlayResourceProvider &provider)
 
virtual void dirty (DtLineSegmentProxy *)
 
virtual void deallocateProxy (const DtLineSegmentProxy &)
 
virtual int moveSegmentToOtherList (const float currentWidth, const int currentSegmentIndex, const int currentPrimativeIndex, const float desiredWidth, const int desiredSegmentIndex)
 
virtual void setAltitudeBasedConfigurationsForProxy (DtLineSegmentProxy *, const DtLineSegmentInterface::DtLineSegmentAltitudeBasedConfigurationCollection &)
 
virtual bool getAltitudeBasedConfigurationsForProxy (const DtLineSegmentProxy *, DtLineSegmentInterface::DtLineSegmentAltitudeBasedConfigurationCollection &) const
 
virtual void clearAltitudeBasedConfigurationsForProxy (DtLineSegmentProxy *)
 
virtual void renderUsingVertexBufferObjects (DtFlat2DLineRenderer &renderer)
 
virtual void renderStippledLineArrays (DtFlat2DLineRenderer &renderer, LineSegmentSets &lss)
 
virtual void updateRenderData (double altitude)
 
virtual void sortByStipple ()
 

Protected Attributes

LineMap myLines
 
std::map< const
DtLineSegmentProxy
*, DtLineSegmentProxyGroup * > 
myLineSegmentProxyToGroupMap
 
std::vector
< DtLineSegmentProxyGroup * > 
myLineSegmentProxyGroups
 
DtProjected2DLineEffectmyEffect
 
LineSegmentProxyList myDirtyList
 
unsigned int myPrimitiveCount
 
- Protected Attributes inherited from makVrv::DtPrimitiveRenderer
DtDemyDe
 
DtOverlayResourceProvidermyProvider
 
int myRenderMode
 
int myOrderMode
 
bool myForceUpdate
 

Private Attributes

friend DtLineRendererCreator
 

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 }
 

Member Typedef Documentation

typedef std::unordered_map<float, LineSegmentSets> makVrv::DtLineRenderer::LineMap
protected

Constructor & Destructor Documentation

virtual makVrv::DtLineRenderer::~DtLineRenderer ( )
virtual
makVrv::DtLineRenderer::DtLineRenderer ( )
delete

Default Constructor not implemented.

makVrv::DtLineRenderer::DtLineRenderer ( const DtLineRenderer other)
delete

Copy Constructor not implemented - Copy not allowed.

makVrv::DtLineRenderer::DtLineRenderer ( DtDe de,
DtOverlayResourceProvider provider 
)
protected

Protected CTOR Create using DtLineRendererCreator.

Member Function Documentation

DtLineRenderer& makVrv::DtLineRenderer::operator= ( const DtLineRenderer other)
delete

Assignment Operator not implemented - Assignment not allowed.

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

Get the number of Primitives.

Implements makVrv::DtPrimitiveRenderer.

virtual void makVrv::DtLineRenderer::render ( const DtOverlayRenderData overlayRenderData,
const DtObserverRenderData observerRenderData,
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.

virtual DtLineSegmentProxy* makVrv::DtLineRenderer::allocateNewSegment ( )
virtual

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

virtual void makVrv::DtLineRenderer::initLineVertex ( DtLineVertex p)
virtual

Initialize a new vertex with default: line width (1), stipple (none), color (white, no alpha), and scale (1.0)

virtual void makVrv::DtLineRenderer::dirty ( DtLineSegmentProxy )
protectedvirtual
virtual void makVrv::DtLineRenderer::deallocateProxy ( const DtLineSegmentProxy )
protectedvirtual
virtual int makVrv::DtLineRenderer::moveSegmentToOtherList ( const float  currentWidth,
const int  currentSegmentIndex,
const int  currentPrimativeIndex,
const float  desiredWidth,
const int  desiredSegmentIndex 
)
protectedvirtual
virtual void makVrv::DtLineRenderer::setAltitudeBasedConfigurationsForProxy ( DtLineSegmentProxy ,
const DtLineSegmentInterface::DtLineSegmentAltitudeBasedConfigurationCollection  
)
protectedvirtual
virtual bool makVrv::DtLineRenderer::getAltitudeBasedConfigurationsForProxy ( const DtLineSegmentProxy ,
DtLineSegmentInterface::DtLineSegmentAltitudeBasedConfigurationCollection  
) const
protectedvirtual
virtual void makVrv::DtLineRenderer::clearAltitudeBasedConfigurationsForProxy ( DtLineSegmentProxy )
protectedvirtual
virtual void makVrv::DtLineRenderer::renderUsingVertexBufferObjects ( DtFlat2DLineRenderer renderer)
protectedvirtual
virtual void makVrv::DtLineRenderer::renderStippledLineArrays ( DtFlat2DLineRenderer renderer,
LineSegmentSets lss 
)
protectedvirtual
virtual void makVrv::DtLineRenderer::updateRenderData ( double  altitude)
protectedvirtual
virtual void makVrv::DtLineRenderer::sortByStipple ( )
protectedvirtual

Friends And Related Function Documentation

friend class DtLineSegmentProxy
friend

Member Data Documentation

friend makVrv::DtLineRenderer::DtLineRendererCreator
private
const unsigned short makVrv::DtLineRenderer::NoStipple = 0xFFFF
static
const unsigned short makVrv::DtLineRenderer::NoLine = 0x0
static
LineMap makVrv::DtLineRenderer::myLines
protected
std::map<const DtLineSegmentProxy*, DtLineSegmentProxyGroup*> makVrv::DtLineRenderer::myLineSegmentProxyToGroupMap
protected
std::vector<DtLineSegmentProxyGroup*> makVrv::DtLineRenderer::myLineSegmentProxyGroups
protected
DtProjected2DLineEffect* makVrv::DtLineRenderer::myEffect
protected
LineSegmentProxyList makVrv::DtLineRenderer::myDirtyList
protected
unsigned int makVrv::DtLineRenderer::myPrimitiveCount
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)