GRE::LAYERVIEW Class Reference

Container for layer information retained for each view. More...

#include <gre/layerview.h>

Inheritance diagram for GRE::LAYERVIEW:

Inheritance graph
[legend]
List of all members.

Public Types

enum  RENDERTYPE { RENDERTYPE_Layer = 0, RENDERTYPE_Labels = 1, RENDERTYPE_Highlight = 2 }

Public Member Functions

void CheckRendered ()
void ClearAllDrawnSets (bool UseHighlighted)
void ClearLabelPlacement ()
ERRVALUE ComputeTrans ()
ERRVALUE DrawElementsToBuffer (ELEMTYPE ElemType, const UINT8 *ElemSet, GRE::LAYERVIEW::RENDERTYPE RenderType, GRE::DRAWFLAGS drawflags)
ERRVALUE DrawElementsToDevice (ELEMTYPE ElemType, const UINT8 *ElemSet, MGD::DEVICE *pDevice, GRE::DRAWFLAGS drawflags)
ERRVALUE DrawElementToBuffer (ELEMTYPE ElemType, INT32 ElemNum, GRE::LAYERVIEW::RENDERTYPE RenderType, GRE::DRAWFLAGS drawflags)
ERRVALUE DrawElementToDevice (ELEMTYPE ElemType, INT32 ElemNum, MGD::DEVICE *pDevice, GRE::DRAWFLAGS drawflags)
double Get3dDepthScale () const
double Get3dSurfaceIncrement () const
const GRE_VIEWPOINT3DGet3dViewPoint () const
double Get3dZScale () const
double GetDesignScale () const
const LRECT2DGetDeviceRectUsed () const
BITSETGetElemDrawnSet (ELEMTYPE ElemType, bool UseHighlighted)
const BITSETGetElemDrawnSet (ELEMTYPE ElemType, bool UseHighlighted) const
LABELPLACEMENTGetLabelPlacement (bool ReturnNullIfEmpty=true)
GRE_LAYERGetLayer () const
RENDERBUFFERGetRenderBuffer (RENDERTYPE RenderType)
const RENDERBUFFERGetRenderBuffer (RENDERTYPE RenderType) const
GRE_LAYER_SURFACEGetSurfaceLayer () const
const TRANS2D_MAPGENGetTransLayerDevice () const
const TRANS2D_MAPGENGetTransLayerSurface () const
const TRANS2D_MAPGENGetTransLayerView () const
GRE_VIEWGetView () const
bool HasSurfaceNulls () const
bool Is3D () const
bool Is3dStereo () const
bool IsLayerOverlappedDevice () const
bool IsSurfaceUsed () const
bool OverlayBufferIfRendered (RENDERTYPE RenderType, MGD::DEVICE *pDevTarget, const LRECT2D *pClipRect=0)
void ResetAllDrawnSets ()
void ResetRendered (GRE::RENDERTARGET target=GRE::RENDERTARGET_LayerAll)
virtual ~LAYERVIEW ()

Protected Member Functions

 LAYERVIEW (GRE_LAYER *layer, GRE_VIEW *view)

Private Member Functions

virtual BITSETv_GetElemDrawnSet (ELEMTYPE ElemType, bool UseHighlighted)
virtual LABELPLACEMENTv_GetLabelPlacement ()

Detailed Description

Container for layer information retained for each view.

Definition at line 61 of file layerview.h.


Member Enumeration Documentation

enum GRE::LAYERVIEW::RENDERTYPE
 

Rendering buffer types.

Enumeration values:
RENDERTYPE_Layer 
RENDERTYPE_Labels 
RENDERTYPE_Highlight 

Definition at line 65 of file layerview.h.


Constructor & Destructor Documentation

virtual GRE::LAYERVIEW::~LAYERVIEW  )  [virtual]
 

GRE::LAYERVIEW::LAYERVIEW GRE_LAYER layer,
GRE_VIEW view
[protected]
 

Constructor.


Member Function Documentation

void GRE::LAYERVIEW::CheckRendered  ) 
 

