GRE::LAYERVIEW Class Reference

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

#include <gre/layerview.h>

List of all members.

Public Member Functions

 LAYERVIEW (GRE::LAYER *layer, GRE::VIEW *view, const TRANS2D_MAPGEN &TransObjectToDevice, INT32 DevSizeX, INT32 DevSizeY)
 LAYERVIEW (GRE::LAYER *layer, GRE::VIEW *view)
virtual ~LAYERVIEW ()
void AttachSection (GRE::LAYERSECTION *&pLayerSection, bool NotifyView=true)
void CheckRendered ()
void ClearLabelPlacement ()
ERRVALUE ComputeTrans ()
bool DetachSection (const LAYERSECTION *pLayerSection)
ERRVALUE DrawElementsToBuffer (ELEMTYPE ElemType, const UNSIGNEDSET *pElemSet, GRE::RENDERTARGET content, GRE::DRAWFLAGS drawflags)
ERRVALUE DrawElementsToDevice (ELEMTYPE ElemType, const UNSIGNEDSET *pElemSet, MGD::DEVICE *pDevice, GRE::DRAWFLAGS drawflags)
ERRVALUE DrawElementToBuffer (ELEMTYPE ElemType, ELEMNUM ElemNum, GRE::RENDERTARGET content, GRE::DRAWFLAGS drawflags)
ERRVALUE DrawElementToDevice (ELEMTYPE ElemType, ELEMNUM ElemNum, MGD::DEVICE *pDevice, GRE::DRAWFLAGS drawflags)
ERRVALUE DrawHighlightedToBuffer (GRE::DRAWFLAGS drawflags)
double Get3dDepthScale () const
double Get3dSurfaceIncrement () const
const GRE::VIEWPOINT3DGet3dViewPoint () const
double Get3dZScale () const
double GetDesignScale () const
const LRECT2DGetDeviceRectUsed () const
UNSIGNEDSETGetElemDrawnSet (ELEMTYPE ElemType, bool UseHighlighted)
const UNSIGNEDSETGetElemDrawnSet (ELEMTYPE ElemType, bool UseHighlighted) const
LABELPLACEMENTGetLabelPlacement (bool ReturnNullIfEmpty=true)
GRE::LAYERGetLayer () const
LAYERSECTIONGetSection ()
const LAYERSECTIONGetSection () const
GRE::LAYER_SURFACEGetSurfaceLayer () const
const TRANS2D_MAPGENGetTransLayerDevice () const
const TRANS2D_MAPGENGetTransLayerSurface () const
const TRANS2D_MAPGENGetTransLayerView () const
GRE::VIEWGetView () const
bool HasRendered (RENDERTARGET content=RENDERTARGET_LayerAll) const
bool Is3D () const
bool Is3dStereo () const
bool IsAttachedToView () const
bool IsLayerOverlappedDevice () const
bool IsSurfaceUsed () const
bool OverlayBufferIfRendered (GRE::RENDERTARGET content, MGD::DEVICE *pDevTarget, const LRECT2D *pClipRect=0) const
ERRVALUE QueueJobRenderFull (MITHREAD::QUEUE &Queue)
void ResetAllDrawnSets ()
void ResetRendered (GRE::RENDERTARGET target=GRE::RENDERTARGET_LayerAll)

Detailed Description

Container for layer information retained for each view.


Constructor & Destructor Documentation

GRE::LAYERVIEW::LAYERVIEW ( GRE::LAYER layer,
GRE::VIEW view 
)

Construct with layer and view.

GRE::LAYERVIEW::LAYERVIEW ( GRE::LAYER layer,
GRE::VIEW view,
const TRANS2D_MAPGEN TransObjectToDevice,
INT32  DevSizeX,
INT32  DevSizeY 
)

Construct with layer, view and object/device transformation.

Typically for internal GRE use only.

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

Destructor.


Member Function Documentation

void GRE::LAYERVIEW::AttachSection ( GRE::LAYERSECTION *&  pLayerSection,
bool  NotifyView = true 
)

Attach rendered section.

Parameters:
pLayerSection Section to attach, will be returned as NULL
void GRE::LAYERVIEW::CheckRendered (  ) 

Check if existing renderings are still valid.

void GRE::LAYERVIEW::ClearLabelPlacement (  ) 

Clear label placement if any.