Check if existing renderings are still valid.

void GRE::LAYERVIEW::ClearAllDrawnSets bool  UseHighlighted  ) 
 

Clear all 'drawn element' sets.

Does not resize the sets.

void GRE::LAYERVIEW::ClearLabelPlacement  ) 
 

Clear label placement if any.

ERRVALUE GRE::LAYERVIEW::ComputeTrans  ) 
 

Compute all transformations.

ERRVALUE GRE::LAYERVIEW::DrawElementsToBuffer ELEMTYPE  ElemType,
const UINT8 ElemSet,
GRE::LAYERVIEW::RENDERTYPE  RenderType,
GRE::DRAWFLAGS  drawflags
 

Draw set of elements to specified rendering buffer.

ERRVALUE GRE::LAYERVIEW::DrawElementsToDevice ELEMTYPE  ElemType,
const UINT8 ElemSet,
MGD::DEVICE pDevice,
GRE::DRAWFLAGS  drawflags
 

Draw set of elements to specified rendering device.

ERRVALUE GRE::LAYERVIEW::DrawElementToBuffer ELEMTYPE  ElemType,
INT32  ElemNum,
GRE::LAYERVIEW::RENDERTYPE  RenderType,
GRE::DRAWFLAGS  drawflags
 

Draw single element to specified rendering buffer.

ERRVALUE GRE::LAYERVIEW::DrawElementToDevice ELEMTYPE  ElemType,
INT32  ElemNum,
MGD::DEVICE pDevice,
GRE::DRAWFLAGS  drawflags
 

Draw single element to specified rendering device.

double GRE::LAYERVIEW::Get3dDepthScale  )  const [inline]
 

Get depth scaling, multiplied by depth to get drawing scale.

Definition at line 124 of file layerview.h.

double GRE::LAYERVIEW::Get3dSurfaceIncrement  )  const [inline]
 

Get increment in layer relative to once cell in surface layer.

Definition at line 128 of file layerview.h.

const GRE_VIEWPOINT3D* GRE::LAYERVIEW::Get3dViewPoint  )  const [inline]
 

Get 3D viewpoint.

Definition at line 132 of file layerview.h.

double GRE::LAYERVIEW::Get3dZScale  )  const [inline]
 

Get 3D Z scaling.

Definition at line 136 of file layerview.h.

double GRE::LAYERVIEW::GetDesignScale  )  const [inline]
 

Get design scale.

Definition at line 140 of file layerview.h.

const LRECT2D& GRE::LAYERVIEW::GetDeviceRectUsed  )  const [inline]
 

Get device rectangle used for rendering.

This is a nominal rectangle based on layer extents and may not account for symbology and marginalia. Returned rectangle may not be suitable for clipping during drawing, but will be suitable for selection of source object elements.

Definition at line 147 of file layerview.h.

BITSET* GRE::LAYERVIEW::GetElemDrawnSet ELEMTYPE  ElemType,
bool  UseHighlighted
[inline]
 

Get set for elements drawn in view (non-const).

Returns:
NULL if no elements of specified type supported by layer. The set returned by this method should only contain the elements which are actually visible in the view. Normally when checking for highlighted elements, the GRE_LAYER::GetElemHighlightSet method should be used.
Parameters:
UseHighlighted  Element type True to return set for visible elements drawn as 'highlighted'

Definition at line 163 of file layerview.h.

const BITSET* GRE::LAYERVIEW::GetElemDrawnSet ELEMTYPE  ElemType,
bool  UseHighlighted
const [inline]
 

Get set for elements drawn in view (const).

Returns:
NULL if no elements of specified type supported by layer. The set returned by this method only contains the elements which are actually visible in the view. Normally when checking for highlighted elements, the GRE_LAYER::GetElemHighlightSet method should be used.
Parameters:
UseHighlighted  Element type True to return set for visible elements drawn as 'highlighted'

Definition at line 154 of file layerview.h.

LABELPLACEMENT* GRE::LAYERVIEW::GetLabelPlacement bool  ReturnNullIfEmpty = true  ) 
 

Get pointer to label placement instance.

Returns:
LABELPLACEMENT pointer or NULL if not supported.
Parameters:
ReturnNullIfEmpty  Return NULL pointer if no labels

GRE_LAYER* GRE::LAYERVIEW::GetLayer  )  const [inline]
 

Get associated GRE_LAYER.

Definition at line 175 of file layerview.h.

RENDERBUFFER& GRE::LAYERVIEW::GetRenderBuffer RENDERTYPE  RenderType  )  [inline]
 

Get rendering buffer for specified rendering type (non-const).

Parameters:
RenderType  Rendering type

Definition at line 184 of file layerview.h.

const RENDERBUFFER& GRE::LAYERVIEW::GetRenderBuffer RENDERTYPE  RenderType  )  const [inline]
 

Get rendering buffer for specified rendering type (const).

Parameters:
RenderType  Rendering type

Definition at line 179 of file layerview.h.

GRE_LAYER_SURFACE* GRE::LAYERVIEW::GetSurfaceLayer  )  const [inline]
 

Get surface layer for 3D draping.

Definition at line 189 of file layerview.h.

const TRANS2D_MAPGEN& GRE::LAYERVIEW::GetTransLayerDevice  )  const [inline]
 

Get transformation from layer to device coordinates.

Definition at line 193 of file layerview.h.

const TRANS2D_MAPGEN& GRE::LAYERVIEW::GetTransLayerSurface  )  const [inline]
 

Get transformation from 'layer' to 'surface' coordinates.

Definition at line 197 of file layerview.h.

const TRANS2D_MAPGEN& GRE::LAYERVIEW::GetTransLayerView  )  const [inline]
 

Get transformation from layer to view coordinates.

Definition at line 201 of file layerview.h.

GRE_VIEW* GRE::LAYERVIEW::GetView  )  const [inline]
 

Get associated GRE_VIEW.

Definition at line 205 of file layerview.h.

bool GRE::LAYERVIEW::HasSurfaceNulls  )  const [inline]
 

Determine if surface has nulls.

Definition at line 209 of file layerview.h.

bool GRE::LAYERVIEW::Is3D  )  const [inline]
 

Determine if drawing in 3D.

Definition at line 213 of file layerview.h.

bool GRE::LAYERVIEW::Is3dStereo  )  const
 

Determine if drawing 3D in stereo.

bool GRE::LAYERVIEW::IsLayerOverlappedDevice  )  const [inline]
 

Determine if layer overlaps view device display area.

Definition at line 225 of file layerview.h.

bool GRE::LAYERVIEW::IsSurfaceUsed  )  const [inline]
 

Determine if surface (layer or flat) is being used.

Definition at line 221 of file layerview.h.

bool GRE::LAYERVIEW::OverlayBufferIfRendered RENDERTYPE  RenderType,
MGD::DEVICE pDevTarget,
const LRECT2D pClipRect = 0
 

Overlay rendering buffer on device if it has been rendered.

Returns:
true if did overlay, false if not.
Parameters:
RenderType  Render type
pDevTarget  Target device
pClipRect  Optional clip rectangle

void GRE::LAYERVIEW::ResetAllDrawnSets  ) 
 

Reset all 'drawn element' sets to have no entries.

void GRE::LAYERVIEW::ResetRendered GRE::RENDERTARGET  target = GRE::RENDERTARGET_LayerAll  ) 
 

Reset rendered status so redraws.

virtual BITSET* GRE::LAYERVIEW::v_GetElemDrawnSet ELEMTYPE  ElemType,
bool  UseHighlighted
[private, virtual]
 

Get set for elements drawn in view.

Returns:
NULL if no elements of specified type supported by layer.

virtual LABELPLACEMENT* GRE::LAYERVIEW::v_GetLabelPlacement  )  [private, virtual]
 

Get pointer label placement manager.

Returns:
NULL if labels not supported.


The documentation for this class was generated from the following file:
Generated on Wed May 31 15:29:34 2006 for TNTsdk by  doxygen 1.3.8-20040913