ERRVALUE GRE::LAYERVIEW::ComputeTrans (  ) 

Compute all transformations.

bool GRE::LAYERVIEW::DetachSection ( const LAYERSECTION pLayerSection  ) 

Detach specified layer section if exists.

Returns:
true if section was previously attached, false if not
Parameters:
pLayerSection Section to detach
ERRVALUE GRE::LAYERVIEW::DrawElementsToBuffer ( ELEMTYPE  ElemType,
const UNSIGNEDSET pElemSet,
GRE::RENDERTARGET  content,
GRE::DRAWFLAGS  drawflags 
)

Draw set of elements to specified rendering buffer.

ERRVALUE GRE::LAYERVIEW::DrawElementsToDevice ( ELEMTYPE  ElemType,
const UNSIGNEDSET pElemSet,
MGD::DEVICE pDevice,
GRE::DRAWFLAGS  drawflags 
)

Draw set of elements to specified rendering device.

ERRVALUE GRE::LAYERVIEW::DrawElementToBuffer ( ELEMTYPE  ElemType,
ELEMNUM  ElemNum,
GRE::RENDERTARGET  content,
GRE::DRAWFLAGS  drawflags 
)

Draw single element to specified rendering buffer.

ERRVALUE GRE::LAYERVIEW::DrawElementToDevice ( ELEMTYPE  ElemType,
ELEMNUM  ElemNum,
MGD::DEVICE pDevice,
GRE::DRAWFLAGS  drawflags 
)

Draw single element to specified rendering device.

ERRVALUE GRE::LAYERVIEW::DrawHighlightedToBuffer ( GRE::DRAWFLAGS  drawflags  ) 

Draw highlighted elements to corresponding rendering buffer.

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

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

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

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

const GRE::VIEWPOINT3D* GRE::LAYERVIEW::Get3dViewPoint (  )  const [inline]

Get 3D viewpoint.

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

Get 3D Z scaling.

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

Get design scale.

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.

UNSIGNEDSET* GRE::LAYERVIEW::GetElemDrawnSet ( ELEMTYPE  ElemType,
bool  UseHighlighted 
)

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'
const UNSIGNEDSET* GRE::LAYERVIEW::GetElemDrawnSet ( ELEMTYPE  ElemType,
bool  UseHighlighted 
) const

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'
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.

LAYERSECTION* GRE::LAYERVIEW::GetSection (  )  [inline]

Get LAYERSECTION pointer (non-const).

Returns:
Pointer to LAYERSECTION.
const LAYERSECTION* GRE::LAYERVIEW::GetSection (  )  const [inline]

Get LAYERSECTION pointer.

Returns:
Pointer to LAYERSECTION.
GRE::LAYER_SURFACE* GRE::LAYERVIEW::GetSurfaceLayer (  )  const [inline]

Get surface layer for 3D draping.

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

Get transformation from layer to device coordinates.

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

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

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

Get transformation from layer to view coordinates.

GRE::VIEW* GRE::LAYERVIEW::GetView (  )  const [inline]

Get associated GRE::VIEW.

bool GRE::LAYERVIEW::HasRendered ( RENDERTARGET  content = RENDERTARGET_LayerAll  )  const

Determined if has rendered specified content for all portions visible in view.

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

Determine if drawing in 3D.

bool GRE::LAYERVIEW::Is3dStereo (  )  const

Determine if drawing 3D in stereo.

bool GRE::LAYERVIEW::IsAttachedToView (  )  const

Determine if instance is attached to and owned by VIEW.

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

Determine if layer overlaps view device display area.

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

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

bool GRE::LAYERVIEW::OverlayBufferIfRendered ( GRE::RENDERTARGET  content,
MGD::DEVICE pDevTarget,
const LRECT2D pClipRect = 0 
) const

Overlay rendering buffer on device if it has been rendered.

Returns:
true if did overlay, false if not.
Parameters:
content Content type
pDevTarget Target device
pClipRect Optional clip rectangle
ERRVALUE GRE::LAYERVIEW::QueueJobRenderFull ( MITHREAD::QUEUE Queue  ) 

Queue job for rendering full view extent.

Parameters:
Queue Queue to place job in
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.


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

Generated on Sun Oct 7 21:34:38 2012 for TNTsdk 2012 by  doxygen 1.6.1